Перейти к содержимому
API-документация
Справочник APIОперации

Статус операции

GET/api/partner/v1/operations/{id}
Scope
cards:read

Путь сверки: опрашивайте, если событие не пришло, или чтобы проверить состояние после перезапуска.

Значения status:

  • processing — в процессе, средства зарезервированы.
  • succeeded — готово, баланс списан.
  • failed — ничего не списано, резерв снят. Можно повторить.
  • needs_review — операция остановилась в состоянии, которое мы не разрешаем автоматически. Средства остаются зарезервированными, мы разбираемся. Не повторяйте: операция могла на самом деле пройти.

Параметры пути

ПараметрТипОбяз.Описание
idstring (uuid)даИдентификатор операции

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

TS=$(date +%s)
SIG=$(printf '%s\n%s\n%s\n%s' "$TS" "GET" "/api/partner/v1/operations/c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f" "" \
  | openssl dgst -sha256 -hmac "$PP_SECRET" -hex | awk '{print $NF}')

curl -sS -X GET "https://api.plativputi.com/api/partner/v1/operations/c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f" \
  -H "X-Key-Id: $PP_KEY_ID" \
  -H "X-Timestamp: $TS" \
  -H "X-Signature: $SIG"
const res = await pp("GET", "/operations/c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f");
res = pp("GET", "/operations/c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f")
$res = pp('GET', '/operations/c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f');

pp() — функция-обёртка с подписью из раздела Аутентификация и подпись.

Ответ

200 OK — OperationDTO

ПолеТипОбяз.Описание
card_idstringнетКарта, созданная или изменённая операцией; у выпуска появляется, когда карта создана
created_atstringдаКогда операция принята, UTC
error_codestringнетПочему операция не удалась. Все значения и что с ними делать — в разделе Ошибки.
hold_amountstring (decimal)даЗарезервировано на балансе, пока операция в процессе
idstringдаИдентификатор операции
kindstringдаissue | topup | close | cashout
net_amountstring (decimal)даЗачислено на карту (для закрытия — возвращено с неё)
refundRefundDTOнетТолько для закрытия: остаток карты, возвращённый вам
refund.amountstring (decimal)нетЗачислено на ваш баланс: residual − fee
refund.feestring (decimal)нетУдержано по close_refund_fee_pct тарифа
refund.residualstring (decimal)нетСколько было на карте при закрытии
refund.statusstringдаrefunded | zero (карта была пустой) | unknown (баланс прочитать не удалось; ничего не зачислено, урегулируем вручную)
settled_atstringнетКогда операция пришла в конечный статус, UTC
statusstringдаprocessing | succeeded | failed | needs_review

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

{
  "id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
  "kind": "issue",
  "status": "succeeded",
  "card_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
  "hold_amount": "57.0464",
  "net_amount": "50",
  "created_at": "2026-10-07T09:13:02Z",
  "settled_at": "2026-10-07T09:13:41Z"
}

Ошибки

HTTPКодКогда
404not_foundОперации нет или она принадлежит другому аккаунту.

Плюс общие ошибки подписи и лимитов — см. Ошибки.