
Вебхуки в API FoodSoul: CRM сама сообщает вашим сервисам о новых событиях
Теперь FoodSoul сам отправляет уведомления вашим системам, когда в CRM что-то происходит. Например, пришёл новый заказ, клиент оплатил или вернул деньги, зарегистрировался новый гость. Достаточно один раз указать адрес своего сервиса, и данные будут сразу уходить в учётную систему, ваш бот, вторую CRM или аналитику.
О каких событиях можно получать уведомления
- Новый заказ с полной карточкой. Пригодится для учётной системы, кухни и аналитики.
- Смена статуса заказа. Подойдёт для бота, который сообщает клиенту о заказе, и для колл-центра.
- Смена статуса оплаты, включая возврат. Нужна бухгалтерии и финансовому учёту.
- Новый клиент и изменение его данных. Для внешней CRM и сервисов рассылок.
- Начисление, списание и сгорание бонусов. Для программы лояльности и коммуникаций с гостями.
- Новый отзыв. Для управляющего и службы качества.
- Назначение курьера. Для логистики и уведомлений клиенту.
- Изменение стоп-листа. Для сайта, кухни и площадок, на которых вы продаёте.
- Филиал остановил или возобновил приём заказов. Для операционного контроля и руководства сети.
Вы сами выбираете, какие события получать. Можно подключить только нужные, например “новый заказ” и “оплата”. Не нашли нужного события? Напишите нам — мы с радостью добавим его.
Как подключить
- Включите вебхуки для нужного филиала — ключ подписи создастся автоматически.
- Выберите события, о которых хотите получать уведомления.
- Укажите адрес вашего сервиса, на который FoodSoul будет отправлять данные. Подойдёт только адрес с HTTPS.
- Добавьте ключ подписи в сервис, который принимает уведомления, и настройте проверку подписи. Если при создании вебхуков вы указали разные адреса, добавьте ключ в каждый сервис.
- Убедитесь, что сервис подтверждает получение уведомления в течение 10 секунд, иначе FoodSoul отправит его повторно.
Настройте проверку на повторы: одно и то же уведомление может прийти несколько раз. У всех повторов одинаковый ID (заголовок X-Webhook-ID). Пусть ваш сервис запоминает ID обработанных уведомлений и пропускает повторы — так одна оплата не проведётся дважды.
Безопасность: зачем нужен ключ подписи
FoodSoul подписывает каждое уведомление с помощью ключа подписи — набора символов, который есть только у вас и у нас. По этой подписи ваша система проверяет, что уведомление пришло от FoodSoul и по дороге его никто не изменил.
Отправить запрос на адрес вашего сервиса может кто угодно. Например, мошенник пришлёт фальшивое уведомление “заказ оплачен”, и вы отдадите неоплаченный заказ.
С подписью такое не пройдёт. Ваш сервер вычисляет подпись тем же ключом и сравнивает её с полученной. Если подписи не совпали, значит уведомление поддельное или изменённое.
Если что-то пошло не так
- Если ваш сервис временно недоступен, FoodSoul ещё несколько раз попробует доставить уведомление в течение 10 часов. Короткий сбой или перезагрузка сервера не приведут к потере событий.
- Если проблема затянется, подписка отключится, а вам придёт письмо: так вы узнаете о проблеме.
- Чтобы снова включить подписку, напишите в техподдержку. Там же можно повторно отправить уведомления, которые не дошли за время сбоя.
Подробное описание событий и формата данных — в документации API.
С Уважением, команда FoodSoul! Мы работаем для Вас!