Обзор Callback API
Данный документ описывает единый HTTP callback endpoint, который наша система использует для обработки создания обменов и проверки статусов. Дифференциация выполняется через параметр action в теле запроса.
Важно: Все запросы должны содержать заголовок авторизации с вашим токеном доступа.
API Endpoint
Заголовки запроса
Content-Type: application/json
Authorization: Bearer <your_token>
Action: Create
Инициирует новый обмен криптовалюты.
Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
| action | string | "create" |
| payment_method | string | "card" / "sbp" / "sbp_trans" / "alpha_sbp" / "sim" / "qr_sbp" / "nspk" |
| cryptocurrency | string | "BTC" или "LTC" |
| amount_crypto | number | Количество криптовалюты для обмена |
| address | string | Крипто-адрес для отправки средств |
| clientHash | string | Уникальный хеш клиента для предотвращения мошенничества |
Пример запроса
{
"action": "create",
"payment_method": "card",
"cryptocurrency": "LTC",
"amount_crypto": 0.5,
"address": "LcHKj...",
"clientHash": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"
}
Успешный ответ
При успешном выполнении, тело ответа JSON содержит:
| Поле | Тип | Описание |
|---|---|---|
| invoice_id | string|number | Уникальный идентификатор обмена |
| amount_fiat | number | Сумма в фиатной валюте (RUB) к оплате |
| commission_percent | number | Процент комиссии |
| requisites | string | Реквизиты для оплаты (номер карты или телефона) |
| status | string | Текущий статус обмена |
| bank_name | string|null | Опционально: название банка для СБП |
| card_name | string|null | Опционально: имя держателя карты для СБП |
| bank_country | string|null | Опционально: страна банка для СБП |
Пример ответа
{
"status": "success",
"body": {
"invoice_id": "12345",
"amount_fiat": 5685,
"commission_percent": 26,
"requisites": "+788005553535",
"status": "created",
"bank_name": "Международный банк Таджикистана",
"card_name": "Иванов Иван Иванович",
"bank_country": "Таджикистан"
}
}
Ответ с ошибкой
{
"status": "error",
"error": "Description of the error"
}
Action: Check
Проверяет статус существующего обмена.
Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
| action | string | "check" |
| invoice_id | string | Идентификатор обмена для проверки |
Пример запроса
{
"action": "check",
"invoice_id": "12345"
}
Успешный ответ
| Поле | Тип | Описание |
|---|---|---|
| status | string | Текущий статус обмена |
| txid | string|null | Опционально: ID транзакции, если доступен |
Пример ответа
{
"status": "success",
"body": {
"status": "completed",
"txid": "67b19b16611d1bad96321680c6acad7a81c7309ffa02b3644e4d1c74b62ed542"
}
}
Ответ с ошибкой
{
"status": "error",
"error": "Description of the error"
}
Action: Info
Получает текущие курсы обмена и лимиты для каждой криптовалюты и метода оплаты.
Параметры запроса
{
"action": "info"
}
Успешный ответ
При успешном выполнении, тело ответа JSON содержит информацию о всех доступных методах оплаты:
{
"status": "success",
"body": {
"payment_methods": {
"card": {
"min_amount_fiat": 3000,
"max_amount_fiat": 200000,
"commission_percent": 25,
"coins": [
{
"cryptocurrency": "BTC",
"exchange_rate": 8801217.9618284
},
{
"cryptocurrency": "LTC",
"exchange_rate": 7802.4850877755
}
]
},
"sbp": {
"min_amount_fiat": 1000,
"max_amount_fiat": 100000,
"commission_percent": 25,
"coins": [
{
"cryptocurrency": "BTC",
"exchange_rate": 8801217.9618284
},
{
"cryptocurrency": "LTC",
"exchange_rate": 7802.4850877755
}
]
},
"sbp_trans": {
"min_amount_fiat": 2000,
"max_amount_fiat": 100000,
"commission_percent": 25,
"coins": [
{
"cryptocurrency": "BTC",
"exchange_rate": 8801217.9618284
},
{
"cryptocurrency": "LTC",
"exchange_rate": 7802.4850877755
}
]
}
}
}
}
Примечание: Курсы обмена обновляются в режиме реального времени и могут изменяться в зависимости от рыночных условий.
Action: Cancel
Отменяет статус обмена.
Параметры запроса
| Поле | Тип | Описание |
|---|---|---|
| action | string | "cancel" |
| invoice_id | string | Идентификатор обмена для отмены |
Пример запроса
{
"action": "cancel",
"invoice_id": "12345"
}
Успешный ответ
{
"status": "success",
"body": {}
}
Ответ с ошибкой
{
"status": "error",
"error": "Description of the error"
}
Определения статусов обмена
Поле status в теле ответа может иметь следующие значения:
| Статус | Описание |
|---|---|
| created | Запрос на обмен получен и ожидает обработки |
| processing | Запрос на обмен находится в процессе обработки |
| expired | Временное окно для завершения обмена истекло, запрос больше не действителен |
| cancelled | Запрос на обмен был отменен пользователем или системой до завершения |
| completed | Обмен успешно обработан, средства переведены |
Важно: Рекомендуется регулярно проверять статус обмена с помощью действия "check" для отслеживания прогресса транзакции.