← Все инструменты
Наши заметки

Наблюдаем поток webhook UnifyPort через Pipedream RequestBin

webhook.site хорош для быстрой проверки «вообще что-нибудь пришло?». Когда же нужно смотреть, как трафик накапливается — череда обновлений статуса, поток авторизации длиной в минуты — Pipedream RequestBin подходит лучше.

Что он делает

RequestBin даёт вам устойчивый URL, который записывает каждый запрос в прокручиваемую историю — headers, raw body, query string, тайминги — и хранит их, чтобы можно было вернуться спустя часы. Кнопка replay повторно отправляет любой захваченный запрос — именно поэтому это больше, чем пассивный просмотрщик.

Когда к нему обращаться

  • Наблюдение за последовательностью. Одно сообщение может развернуться в message.received, а затем несколько message.status.updated. RequestBin раскладывает их по порядку, и вы видите, что вся цепочка действительно пришла.
  • Потоки авторизации длиной в минуты. QR и сопряжение порождают account.auth.required, account.auth.succeeded, затем account.started с интервалом от секунд до минут. Устойчивый bin поймает их все, не заставляя вас сидеть у терминала.
  • Повтор во время итераций. Захватите доставку один раз, затем повторяйте её в обработчик по мере изменения кода — быстрее, чем каждый раз вынуждать провайдера слать то же событие снова.

Изучаем доставку UnifyPort

Каждая доставка несёт стандартные подписывающие headers:

X-Device-Delivery-Id: d_01J2K…
X-Device-Timestamp: 1716800000
X-Device-Signature: 9f8c…

…и нормализованный конверт события — одинаковую форму у всех провайдеров, так что обработчик пишется под неё один раз:

{
  "type": "message.received",
  "data": {
    "conversation": { "title": "Acme support" },
    "attendees": ["+15551234567"]
  }
}

Когда к нему не обращаться

  • Продакшен или трафик с PII. URL RequestBin публичный и угадываемый — любой, у кого есть ссылка, прочитает каждый захваченный запрос. Только одноразовые тестовые события.
  • Проброс на localhost. RequestBin захватывает, но не пробрасывает на вашу машину. Для этого возьмите smee.io или ngrok.

Альтернативы, которые нам нравятся

  • webhook.site — быстрее для разовой проверки «что-нибудь приходит?».
  • smee.io — пробрасывает на localhost, а не просто захватывает.
  • ngrok — полноценный локальный туннель со встроенным инспектором на 127.0.0.1:4040.

Частые вопросы

Как долго Pipedream RequestBin хранит запросы?
Достаточно, чтобы наблюдать накопление трафика в рамках сессии — гораздо дольше, чем нужно для быстрой проверки. Точный срок зависит от вашего тарифа Pipedream, поэтому считайте захваченные запросы тестовыми данными, а не архивом.
Можно ли повторить захваченный запрос в мой локальный обработчик?
RequestBin повторяет на исходную цель. Чтобы доставки попали на localhost, пробросьте их через smee.io или туннель ngrok, а затем повторите там.
Чем это отличается от webhook.site?
Оба захватывают и показывают запросы. webhook.site быстрее для единичной проверки «дошло ли»; RequestBin лучше, когда нужна устойчивая прокручиваемая история множества доставок во времени.

Подключение к UnifyPort

Зарегистрируйте URL bin через POST /v1/webhook-endpoints с subscribed_events: ["*"], запустите несколько событий и смотрите, как они накапливаются. Оставьте signing_secret пустым, пока не будете готовы к проверке — затем подтвердите подпись в нашем разборе CyberChef или DevToys.