К содержанию
SerpJet Документация Войти
Разделы
  1. Документация
  2. API для интеграционных партнёров

External IDs, повторы, конфликты и ошибки

external_user_id, external_project_id и external_request_id делают создание идемпотентным: повтор возвращает уже созданный объект. Конфликты — 409 already_exists, ошибки данных — 400 validation_error.

Проверено
Содержание
  1. Внешние идентификаторы
  2. Повторы при сбоях сети
  3. Ошибки

Внешние идентификаторы

  • Повтор POST /users с тем же external_user_id вернёт того же пользователя ("created": false) и не начислит бонус повторно.
  • Повтор POST /projects с тем же external_project_id вернёт тот же проект.
  • Повтор POST /projects/{id}/manual-briefs с тем же external_request_id вернёт тот же бриф с текущим статусом.

Дополнительно можно передавать заголовок Idempotency-Key: <уникальный ключ запроса>.

Повторы при сбоях сети

Если ответ не получен, повторите тот же запрос с теми же внешними ID — дублей не будет. Не генерируйте новый external_request_id для повтора одного и того же заказа.

Ошибки

{"ok": false, "error": "validation_error", "detail": "…"}
HTTPerrorКогда
400validation_errorНекорректные данные, небезопасный redirect_path.
400invalid_referral_codeРеферальный код не найден или не может быть применён.
401invalid_partner_keyНеверный или отсутствующий X-Partner-Key.
403forbiddenОбъект не принадлежит партнёру.
404not_foundОбъект не найден.
409already_existsПочта занята несвязанным аккаунтом; внешний ID уже связан иначе; external_request_id принадлежит другому проекту.
429rate_limit_exceededСлишком много запросов.
500internal_errorВнутренняя ошибка — повторите позже.

Не нашли ответ? Напишите в поддержку из панели — укажите проект и что вы видите на экране.