Запуск импорта промокодов из файла

Ставит задачу в очередь: парсинг файла по маске импорта, вставка кодов в склад, подсчёт дубликатов. Аналог кнопки «Импортировать» в UI. После завершения коды становятся available, площадкам уходит web

Ставит задачу в очередь: парсинг файла по маске импорта, вставка кодов в склад, подсчёт дубликатов.

Зачем нужен метод

Ставит задачу в очередь: парсинг файла по маске импорта, вставка кодов в склад, подсчёт дубликатов. Аналог кнопки «Импортировать» в UI. После завершения коды становятся available, площадкам уходит webhook.

Когда использовать

Только после успешной загрузки файла (status file_uploaded). Затем poll через incoming/get.

Эндпоинт

POST /v1/internal/promo-code-incoming/import

Аутентификация: JWT — заголовок Authorization: Bearer <token>. Пользователь должен иметь доступ к проекту и permission inventory_promo_codes.

Permission: inventory_promo_codes.import

Пример запроса

{
  "meta": { "requestId": "optional-uuid" },
  "data": { "projectId": "a1b2…", "incomingId": "f47ac10b-…" }
}

Пример ответа

{
  "success": true,
  "data": {
    "incomingId": "f47ac10b-…",
    "status": "queued",
    "importJobId": "job-uuid"
  }
}

Ошибки

  • UNAUTHORIZED / ACCESS_DENIED — нет доступа
  • VALIDATION_ERROR — некорректное тело
  • NOT_FOUND — сущность не найдена
  • RATE_LIMIT_EXCEEDED (429) — превышен лимит

cURL

curl -X POST "https://api-external.promanta.ru/v1/internal/promo-code-incoming/import" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_JWT" \
  -d '{"data": { "projectId": "a1b2…", "incomingId": "f47ac10b-…" }}'

См. также

Оцените статью — нам важна ваша обратная связь.

0 (0 оценок)