- Test URL працює під час ручного listening; production URL — після activation workflow.
- Перевіряйте signature на raw body, якщо provider використовує HMAC.
- Швидко повертайте acknowledgement, а довгу роботу виконуйте асинхронно.
Test URL і production URL
Test URL потрібен для розробки й слухає один test execution. Production URL стабільний та працює після activation. Не підключайте зовнішній provider до test URL: після закриття editor events почнуть губитися.
WEBHOOK_URL має відповідати публічному HTTPS domain. За reverse proxy передавайте правильний protocol і host, інакше n8n покаже внутрішню адресу.
Authentication і signature
- Використовуйте supported authentication або перевіряйте secret header.
- Для HMAC зберігайте raw body до JSON transformation.
- Порівнюйте signature constant-time способом у custom code/backend.
- Перевіряйте timestamp, щоб обмежити replay window.
- Не повертайте stack trace, credentials чи provider secret.
Idempotency і повторні доставки
Provider може повторити event після timeout або 5xx. Збережіть event_id у database чи data store перед незворотною дією. Якщо ID вже оброблено, поверніть success без повторного платежу, листа або CRM record.
Якщо provider не дає event_id, сформуйте key з business identifier і version. Timestamp сам по собі недостатній.
Коли відповідати webhook
Для короткого flow можна відповісти після завершення. Для AI, document processing або кількох API calls безпечніше перевірити запит, записати job і швидко повернути 202 або provider-compatible acknowledgement.
Встановіть timeout на зовнішні calls. Error path має відрізняти retryable failure від permanent validation error.
10 стартових n8n workflow
Імпортуйте JSON, замініть blueprint nodes на власні інтеграції та додайте production-контроль.
Чому n8n test webhook не працює постійно?
Test URL слухає під час test execution. Для постійного приймання активуйте workflow й використовуйте production URL.
Як захистити webhook?
Authentication, signature validation, replay window, schema validation, rate limit і мінімальні error responses.
Як уникнути подвійної обробки?
Зберігати provider event_id та робити незворотні дії idempotent.
Підготовлено AI Insider Research на основі практики проєктування AI-систем та офіційної документації продуктів. Технічні умови й тарифи змінюються — перевіряйте їх перед production-рішенням.