Webhooki
Webhooki umozliwiaja odbieranie wywolan zwrotnych HTTP w czasie rzeczywistym, gdy zdarzenia wystepuja na Twoich instancjach WhatsApp. Zamiast odpytywac API, Wappfy przesyla zdarzenia na Twoj serwer w momencie ich wystapienia.Obslugiwane zdarzenia
Wappfy obsluguje 12 typow zdarzen webhook:Zdarzenia wiadomosci
Zdarzenia wiadomosci
| Zdarzenie | Opis |
|---|---|
message.received | Otrzymano nowa wiadomosc przychodzaca. |
message.sent | Wiadomosc wychodzaca zostala pomyslnie wyslana. |
message.delivered | Wyslana wiadomosc zostala dostarczona na urzadzenie odbiorcy (podwojny znacznik). |
message.read | Wyslana wiadomosc zostala przeczytana przez odbiorce (niebieskie znaczniki). |
message.failed | Wiadomosc wychodzaca nie zostala wyslana. |
message.reaction | Ktos zareagowal na wiadomosc za pomoca emoji. |
Zdarzenia instancji
Zdarzenia instancji
| Zdarzenie | Opis |
|---|---|
instance.connected | Instancja pomyslnie polaczyla sie z WhatsApp. |
instance.disconnected | Instancja utracila polaczenie z WhatsApp. |
instance.qr | Dostepny jest nowy kod QR do zeskanowania. |
Zdarzenia grup i kontaktow
Zdarzenia grup i kontaktow
| Zdarzenie | Opis |
|---|---|
group.joined | Uczestnik dolaczyl do grupy (w tym sam bot). |
group.left | Uczestnik opuscil grupe. |
contact.created | Nowy kontakt zostal zapisany lub wykryty. |
Tworzenie webhooka
Zarejestruj endpoint webhook, aby zaczac odbierac zdarzenia.Opcje konfiguracji
| Pole | Typ | Domyslna | Opis |
|---|---|---|---|
url | string | wymagane | Adres URL HTTPS, ktory bedzie odbierac zapytania POST webhook. |
events | string[] | wymagane | Tablica typow zdarzen do subskrypcji. |
instance_id | string | null | Ograniczenie webhooka do konkretnej instancji. Jesli null, odbiera zdarzenia ze wszystkich instancji. |
secret | string | null | Sekret uzywany do generowania sygnatur HMAC do weryfikacji danych. |
retry_count | number | 3 | Liczba ponownych prob dostarczenia w przypadku niepowodzenia (0-5). |
timeout_ms | number | 10000 | Limit czasu zapytania w milisekundach (1000-30000). |
Pole
instance_id jest opcjonalne. Jesli pominiesz je, webhook bedzie odbierac zdarzenia ze wszystkich instancji na Twoim koncie.Lista webhookow
Aktualizacja webhooka
Zaktualizuj URL, zdarzenia lub konfiguracje istniejacego webhooka.Usuwanie webhooka
Format danych dostarczenia
Gdy wystapi zdarzenie, Wappfy wysyla zapytanie POST na URL webhooka z nastepujaca struktura:Pola danych
| Pole | Opis |
|---|---|
id | Unikalny identyfikator dostarczenia. Uzyj go do deduplikacji. |
event | Typ zdarzenia, ktore wyzwolilo to dostarczenie. |
instance_id | Instancja, ktora wygenerowala zdarzenie. |
timestamp | Znacznik czasu ISO 8601 wystapienia zdarzenia. |
data | Dane specyficzne dla zdarzenia. Zawartosc rozni sie w zaleznosci od typu zdarzenia. |
Weryfikacja sygnatury HMAC
Jesli podalessecret podczas tworzenia webhooka, kazde dostarczenie bedzie zawierac naglowek X-Wappfy-Signature z sygnatura HMAC-SHA256 tresci zapytania.
Zawsze weryfikuj te sygnature, aby upewnic sie, ze zapytanie pochodzi od Wappfy i nie zostalo zmodyfikowane.
Przyklady weryfikacji
Polityka ponownych prob
Jesli Twoj serwer nie odpowie kodem statusu2xx w skonfigurowanym czasie timeout_ms, Wappfy ponowi probe dostarczenia.
| Proba | Opoznienie |
|---|---|
| 1. ponowna proba | 10 sekund |
| 2. ponowna proba | 60 sekund |
| 3. ponowna proba | 5 minut |
| 4. ponowna proba | 30 minut |
| 5. ponowna proba | 2 godziny |
Ponowne proby sa przerywane po otrzymaniu odpowiedzi
2xx lub wyczerpaniu retry_count. Domyslna liczba ponownych prob to 3.Przegladanie historii dostarczen
Sprawdz dziennik dostarczen webhooka, aby zobaczyc poprzednie proby dostarczenia i ich wyniki.Przyklady danych zdarzen
message.received
message.received
message.delivered
message.delivered
message.read
message.read
message.reaction
message.reaction
instance.connected
instance.connected
instance.qr
instance.qr
group.joined
group.joined
Dobre praktyki
Odpowiadaj szybko
Zwroc status
200 w ciagu 5 sekund. Przetwarzaj zdarzenie asynchronicznie, aby uniknac limitow czasu.Deduplikuj
Uzyj
id dostarczenia do wykrywania i pomijania zduplikowanych dostarczen spowodowanych ponownymi probami.Weryfikuj sygnatury
Zawsze waliduj naglowek
X-Wappfy-Signature, jesli skonfigurowales sekret.Uzywaj HTTPS
Adresy URL webhookow musza uzywac HTTPS. Endpointy HTTP beda odrzucane.