Даёт сводку для главного экрана «Промокоды»: сколько кодов в каждом статусе, разбивка по поставщикам, последние завершённые поступления.
Зачем нужен метод
Даёт сводку для главного экрана «Промокоды»: сколько кодов в каждом статусе, разбивка по поставщикам, последние завершённые поступления. Нужен руководителю и оператору для контроля остатков и загрузки складов.
Когда использовать
Вызывайте при открытии раздела «Промокоды» или для виджетов мониторинга. Один запрос вместо нескольких list/summary.
Типовой сценарий
- Убедитесь, что пользователь выбрал проект в UI.
- Передайте
projectIdактивного проекта. - Отобразите
byStatus,bySupplier,recentIncoming.
Эндпоинт
POST /v1/internal/dashboard/overview
Аутентификация: JWT — заголовок Authorization: Bearer <token>. Пользователь должен иметь доступ к проекту и permission inventory_promo_codes.
Permission: inventory_promo_codes.view
Пример запроса
{
"meta": { "requestId": "optional-uuid" },
"data": { "projectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }
}
Пример ответа
{
"success": true,
"data": {
"projectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"totalCount": 211350,
"byStatus": {
"available": 125000,
"realized": 45000,
"redeemed": 38000,
"expired": 2100,
"revoked": 250
},
"bySupplier": [
{
"supplierId": "c219ef09-ae2f-4d08-af11-7cd51006fae4",
"supplierName": "Промомед",
"totalCount": 150000,
"availableCount": 90000
}
],
"recentIncoming": [
{
"incomingId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"supplierName": "Промомед",
"status": "completed",
"insertedAvailable": 1480,
"completedAt": "2026-07-13T09:20:00Z"
}
],
"asOf": "2026-07-13T12:00:00Z"
},
"meta": { "requestId": "…", "serverTime": "2026-07-13T12:00:01Z" }
}
Ошибки
UNAUTHORIZED/ACCESS_DENIED— нет доступаVALIDATION_ERROR— некорректное телоNOT_FOUND— сущность не найденаRATE_LIMIT_EXCEEDED(429) — превышен лимит
cURL
curl -X POST "https://api-external.promanta.ru/v1/internal/dashboard/overview" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_JWT" \
-d '{"data": { "projectId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890" }}'