/v1/batch/info — единственный способ узнать, что с ними стало.
URL: https://api.oblodai.com/v1/batch/info · Аутентификация: обязательна.
Примеры используют хелпер
call() и переменные $SECRET/$PUBLIC_ID — их определение см. в
Как подписать запрос. Проще не писать подпись руками, а взять
SDK.Параметры запроса
string
обязательно
Идентификатор батча из ответа на submit.
int64
Сколько элементов вернуть в
items (пагинация).int64
Смещение по элементам.
total / succeeded / failed считаются по всему батчу и от пагинации не зависят —
для отслеживания прогресса достаточно их, items можно не выбирать целиком.
Пример запроса
Пример ответа
Поля ответа
string
Идентификатор батча.
string
Вид батча:
payment | refund | payout.string
Статус батча:
pending | processing | completed.string
Режим обработки ошибок, с которым батч был отправлен:
continue | stop.int64
Всего элементов в батче.
int64
Успешно обработано.
int64
Завершилось ошибкой.
string
Время приёма батча (ISO 8601).
string
Время последнего изменения (ISO 8601).
array
Страница элементов (см. ниже).
Элемент items[]
int64
Порядковый номер элемента в исходном массиве (с нуля).
string
Статус элемента:
pending | processing | done | error.string
order_id элемента, если вы его задавали. Присутствует не всегда.object
string
Человекочитаемое сообщение об ошибке (напр.
"unsupported network for this currency"), а не код вида payment.*. Только при status: "error".result и error — взаимоисключающие: у успешного элемента есть result, у неудачного — error.
Отсутствующее поле просто не приходит.
error — это message, а не code. В отличие от общего конверта ошибки, у
элемента батча машиночитаемого кода нет. Для логики ветвитесь по status (done / error), а
текст используйте для логов и диагностики.Статусы
Батч:pending (принят, воркер ещё не начал) → processing (элементы обрабатываются) →
completed (обработка закончена).
completed означает «обработка закончена», а НЕ «всё успешно». Батч с ошибками тоже приходит в
completed. Смотрите на succeeded и failed.pending → processing → done | error.
При on_error: "stop" после первой ошибки остальные элементы батча обрабатываться не будут: они
получают status: "error" с сообщением "skipped: batch stopped after an earlier failure" и
считаются в failed. Отличить их от настоящих ошибок можно по этому тексту.
Коды ошибок
Нюансы
- Поллите разумно. Опрашивайте раз в несколько секунд с backoff, а не в тугом цикле:
/batch/infoтоже считается в лимит частоты. Смысла в опросе чаще, чем идёт обработка, нет. - Про оплату счетов
/batch/infoничего не знает. Он показывает только, создались ли объекты. О том, что счёт оплачен, вам сообщит вебхук. - Частичный успех — норма. При
on_error: "continue"смотрите наsucceeded/failedи разбирайтеitems[].error, а не «прошёл / не прошёл весь батч».