Что делают вебхуки
Вебхук подписывается на конкретное событие магазина. Когда это событие происходит, Storeep немедленно отправляет данные события на указанный вами URL (тип API) или на указанный вами email-адрес (тип E-mail). Вебхуки часто используются для интеграций отслеживания заказов, синхронизации с CRM, конверсий рекламных платформ и автоматических уведомлений.
Чтобы управлять вебхуками, перейдите в Настройки → Вебхуки. Для просмотра или изменения вебхуков нужно разрешение settings.
Лимиты вебхуков
- Максимум 20 вебхуков на магазин. Попытка добавить 21-й возвращает ошибку "You have reached the maximum of 20 webhooks per store".
- В списке вебхуки показаны сначала новые, с разбивкой по 40 на страницу.
Создание вебхука
Нажмите Add new webhook, заполните поля ниже, затем нажмите Add.
Activate
Отмечено по умолчанию. Когда отмечено, вебхук активен в момент сохранения, и подходящие события отправляются. Снимите отметку, чтобы сохранить вебхук в отключенном состоянии, в котором он ничего не получает. Это можно переключить в любой момент, отредактировав вебхук.
Name
- Обязательно. Максимум 50 символов.
- Понятная метка, отображаемая в списке, например Facebook CAPI order created.
Type
- API: Storeep отправляет HTTP-запрос POST с данными события на ваш URL.
- E-mail: Storeep отправляет письмо с данными события на ваш адрес.
Event
Событие магазина, которое запускает вебхук. Существует три события:
- Session created: в вашем магазине создается новая сессия посетителя.
- Order created: размещен новый заказ.
- Order updated: статус или данные существующего заказа изменились.
Важно: тип E-mail доставляет только Order created и Order updated. Если выбрать E-mail с Session created, вебхук сохранится, но ничего не будет отправлять. Используйте тип API, если вам нужно событие сессии.
Format
Только один вариант, Json: данные отправляются как документ JSON.
URL (только для типа API)
- Обязательно, когда тип API. Максимум 500 символов.
- Поле уже показывает префикс
https://, поэтому вводите только хост и путь, напримерapi.example.com/events/order. Если вы вставите полный адрес сhttps://илиhttp://, префикс будет удален перед сохранением. - Динамические плейсхолдеры: вставляйте любое поле из данных события в URL с помощью синтаксиса двойных фигурных скобок
{{field_name}}. Пример:example.com/postback?cid={{fbclid}}&payout={{order_total}}. Значения кодируются для URL, а плейсхолдер с отсутствующим полем превращается в пустое значение. Это позволяет отправлять данные о конверсиях прямо на рекламную платформу без прокси. - Адрес проверяется после удаления плейсхолдеров, поэтому неверный URL возвращает "The url you have entered is incorrect".
Email-адрес (только для типа E-mail)
- Обязательно, когда тип E-mail. Должен быть корректным адресом, максимум 127 символов.
Редактирование вебхука
Нажмите на любую строку, чтобы открыть редактор. Каждое поле можно изменить. Поле URL заполняется заранее, только если сохраненный тип, API, а поле email заполняется заранее, только если сохраненный тип, E-mail. Нажмите Save, чтобы применить. Сохранение со снятой отметкой Activate отключает вебхук без его удаления.
Столбцы списка вебхуков
- Name: метка с датой создания.
- URL / E-mail: назначение.
- Type: API или E-mail.
- Event: Session created, Order created или Order updated.
- Format: Json.
- Status: Activated или Deactivated.
Удаление вебхука
Выберите одну или несколько строк и нажмите Delete webhooks. Удаление безвозвратно и останавливает все будущие доставки для этой подписки.
Доставка, повторные попытки и письма о сбоях
Этот раздел относится к вебхукам типа API. Вебхуки типа E-mail отправляются по принципу "отправил и забыл": они посылаются один раз без повторных попыток и без отслеживания сбоев.
Поведение повторных попыток
- У каждого запроса таймаут 5 секунд. Если цель возвращает ошибку 5xx, 429 (превышен лимит запросов) или недоступна (ошибка соединения), доставка считается временным сбоем и повторяется.
- После первого неудачного запроса Storeep повторяет с экспоненциальной задержкой до 5 раз: примерно через 30 с, 60 с, 120 с, 240 с, затем 480 с. После последней попытки событие отбрасывается.
- Ответ 4xx, кроме 429 (например, 404 или 403), считается постоянным сбоем. Storeep не повторяет его, потому что неверная или отклоняющая конечная точка сама себя не исправит.
- Если у вас несколько вебхуков на одно событие, повторная попытка пересылает только тем, у кого произошел сбой. Конечные точки, уже вернувшие успех, пропускаются, поэтому вы не получите дублирующих доставок.
Письмо-уведомление о сбое
- Storeep считает подряд идущие неудачные доставки по каждому вебхуку. После 5 сбоев подряд владелец магазина получает одно письмо с темой "Action needed: your Storeep webhook is failing", на языке владельца, с указанием имени вебхука, назначения, события и последнего кода статуса HTTP.
- Вы получаете ровно одно письмо за серию сбоев. Дальнейшие письма не отправляются, пока этот вебхук не восстановится.
- Как только доставка снова проходит успешно, счетчик сбоев обнуляется и уведомление перевзводится, поэтому будущая серия сбоев снова сможет вам написать.
Советы и подводные камни
- Можно создать несколько вебхуков на одно событие, например отправлять Order created и в CRM, и на рекламную платформу как две отдельные записи.
- Если вашей конечной точке нужна аутентификация, поместите токен в строку запроса URL, жестко прописав его или через
{{placeholder}}из данных события, либо поставьте перед ней прокси, который добавит авторизацию перед пересылкой. - Session created срабатывает для каждой уникальной сессии посетителя и может быть очень частым на загруженных магазинах. Подписывайтесь на него, только если ваша конечная точка справится с нагрузкой, и помните, что оно работает только с типом API.