Справочник APIОперации
Статус операции
GET
/api/partner/v1/operations/{id}- Scope
cards:read
Путь сверки: опрашивайте, если событие не пришло, или чтобы проверить состояние после перезапуска.
Значения status:
processing— в процессе, средства зарезервированы.succeeded— готово, баланс списан.failed— ничего не списано, резерв снят. Можно повторить.needs_review— операция остановилась в состоянии, которое мы не разрешаем автоматически. Средства остаются зарезервированными, мы разбираемся. Не повторяйте: операция могла на самом деле пройти.
Параметры пути
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id | string (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_id | string | нет | Карта, созданная или изменённая операцией; у выпуска появляется, когда карта создана |
created_at | string | да | Когда операция принята, UTC |
error_code | string | нет | Почему операция не удалась. Все значения и что с ними делать — в разделе Ошибки. |
hold_amount | string (decimal) | да | Зарезервировано на балансе, пока операция в процессе |
id | string | да | Идентификатор операции |
kind | string | да | issue | topup | close | cashout |
net_amount | string (decimal) | да | Зачислено на карту (для закрытия — возвращено с неё) |
refund | RefundDTO | нет | Только для закрытия: остаток карты, возвращённый вам |
refund.amount | string (decimal) | нет | Зачислено на ваш баланс: residual − fee |
refund.fee | string (decimal) | нет | Удержано по close_refund_fee_pct тарифа |
refund.residual | string (decimal) | нет | Сколько было на карте при закрытии |
refund.status | string | да | refunded | zero (карта была пустой) | unknown (баланс прочитать не удалось; ничего не зачислено, урегулируем вручную) |
settled_at | string | нет | Когда операция пришла в конечный статус, UTC |
status | string | да | 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 | Код | Когда |
|---|---|---|
| 404 | not_found | Операции нет или она принадлежит другому аккаунту. |
Плюс общие ошибки подписи и лимитов — см. Ошибки.