Как получать события заказов
Подключение обработчика и формат событий, которые Creamy отправляет при изменении заказа
Как подключить обработчик
- Откройте «Рабочее пространство» и выберите «Вебхуки»
- Включите вебхуки
- Укажите публичный HTTPS-адрес своего обработчика
- Выберите события для этого адреса
- Добавьте endpoint и скопируйте его секрет подписи
- Сохраните секрет только на сервере, который принимает вебхуки
Вебхуки доступны на тарифе «ПРО». Один endpoint может получать несколько типов событий
Что получит обработчик
Creamy отправляет POST с JSON-телом. Поле id идентифицирует событие, type содержит его тип, occurredAt — время изменения заказа, а data — данные события
`order.created`
`order.updated`
`order.status.changed`
`order.payment.created`
`order.deleted`
В order.status.changed поле data.status содержит новый статус заказа. order.payment.created отправляется один раз при создании подтверждённой оплаты или первом переходе ожидающей оплаты в подтверждённую; повторная синхронизация, редактирование, возврат и удаление оплаты не создают это событие. Вебхук не содержит клиента, получателя и состав заказа. Для событий создания, изменения, смены статуса и оплаты запросите актуальный заказ через GET /api/v1/orders/{id}, используя data.orderId. После order.deleted заказ через API уже недоступен
Как обработать запрос
- Проверьте подпись по исходному телу запроса и секрету endpoint
- Верните HTTP
200, когда запрос принят
Повторные попытки
Если endpoint не вернул ответ 2xx в течение 15 секунд, Creamy делает до 8 попыток доставки: сразу, затем через 5 секунд, 5 минут, 30 минут, 2 часа, 5 часов и ещё два раза с интервалом 10 часов. Каждый интервал отсчитывается после предыдущей неудачной попытки. Последняя попытка происходит примерно через 27 часов 35 минут после первой
После нескольких неудачных попыток Creamy предупредит владельца пространства по электронной почте. Для одного endpoint такое письмо отправляется не чаще одного раза в 24 часа. Если ошибки продолжаются несколько дней, endpoint будет приостановлен, а владелец получит отдельное письмо
История отправки
В настройках вебхуков отображаются последние 50 попыток доставки. Каждая повторная попытка показывается отдельно со статусом, HTTP-кодом и временем ответа endpoint
История доступна, пока endpoint существует. После его удаления связанные попытки больше не отображаются
Что произойдёт при выключении
Новые события перестанут отправляться. Добавленные endpoint-ы и выбранные события сохранятся