Эта страница использует машинный перевод. При любых несоответствиях обращайтесь к английской документации.
Колбэки
Общая информация
- Представляет собой HTTP POST запрос в систему клиента на URL, настроенный в личном кабинете
- Данные в теле запроса и ответа доступны в формате JSON
- Запрос содержит заголовки:
Content-Type: application/jsonUser-Agent: информация о вызывающей системе
- Даты передаются в UTC в формате ISO 8601. Например:
2024-07-02T12:50:30Z
Требования к URL колбэка
- Использовать защищенный протокол HTTPS
- Использовать доменные имена, а не IP-адреса
Аутентификация
Аутентификация для колбэков выполняется путем отправки заголовков в запросе, аналогично заголовкам для авторизации API-запросов (см. раздел Авторизация).
Проверка колбэка
Чтобы избежать мошенничества, система клиента должна проверить указанные значения заголовков колбэка следующим образом:
- Разница между текущим временем сервера и значением заголовка
X-Processing-Timestampне превышает значение заголовкаX-Processing-RecvWindow - Значение заголовка
X-Processing-Keyсовпадает со значением активного публичного ключа доступа к API клиента - Значение заголовка
X-Processing-Signatureсовпадает с подписью данных запроса секретным ключом
Обработка колбэков
Успешный ответ
Если запрос колбэка успешен, система клиента должна ответить HTTP-кодом 200 OK.
Идемпотентность
Если после успешного ответа на запрос колбэка поступает аналогичный запрос снова, необходимо сгенерировать такой же ответ, как и для предыдущего.
Запросы считаются аналогичными, если они имеют идентичные значения следующих параметров в теле запроса:
type- Тип транзакцииid- Идентификатор транзакции в системе процессингаstatus- Статус транзакции
Уникальность транзакции
Чтобы определить, относятся ли несколько колбэков к одной транзакции или к разным, используйте комбинацию параметров type и id из корневого элемента в JSON колбэка. Эта комбинация уникальна для всех транзакций.
Политика повторных попыток
Коды без повтора
Колбэк не будет повторяться при получении ответа от системы клиента со следующими HTTP-кодами:
- 1xx
- 3xx
- 4xx
Коды с повтором
В случае ответа с HTTP-кодом 5xx, колбэк остается в очереди отправки и попытки отправки продолжаются согласно политике экспоненциальной задержки.
Формула расчета задержки:
60 секунд + {количество повторных попыток}^4
Максимальное количество повторных попыток: 10
Интервалы повторов
| Попытка | Интервал | Общее время |
|---|---|---|
| 1 | 61 сек | 61 сек |
| 2 | 76 сек | 137 сек |
| 3 | 141 сек | 278 сек |
| 4 | 361 сек | 594 сек |
| 5 | 685 сек | 1,279 сек |
| 6 | 1,356 сек | 2,635 сек |
| 7 | 2,461 сек | 5,096 сек |
| 8 | 4,156 сек | 9,252 сек |
| 9 | 6,621 сек | 15,873 сек |
| 10 | 10,060 сек | 25,933 сек (~7.2 часа) |