SEOньоритаДокументация API
API v1Задания и пагинация
Public API v1

Задания и пагинация

Долгие операции возвращают 202. Клиент опрашивает статус с backoff и отдельно читает cursor-paginated результат.

Жизненный цикл

PREPARINGQUEUEDRUNNINGCOMPLETED

Возможны также CANCEL_REQUESTED, CANCELLED, PARTIALLY_COMPLETED, FAILED и ACTION_REQUIRED. Поле stage уточняет текущий этап, но terminal определяется по status.

Polling

Запрос статусаbash
curl "https://api.seonorita.ru/api/v1/projects/<projectId>/jobs/<jobId>" \
  -H "Authorization: Bearer $SEO_API_TOKEN"
  • Используйте интервалы 1, 2, 4, затем 5–10 секунд.
  • Учитывайте Retry-After и retryAt, если они присутствуют.
  • Не запускайте новую команду только потому, что ответ задержался.

Cursor-pagination

Следующая страницаhttp
GET /projects/<projectId>/jobs/<jobId>/result?limit=200
GET /projects/<projectId>/jobs/<jobId>/result?limit=200&cursor=<nextCursor>

Cursor непрозрачный: не декодируйте и не изменяйте его. Завершайте чтение, когда page.hasNext=false. Не смешивайте cursors разных заданий или фильтров.

Отмена и retry

Cancel cooperative: уже оплаченный запрос провайдера может завершиться и сохраниться. Повторяйте только неуспешные элементы через специальный retry endpoint, если он существует для операции.