Перейти к содержимому

API

На странице

Доставка и повторы

Учтите 11 попыток доставки вебхука примерно за 16 часов, отсекайте повторы, разбирайте ошибки и повторяйте событие после восстановления.

Если ваш адрес вернёт статус не из группы 2xx или превысит таймаут 10 секунд, Paymos повторяет доставку с удвоением задержки. Всего 11 попыток (1 начальная + 10 повторов) примерно за 16 часов.

Расписание повторов

Попытка Задержка после предыдущей Накопленная задержка
1 сразу 0
2 1 мин 1 мин
3 2 мин 3 мин
4 4 мин 7 мин
5 8 мин 15 мин
6 16 мин 31 мин
7 32 мин ~1 час
8 1 час ~2 часа
9 2 часа ~4 часа
10 4 часа ~8 часов
11 8 часов ~16 часов

После 11 попыток событие помечается как неудавшееся. Такие события можно отправить повторно из дашборда — повторная отправка обнуляет счётчик попыток и снова ставит событие в очередь на доставку.

Идемпотентность

Доставка идёт не реже одного раза. Одно и то же событие с тем же event_id может прийти несколько раз — при повторах это нормально. Обработчик должен быть идемпотентным: сохраняйте уже обработанные event_id, а на повторы отвечайте 200 OK, ничего не делая.

Что считается успешной доставкой

  • Ответ HTTP 2xx за 10 секунд → доставка успешна
  • HTTP 4xx или 5xx → ошибка, будет повтор
  • Отказ в соединении, ошибка DNS, ошибка TLS → ошибка, будет повтор
  • Ответ позже 10 секунд → ошибка, будет повтор (ваш обработчик может получить дубль)

Возвращайте 2xx, как только событие сохранено на вашей стороне. Тяжёлую обработку откладывайте в фоновую очередь, чтобы обработчик вебхука укладывался в таймаут.