Webhooki WhatsApp: kierowanie wiadomości na własny serwer
Webhook WhatsApp to wskazany przez Ciebie endpoint HTTPS, na który Meta wysyła zdarzenia: przychodzące wiadomości, statusy dostarczenia, zmiany jakości i aktualizacje konta. W przypadku numeru Coexistence miejscem docelowym może być Twój serwer, więc rozmowy w ogóle nie przechodzą przez dostawcę.
- Meta wysyła zdarzenia bezpośrednio na Twój URL
- Twój endpoint, nie platforma dostawcy
- Jedno nadpisanie dla każdego konta WhatsApp Business
Przez 7 dni nic nie zapłacisz. Anuluj w dowolnym momencie.
Czym jest cała integracja: jedno miejsce docelowe HTTPS na konto.
messages i smb_message_echoes, czyli zdarzenia ścieżki wiadomości kierowane do Ciebie.
Wartość wysyłana przez Meta w uzgadnianiu GET, którą Twój endpoint musi zwrócić bez zmian.
Co właściwie Meta wysyła do webhooka?
Zdarzenia są pogrupowane, a rozróżnienie między nimi decyduje o architekturze.
Ścieżka wiadomości przenosi to, co wysyłają klienci, oraz w przypadku numeru Coexistence kopie tego, co Twój zespół wysyła z aplikacji WhatsApp Business. Są to pola messages i smb_message_echoes, które zawierają treść rozmów.
Ścieżka operacyjna przenosi wszystko pozostałe: account_update przy zmianie stanu połączenia, phone_number_quality_update przy zmianie jakości lub przepustowości, account_alerts, account_review_update, business_capability_update i phone_number_name_update. Nie zawierają one treści rozmów i na ich podstawie działa monitorowanie.
Dostawca, który umieszcza siebie na ścieżce wiadomości, otrzymuje pierwszą grupę. Ten, który tego nie robi, nie otrzymuje jej.
Jak Meta weryfikuje endpoint?
Wysyła żądanie GET, zanim zacznie dostarczać cokolwiek. Niepowodzenie tej weryfikacji jest najczęstszym powodem, dla którego pozornie ukończona konfiguracja nie otrzymuje wiadomości.
Meta wywołuje Twój URL z hub.mode ustawionym na subscribe, Twoim hub.verify_token oraz wartością hub.challenge. Twój endpoint musi zwrócić ten challenge jako surowe ciało odpowiedzi, bez opakowania w JSON i bez żadnych dodatków. Jeśli tego nie zrobi, Meta nigdy nie rozpocznie dostarczania, a żaden panel tego nie zasygnalizuje.
Endpoint musi również działać przez HTTPS. Endpoint zwracający cichy błąd 404 albo znajdujący się za warstwą uwierzytelniania odrzucającą Meta wygląda jak działająca konfiguracja aż do chwili, gdy pierwsza wiadomość nie nadejdzie.
Czy miejscem docelowym może być Twój własny serwer?
Tak, i właśnie to różni poszczególnych dostawców.
Meta pozwala aplikacji nadpisać miejsce, do którego dane konto WhatsApp Business dostarcza webhooki. Ustawiamy to nadpisanie na Twój URL, przenosząc zdarzenia ścieżki wiadomości z naszego wywołania zwrotnego do Ciebie. Zachowujemy zdarzenia operacyjne, ponieważ to z nich składają się panel i alerty.
Konsekwencja dotyczy architektury, a nie publikowanej przez nas zasady. Treść rozmów nie ma gdzie zostać zapisana po naszej stronie, ponieważ nigdy do nas nie trafia. Konto bez ustawionego nadpisania wraca do naszego domyślnego wywołania zwrotnego, gdzie obsługa odrzuca te zdarzenia bez ich zapisywania.
Co dzieje się z miejscem docelowym po ponownym połączeniu numeru?
Zostaje usunięte, choć prawie nikt nie planuje takiej awarii.
Miejsce docelowe nie jest właściwością numeru telefonu. To nadpisanie subskrypcji naszej aplikacji na konto WhatsApp Business. Gdy połączenie zostanie usunięte, z powodu reguły Meta dotyczącej czternastu dni nieaktywności albo z innego powodu, aplikacja jest odinstalowywana z tego konta, a nadpisanie znika razem z nią.
Ponowne połączenie przywraca wysyłanie i monitorowanie. Nie przywraca dostarczania na Twój serwer, a żaden komunikat nie zgłasza błędu, więc pierwszym sygnałem może być klient mówiący, że nikt mu nie odpowiedział. Ponownie ustawiamy nadpisanie przy każdym połączeniu, ponieważ zdarzyło się to rzeczywistemu numerowi, który połączył się poprawnie, a następnie zamilkł.
Typowe błędy
- Zwracanie JSON z weryfikacyjnego żądania GET. Meta oczekuje surowej wartości hub.challenge i niczego więcej.
- Używanie tymczasowego lub testowego URL-a. Meta nadal wysyła na ten adres, gdy narzędzie, które go wygenerowało, przestaje nasłuchiwać.
- Zakładanie, że miejsce docelowe przetrwa ponowne połączenie. Jest zapisane w subskrypcji aplikacji i zostaje odinstalowane razem z nią.
- Umieszczanie endpointu za uwierzytelnianiem, które odrzuca żądanie Meta.
EasyCoexistence ustawia nadpisanie webhooka na Twój endpoint, sprawdza go przed wywołaniem i automatycznie ustawia ponownie po każdym połączeniu. Od US$ 9 za numer miesięcznie, do US$ 2 przy większym wolumenie, z pierwszymi 7 dniami bezpłatnie.
Najczęściej zadawane pytania
Czy moje wiadomości przechodzą przez EasyCoexistence?
Nie. Nadpisanie wysyła zdarzenia ścieżki wiadomości bezpośrednio z Meta na Twój endpoint. Zdarzenia konta bez nadpisania wracają do naszego wywołania zwrotnego i są odrzucane bez zapisywania.
Czy mogę później zmienić miejsce docelowe?
Tak, w dowolnym momencie z panelu lub przez konektor MCP. Przekazanie null przywraca nasze ustawienie domyślne.
Co się stanie, jeśli mój serwer będzie niedostępny, gdy Meta dostarczy zdarzenie?
Meta ponawia próby przez pewien czas, a następnie je zatrzymuje. Wiadomości nadal trafiają do aplikacji WhatsApp Business na telefonie, więc firma niczego nie traci, nawet gdy integracja przestaje działać.
Czy jeden webhook wystarczy dla kilku numerów?
Tak. Wskaż ten sam endpoint dla każdego numeru i rozdzielaj zdarzenia na podstawie phone number id odbieranego w payloadzie.
Czytaj dalej
Gotowy, aby zacząć?
Skonfiguruj WhatsApp Coexistence w kilka minut, nie miesięcy. Aplikacja nadal działa na telefonie.
Rozpocznij bezpłatny okres próbnyPrzez 7 dni nic nie zapłacisz. Anuluj w dowolnym momencie.Zweryfikowano w