Робота з вебхуками та аналіз структури запитів
Вебхуки є стандартним механізмом передачі подій між серверами у режимі реального часу. Коли на платформі відправника відбувається подія, вона надсилає HTTP-запит на кінцеву точку отримувача. Для розробників API, інженерів з інтеграції та фахівців із підтримки користувачів критично важливо розуміти точну структуру цих запитів під час налагодження інтеграцій.
Інструмент Інспектор запитів Webhook дозволяє детально дослідити структуру отриманого запиту. Ви можете вставити метод, заголовки та тіло перехопленого вебхуку, щоб проаналізувати його формат, виявити специфічні заголовки авторизації та згенерувати команду cURL для локального тестування.
Параметри введення даних
Для аналізу запиту вебхуку необхідно заповнити такі поля у розділі Запит на вебхук:
- Метод (
Метод): Вибір HTTP-методу зі списку, що включає POST, PUT, PATCH, GET та DELETE. - Заголовки (
Заголовки): Список заголовків, де кожен заголовок вказується з нового рядка у форматіName: value. Діють такі обмеження:- Максимум 200 непорожніх рядків заголовків.
- Максимальна довжина блоку заголовків становить 100 000 символів.
- Тіло (
Тіло): Точне необроблене тіло запиту, яке було отримане сервером до будь-какого парсингу чи зміни кодування. Максимальний розмір обмежений 1 000 000 символів.
Результати аналізу та вихідні дані
Після обробки введених даних інструмент надає структуровану інформацію:
- Відформатований корпус (
Відформатований корпус): Якщо тіло запиту передано у форматі JSON або як URL-кодовані дані форми, інструмент автоматично вирівнює та форматує структуру для зручного читання. Якщо тіло порожнє, відображається текст(порожнє тіло). - Поля підпису (
Поля підпису): Список знайдених заголовків, які зазвичай використовуються для передачі криптографічних підписів або часових позначок (наприклад, заголовки, що містять у назвіsignature,hmac,digestабо часові мітки). Якщо таких заголовків не виявлено, відображається повідомленняне знайдено загального підпису чи заголовка позначки часу вебхуку.. - Локальний тест cURL (
Локальний тест cURL): Готова до копіювання команда cURL для командного рядка, яка націлена на локальну адресуhttp://localhost:3000/webhooks. Це дозволяє відтворити ідентичний запит на локальному сервері розробника.
Правила обробки та обмеження форматів
При роботі з інструментом слід враховувати технічні особливості парсингу:
- Форматування JSON: Тіло JSON аналізується за допомогою стандартного методу
JSON.parse. Через це оригінальне розташування пробілів, відступів та послідовність полів у об'єктах змінюються на стандартне представлення. - Інші типи даних: Тіла запитів, які не є JSON або URL-кодованими формами, відображаються як звичайний текст без додаткового структурування.
- Локальний cURL: Згенерована команда cURL завжди жорстко закодована на адресу
http://localhost:3000/webhooksі призначена виключно для локального відтворення запиту. - Аналіз підписів: Інструмент лише ідентифікує наявність заголовків підписів за текстовими шаблонами. Він не виконує обчислення HMAC, не перевіряє алгоритми шифрування, не звіряє секретні ключі та не аналізує вікна повтору запитів.
Помилки валідації даних
У разі некоректного введення даних інструмент виводить відповідні повідомлення про помилки:
| Сценарій помилки | Текст повідомлення в інтерфейсі |
|---|---|
| Спроба аналізу порожніх полів | Спочатку вставте принаймні один заголовок або тіло запиту. |
| Перевищення ліміту символів у заголовках | Заголовки задовгі для цього інструменту. Видаліть непов’язані або повторювані значення. |
| Перевищення ліміту символів у тілі | Корпус занадто довгий для цього інструменту. Нехай він не перевищує 1 000 000 символів. |
| Перевищення кількості рядків заголовків | Забагато рядків заголовка. Тримайте запит до 200 заголовків або менше. |
| Некоректний формат рядка заголовка | ‹line›: рядок заголовка недійсний. Використання імені: значення. |
| Помилка структури JSON | Тіло виглядає як JSON, але його не вдалося проаналізувати. |
| Помилка декодування форми | Тіло форми містить неповний відсоток екранування. |
Конфіденційність обробки даних
Ваш вставлений запит залишається у вашому браузері. BroBroGo не завантажує та не зберігає його. Усі операції з аналізу, форматування та генерації команди cURL виконуються локально на вашому пристрої.
Часті запитання (FAQ)
Чи може ця сторінка отримувати зворотний виклик вебхуку?
Ні. Вставте сюди отриманий запит для перевірки. Сторінка не створює загальнодоступну кінцеву точку, не отримує зворотних викликів і не надсилає згенерований тестовий запит.
Які формати тіла вебхука я можу перевірити?
Тіла форми, закодовані в JSON і URL-адресі, виявляються та форматуються. Інші тіла залишаються простим текстом, тому інструмент не вгадує XML, багатокомпонентний або двійковий вміст.
Чи підтверджує пошук поля підпису автентичність запиту?
Ні. Інструмент відображає лише підписи та відповідні заголовки позначок часу. Справжня перевірка потребує точних правил підпису відправника, секретного чи відкритого ключа та оригінальних байтів запиту. Наявність поля підпису не доводить автентичність запиту — для справжньої перевірки потрібні правила підпису відправника, секрет або ключ, а також вихідні байти запиту.