Webhooki
Przekazuj nowe zgłoszenia do własnego systemu lub automatyzacji przez publiczny endpoint HTTPS.
Podłącz odbiorcę
- Przygotuj endpoint przyjmujący POST z JSON, np. w Make, Zapier, n8n lub własnej aplikacji.
- Otwórz formularz → Webhook. Wpisz publiczny URL HTTPS, włącz wysyłkę i zapisz.
- Zapisz jednorazowo pokazany sekret podpisu u odbiorcy, jeśli weryfikuje podpisy. Nie umieszczaj go na publicznej stronie.
- Użyj Wyślij test i sprawdź status dostawy. Test korzysta z danych przykładowych i nie zużywa miesięcznego limitu zgłoszeń.
Format zdarzenia
Nowe zaakceptowane zgłoszenieJSON
{
"id": "event-uuid",
"type": "submission.created",
"createdAt": "2026-10-08T12:00:00.000Z",
"form": { "id": "form-uuid", "name": "Kontakt", "publicId": "frm_..." },
"submission": {
"id": "submission-uuid",
"createdAt": "2026-10-08T12:00:00.000Z",
"payload": { "email": "[email protected]", "utm_source": "newsletter" }
}
}UTM znajdują się w submission.payload. Test ma dodatkowo test: true i submission.id: null. Nie przekazujemy tokenów CAPTCHA ani metadanych IP. Wysyłane są nowe zgłoszenia zaakceptowane po skonfigurowaniu webhooka; wcześniejsze nie są eksportowane automatycznie.
Podpis i ponowienia
| Nagłówek | Znaczenie |
|---|---|
| X-ZoraForms-Event-Id | Stałe ID zdarzenia. Odbiorca powinien atomowo odrzucać duplikaty. |
| X-ZoraForms-Timestamp | Czas próby w sekundach Unix. Sprawdzaj świeżość, np. do 5 minut. |
| X-ZoraForms-Signature | sha256=<hex>; HMAC-SHA256(secret, timestamp + '.' + dokładne bajty body). Porównuj stałoczasowo. |
Odpowiedz szybko statusem 2xx. Dostawa ma maksymalnie 5 prób HTTP i timeout 5 sekund. Błędy sieci, 408/425/429/5xx są ponawiane; pozostałe 4xx i przekierowania kończą dostawę. Panel pokazuje ostatnie 20 dostaw.