Skip to main content
Статус батча и результат по каждому его элементу. Это метод поллинга: батчи (платежей, возвратов, выплат) обрабатываются асинхронно, и /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
Результат успешной операции — тот же объект, что вернул бы одиночный вызов (платежа, возврата, выплаты). Только при status: "done".
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.
Элемент: pendingprocessingdone | 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, а не «прошёл / не прошёл весь батч».

Связанные страницы

POST /v1/payment/batch

POST /v1/refund/batch

POST /v1/payout/batch

Ограничение частоты

Справочник кодов ошибок