К содержанию
Arbitpay Docs

Введение

REST API платформы Arbitpay для работы со сделками и справочником банков.

Этот раздел задаёт общие правила работы с API. Начните с него, если нужно понять аутентификацию, структуру запросов и формат ответов.

Базовый URL

https://arbitpay.online/api

Структура пути запроса всегда одинакова:

/api/{resource}/{action}
  • resource — раздел API (banks, client, deals);
  • action — действие внутри раздела (list, balance, get, create, update).

Аутентификация

Все запросы требуют заголовок Authorization с Bearer-токеном:

Authorization: Bearer <API_KEY>

Ключ выдаётся клиенту (мерчанту) на стороне платформы. По ключу определяется клиент, от имени которого выполняются все запросы — его сделки, баланс и маржа.

РазделДоступ
banksлюбой валидный ключ
clientтолько клиент (по своему api_key)
dealsтолько клиент; сделки видны и изменяются только их владельцем

Ошибки аутентификации:

codeПричина
AUTH_HEADER_NOT_FOUNDОтсутствует заголовок Authorization
API_KEY_NOT_FOUNDВ заголовке нет токена
INVALID_API_KEYТокен не найден среди валидных ключей
ACCESS_DENIEDНедостаточно прав или чужой ресурс

Формат запроса

  • GET — параметры передаются в строке запроса (?uuid=...).
  • POST — запрос передаёт JSON-тело (Content-Type: application/json).

Если JSON-тело невалидно, вернётся ошибка INVALID_JSON.

Формат сумм

Денежные суммы (amount) передаются числом с точкой в качестве десятичного разделителя и без разделителя тысяч:

39772.64   ✅
39.772,64  ❌
39,772.64  ❌

Хранение — decimal(15,2) (2 знака после запятой).

Формат ответа

Ответ всегда возвращается в JSON. В каждый ответ добавляется поле request_id — идентификатор запроса, удобно указывать при обращении в поддержку.

Успех:

json
{
  "status": "success",
  "code": "SUCCESS",
  "data": {},
  "message": "Human-readable message.",
  "request_id": "8f14e45f-cea1-4a2c-9b7a-1d2e3f4a5b6c"
}

Ошибка:

json
{
  "status": "error",
  "code": "ERROR_CODE",
  "message": "Human-readable message.",
  "request_id": "8f14e45f-cea1-4a2c-9b7a-1d2e3f4a5b6c"
}

Поле status (success / error) и request_id есть всегда. Поля code, data, message присутствуют в зависимости от эндпоинта.

Отладка

Если добавить к запросу параметр ?debug, в ответ вернётся блок debug с информацией о запросе: версия API, заголовки, сырое тело, IP, request_id и другие поля.

Быстрый пример

bash
curl --request GET \
  --url "https://arbitpay.online/api/banks/list" \
  --header "Authorization: Bearer <API_KEY>"
© Arbitpay. Документация REST API.