Перейти к содержимому

Сводка по клиентам

POST
/v1/customer-general-report-excel
curl --request POST \
--url 'https://api-admin.billz.ai/v1/customer-general-report-excel?Billz-Response-Channel=HTTP' \
--header 'Authorization: Bearer <token>' \
--header 'Billz-Response-Channel: HTTP' \
--header 'Content-Type: application/json' \
--header 'platform-id: 7d4a4c38-dd84-4902-b744-0488b80a4c01' \
--data '{ "shop_ids": [ "2339a738-a67f-48d2-bb60-8cf4ec54d6cd" ], "start_date": "2026-08-01", "end_date": "2026-08-31", "currency": "UZS", "price_type": 1, "fields": [ "customer_name", "customer_phones", "total_purchase_sum", "total_sale_count" ] }'

Асинхронный метод. Файл собирается в фоне. Заголовок Billz-Response-Channel: HTTP обязателен: только с ним в ответ придёт ссылка на готовый файл, ожидание — до 100 секунд. Без заголовка ответ будет 200 {"message": "<correlation_id>"}, и забрать файл через API уже нельзя: ссылка уйдёт уведомлением в интерфейс BILLZ.

Покупки, возвраты и средний чек по каждому клиенту — за всё время и за выбранный период.

Коды ошибок: 400 — ошибка валидации входных данных; 404 — объект не найден; 408 — таймаут ожидания асинхронного ответа; 401, 403, 429, 500 — общие для всех методов. Форматы тела и семантика — Коды ответов и ошибки.

platform-id
string
default: 7d4a4c38-dd84-4902-b744-0488b80a4c01

Идентификатор платформы. Для интеграций используется статичное значение.

Billz-Response-Channel
string
Allowed values: HTTP

HTTP — дождаться результата обработки события и вернуть его в HTTP-ответе. Без заголовка метод вернёт только correlation_id опубликованного события.

Billz-Response-Channel
string
Allowed values: HTTP

То же, что заголовок Billz-Response-Channel, — для клиентов, которые не могут передать свой заголовок. Если переданы оба, действует заголовок.

Media typeapplication/json
object
start_date

Начало периода, YYYY-MM-DD

string
end_date

Конец периода, YYYY-MM-DD

string
shop_ids

Магазины отчёта; пересекается со списком магазинов, доступных токену

Array<string>
currency

Валюта, в которой показать суммы

string
price_type

Тип цены: 0 — все, 1 — розничные, 2 — свободные, 3 — оптовые

integer format: int32
Allowed values: 0 1 2 3
fields

Колонки файла в порядке следования. Без fields в файле не будет колонок с данными; список значений — Экспорт отчётов в Excel

Array<string>
Example
{
"shop_ids": [
"2339a738-a67f-48d2-bb60-8cf4ec54d6cd"
],
"start_date": "2026-08-01",
"end_date": "2026-08-31",
"currency": "UZS",
"price_type": 1,
"fields": [
"customer_name",
"customer_phones",
"total_purchase_sum",
"total_sale_count"
]
}

Успех. С заголовком Billz-Response-Channel: HTTP — конверт асинхронного ответа со ссылкой на файл, без него — {"message": "<correlation_id>"}.

Media typeapplication/json
One of:

Конверт асинхронного ответа. Возвращается, когда передан заголовок Billz-Response-Channel: HTTP. Итоговый HTTP-код запроса берётся из поля status_code.

object
session_id

Идентификатор сессии клиента

string format: uuid
status_code

Статус обработки события (он же итоговый HTTP-код ответа)

integer
error
object
code

Код ошибки, пустая строка если ошибки нет

string
message

Текст ошибки, пустая строка если ошибки нет

string
correlation_id

Идентификатор запроса, совпадает с ID опубликованного события

string format: uuid
topic

Тип ответного события, например <event_type>.success

string
data

Результат операции, если метод его возвращает

object
Examplegenerated
{
"session_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"status_code": 1,
"error": {
"code": "example",
"message": "example"
},
"correlation_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"topic": "example",
"data": {}
}