Проверка доставки вебхуков
Проверьте, какой endpoint должен получить событие
Откройте Settings → Integrations → Webhooks. Убедитесь, что endpoint включён и подписан на нужное событие. Разрешение на вебхуки охватывает endpoints, секреты и журналы доставки всего аккаунта; одного доступа к CRM недостаточно.
Для SMS проверьте выбранные идентификаторы отправителя. All Sender IDs включает все SMS-события, на которые подписан аккаунт; выбранный список сопоставляется с исходным отправителем сообщения. Другие типы событий не затрагиваются.
Изменение фильтра не повторяет историю
Выбор отправителей проверяется при каждой попытке, включая повторные. Изменение не воспроизводит старые события и не перенаправляет уже поставленные в очередь доставки.
Изучите попытку доставки
Журнал показывает время, статус, событие, endpoint, HTTP-ответ и ошибку. Найдите событие и endpoint нужной попытки и сравните с журналами получателя.
Подходящей попытки нет
Проверьте подписки, состояние endpoint и SMS-фильтры отправителей, прежде чем разбирать код получателя.
Неудачная попытка
HTTP-ответ или сетевая ошибка помогут определить, какой принимающий слой отклонил или не получил запрос.
Успешное подтверждение
Обработку в приложении проверяйте отдельно. HTTP-подтверждение не доказывает завершение всех последующих действий.
Если межсетевой экран ограничивает входящие запросы, используйте актуальный список IP доставки из настроек аккаунта. Проверяйте подпись даже при наличии списка разрешённых IP.
Сначала проверьте проверку подписи
IllyVoIP отправляет JSON POST-запросы с заголовком Illyvoip-Signature. Проверяйте его по секрету вебхука и исходному необработанному телу запроса до обработки события.
Подписываемая строка состоит из временной метки, точки и исходного тела. Разбор и повторное кодирование JSON перед проверкой могут изменить её. Точная процедура HMAC SHA-256 приведена в актуальной справке.
Секрет подписи вебхука отличается от клиентского API-ключа. После ротации обновите получатель по обычной процедуре смены учётных данных. Не раскрывайте ни один секрет в материалах для поддержки.
Разберитесь с HTTP-ответом
Любой 2xx
Подтверждает доставку. Достаточно пустого ответа 200.
Сетевая ошибка, отсутствие ответа, 408, 429 или 5xx
Допускает повторную попытку по документированной политике.
3xx или другие 4xx
Останавливает доставку. Проверьте перенаправления, правила доступа и валидацию получателя, а не ждите автоматического повтора.
Быстро подтверждайте корректные события, а долгие операции ставьте в отдельную очередь. Получатель должен безопасно обрабатывать повторное получение одного события.
Используйте ID события для защиты от дублей
Сохраняйте поле id тела как стабильный ключ дедупликации. Заголовок Illyvoip-Delivery обозначает задание доставки и не заменяет ID события.
Для сопоставления SMS следуйте актуальной документации ответов отправки и вебхуков. Идентификаторы заданий доставки и сообщений имеют разное назначение.
Для поддержки укажите ID события, время попытки с часовым поясом, код ответа и ошибку получателя без конфиденциальных данных. Не раскрывайте секреты подписи, API-ключи и содержимое посторонних событий.
Создание, изменение и вывод endpoint из использования
В Integrations → Webhooks выберите Add webhook, введите принимающий HTTPS-адрес и выберите только нужные события. При необходимости проверьте SMS-фильтры и сохраните. Надёжно сохраните показанный секрет подписи; это не API-ключ аккаунта.
Через Edit у нужного endpoint меняйте название, подписки, фильтры и включение. URL доступен только для чтения: создайте новый endpoint для другого адреса, настройте его секрет у получателя и выведите старый из использования, когда всё готово. Перед тестом проверьте сохранённую строку. Дубли endpoints могут отправлять отдельные уведомления одному получателю. Перед удалением устаревшего endpoint выясните, какое приложение его использует; удаление не отменяет уже обработанные события.
Согласуйте смену секрета подписи
Ротируйте секрет только при готовности обновить принимающее приложение. Прочтите подтверждение, безопасно сохраните новый секрет и обновите получатель до следующих ожидаемых доставок. Не считайте, что старый секрет действует бессрочно или что ротация повторяет исторические события. Журнал доставки — окно недавней диагностики, а не полный архив; ведите собственные защищённые записи событий и обработки.