Получение SMS через вебхуки

Публичный HTTPS-адрес, секрет, проверка подписи и обработка повторов.

В этом руководстве
  1. Добавление адреса
  2. Проверка исходного тела
  3. Повторы и управление

Посмотрите, как это работает

Пошаговый пример · вымышленные данные

Шаг 1 из 5

Создайте публичный HTTPS endpoint

Добавьте вебхук с публичным HTTPS URL. Localhost, приватные адреса, логин в URL, фрагменты и перенаправления не допускаются.

Этот пример не изменяет ваш аккаунт.

Прочитать все шаги
  1. Создайте публичный HTTPS endpoint

    Добавьте вебхук с публичным HTTPS URL. Localhost, приватные адреса, логин в URL, фрагменты и перенаправления не допускаются.

    Название
    Demo SMS receiver
    Endpoint
    https://example.com/sms-webhook
  2. Сохраните одноразово показанный секрет

    Скопируйте показанный секрет в защищённые настройки сервера. Позже он не показывается; не отправляйте его в обращения или публичный код.

    Секрет подписи
    ••••••••
  3. Проверьте подпись исходного тела

    Проверьте HMAC-SHA256 исходного тела секретом и сравните x-smsred-signature. Для удаления дублей используйте постоянный x-smsred-event-id.

    Заголовок подписи
    x-smsred-signature: sha256=<hex>
    Идентификатор события
    x-smsred-event-id: DEMO-EVENT-42
    Проверить
    HMAC-SHA256(secret, rawBody)
  4. Подтвердите и обработайте повторы

    После безопасного принятия быстро верните 2xx. Неудачная доставка повторяется до 8 раз с тем же событием; обрабатывайте его один раз. Перед доставкой владение проверяется снова.

    Первая доставка
    DEMO-EVENT-42 → 2xx
    Повторная доставка
    Тот же ID → без повторного действия
  5. Управляйте вебхуком

    Изменяйте название или описание, временно отключайте либо удаляйте вебхук. При изменениях сохраняйте обработку дублей и секретов на сервере.

    Вебхук
    Demo SMS receiver
    Статус
    Отключён

Добавление адреса

В Разработчике откройте Вебхуки и добавление. Укажите название, публичный HTTPS URL и описание. Localhost, частные адреса, данные входа в URL и редиректы не подходят. Конечный адрес должен отвечать напрямую.

После создания сохраните показанный секрет. Копирование очищает показ; не рассчитывайте прочитать позднее. Храните отдельно от ключей API и публичного кода.

Проверка исходного тела

События приходят JSON POST. Вычислите HMAC-SHA256 секретом по точному исходному телу и сравните с x-smsred-signature формата sha256=HEX_DIGEST. Не пересобирайте JSON до проверки: пробелы меняют подпись. Используйте сравнение за постоянное время.

x-smsred-event-id — стабильный идентификатор. Проверьте подпись, исключите дубли, надёжно сохраните/поставьте работу в очередь и быстро ответьте 2xx. Поля тела сверяйте с актуальным контрактом.

Повторы и управление

Не-2xx и таймаут могут повторяться до восьми попыток с задержкой. Обработчик должен выдерживать дубли. Редирект не считается успешным ответом адреса.

Таблица позволяет править название/описание, выключать и удалять. Выключение приостанавливает доставку, удаление убирает адрес. Важен текущий владелец, включая передачу. Проверяйте HTTPS, подпись и свои логи: полного просмотра доставки в панели не предполагается.

Нужна помощь с аккаунтом?

Открыть поддержку
SMS.Red

Откройте для себя доступ к тысячи сервисов, начав пользоваться нашими номерами для СМС-активаций уже сегодня