Skip to content

🔔 Вебхуки

Система поддерживает автоматическую доставку информации о событиях через обратный запрос (Webhooks / Callbacks).

URL для обратного запроса может быть настроен отдельно для Buy и Sell ордеров в личном кабинете клиента (при наличии прав) или через администратора.

По умолчанию при создании нового терминала URL для обратного запроса не настроен. В этом случае коллбэки отправляться не будут.

Также URL можно указать для конкретного ордера - параметр webhook_url при создании ордера. В этом случае вебхук по ордеру отправляется на него, а не на URL, настроенные на терминале.


После изменения статуса или суммы ордера, сервер отправляет POST запрос на указанный в системе URL.

В ответ на отправку вебхука сервер ожидает код 200 в качестве подтверждения получения информации (таймаут ожидания ответа - 30 секунд). При других кодах ответа, система будет повторять попытки доставки с интервалами:

  • 15 секунд
  • 1 минута
  • 5 минут
  • 15 минут
  • 1 час

после чего прекратит пытаться доставить информацию. Всего выполняется 6 попыток доставки: первая сразу и 5 повторных.

Типы вебхуков

  • Buy Order Webhook - уведомления об изменениях в ордерах типа Buy
  • Sell Order Webhook - уведомления об изменениях в ордерах типа Sell

Настройка вебхуков

  • Можно настроить отдельные адреса для каждого типа вебхука
  • Можно использовать один адрес для всех вебхуков
  • Если адреса не указаны, вебхуки не будут отправляться

Заголовки вебхука

  • X-API-Key: тот же ключ API, что используется для запросов (Аутентификация). Не отправляется, если для терминала включена опция скрытия API ключа
  • X-Request-Id: уникальный идентификатор запроса

Формат данных вебхука

json
{
	"request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
	"webhook_type": "buy_update",
	"datetime": "2024-08-02T15:34:07.440105",
	"payload": {
		"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
		"client_order_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
		"currency": "RUB",
		"method_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
		"initial_method_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
		"method_name": "Сбербанк",
		"method_type": "BankCard",
		"order_side": "Buy",
		"amount": "1000.00000",
		"fee": "10.0",
		"fixed_fee": null,
		"status": "Completed",
		"holder_name": "Петр Петрович Петров",
		"holder_account": "4627100000000001",
		"customer_name": "Петр Петрович Петров",
		"customer_account": null,
		"customer_bank": null,
		"payment_link": null,
		"webhook_url": null,
		"created_at": "2024-08-02T13:47:05.540582Z",
		"updated_at": "2024-08-02T15:19:27.545438Z",
		"expires_at": "2024-08-02T14:02:05Z"
	}
}