Webhook-ul messages
messages este câmpul care transportă tot ce trimite un client către numărul dumneavoastră: text, conținut media, răspunsuri, reacții și răspunsuri interactive. Pe un număr Coexistence rutat, mesajul merge direct de la Meta la endpoint-ul dumneavoastră și nu trece niciodată printr-un furnizor.
Câmpul webhook care transportă mesajele primite de la clienți.
Prefixul din id-ul mesajului, folosit pentru eliminarea duplicatelor la reîncercări.
Statusul pe care Meta îl așteaptă rapid, înainte de orice procesare.
Ce conține payload-ul
Una sau mai multe mesaje într-o singură livrare, fiecare cu expeditorul, un id și un tip. Tipul stabilește ce alte chei sunt prezente.
- Numărul de telefon al expeditorului și phone number id al numărului către care a scris.
- Un id de mesaj wamid, pe care se bazează eliminarea duplicatelor.
- Un marcaj temporal unix.
- Un tip: text, imagine, audio, video, document, sticker, locație, contacte, reacție, buton sau interactiv.
- Pentru tipurile media, un id media folosit pentru preluare, nu octeții propriu-ziși.
De ce nu ajunge la noi pe un număr rutat
Deoarece override mută acest câmp, împreună cu smb_message_echoes, către orice destinație nominalizați.
Meta permite unei aplicații să suprascrie locul în care un WhatsApp Business Account își livrează webhook-urile. Setăm această suprascriere la URL-ul dumneavoastră, iar traseul mesajului este scos complet din infrastructura noastră. La noi nu există nicio copie, coadă sau păstrare, deoarece livrarea nu ajunge niciodată acolo.
Când nu este setată nicio destinație, aceste evenimente ajung la callback-ul nostru implicit, unde gestionarul le elimină fără să le persisteze. Aceasta este diferența dintre o afirmație despre stocare și o cale de cod: conținutul conversației nu are unde să ajungă.
Confirmarea corectă
Returnați 200 înainte să faceți treaba, nu după.
Meta consideră un răspuns lent drept o eroare și reîncearcă, ceea ce înseamnă că un gestionar care procesează în linie va vedea același mesaj de mai multe ori. Răspundeți imediat, puneți payload-ul într-o coadă sau într-o sarcină de fundal și lăsați procesarea în afara cererii.
Într-un mediu serverless, acest lucru nu este opțional. O funcție care returnează răspunsul și continuă să lucreze poate fi înghețată imediat după răspuns, așa că confirmarea și procesarea trebuie să fie cu adevărat separate.
Eliminarea duplicatelor
Folosiți întotdeauna wamid, deoarece reîncercările sunt normale, nu excepționale.
Același mesaj poate ajunge de două ori din motive care nu au legătură cu o eroare de partea dumneavoastră: un răspuns lent, un timeout de rețea sau o implementare care are loc în timpul livrării. Stocarea id-urilor văzute și ignorarea repetărilor necesită doar câteva linii și face diferența dintre un client căruia îi răspundeți o dată și unul căruia îi răspundeți de două ori.
Pe un număr Coexistence, acest lucru contează și mai mult, deoarece smb_message_echoes ajunge pe aceeași cale, iar un gestionar care tratează fiecare eveniment ca fiind nou va răspunde peste un om care a răspuns deja.
Greșeli frecvente
- Procesarea înainte de returnarea lui 200. Meta reîncearcă un răspuns lent, iar dumneavoastră gestionați mesajul de două ori.
- Ignorarea eliminării duplicatelor. Reîncercările sunt proiectate astfel, nu reprezintă un caz neobișnuit.
- Așteptarea octeților media în payload. Acesta conține un id media pe care îl folosiți pentru preluare.
EasyCoexistence rutează acest câmp direct de la Meta la endpoint-ul dumneavoastră și păstrează doar evenimentele operaționale pe care se bazează monitorizarea, astfel încât conținutul conversației nu are nicio cale către stocarea noastră.
Întrebări frecvente
EasyCoexistence vede mesajele clienților mei?
Nu. Suprascrierea livrează acest câmp la endpoint-ul dumneavoastră. Orice ajunge la callback-ul nostru de rezervă este eliminat fără a fi păstrat.
Pot ajunge mai multe mesaje într-o singură cerere?
Da. O singură livrare poate conține mai multe mesaje, așa că gestionarele trebuie să le parcurgă pe toate, nu să citească primul mesaj.
Cum obțin conținutul media?
Payload-ul conține un id media. Preluați URL-ul folosindu-l împreună cu token-ul de acces al numărului, apoi descărcați conținutul.
Ce este smb_message_echoes?
Câmpul asociat care transportă ce trimite echipa dumneavoastră din aplicația WhatsApp Business. Există doar pe numere Coexistence.
Continuați să citiți
Gata să începeți?
Configurați WhatsApp Coexistence în câteva minute, nu luni. Aplicația continuă să funcționeze pe telefon.
Începeți perioada de probă gratuităVerificat la