easyCoexistence
Prijavite seZapočnite besplatno probno razdoblje
Meta Tech Provider

Slanje i primanje WhatsApp poruka iz Pythona

Primanje je ruta u vašem web-okviru koja odgovara na Metin GET za provjeru i prihvaća POST zahtjeve. Slanje je HTTPS zahtjev prema Cloud API-ju s poljem phone number id i tokenom. Nemamo SDK, a ništa ne morate instalirati.

2 handlers

GET za Metinu provjeru i POST za događaje. To je dio za primanje.

24 hours

Razdoblje nakon poruke korisnika u kojem se može slati slobodni tekst.

131047

Pogreška koja se vraća kada slobodni tekst šaljete izvan tog razdoblja.

Kako primati poruke u Pythonu?

S pomoću dva obrađivača na jednoj ruti, u bilo kojem web-okviru koji već koristite.

GET obrađivač odgovara na Metinu provjeru. Iz upita čita hub.mode, hub.verify_token i hub.challenge, provjerava token prema vašem tokenu i vraća challenge kao sirovo tijelo odgovora. Vraćanje JSON-a ovdje najčešća je pogreška i neuspjeh prolazi neprimijećeno.

POST obrađivač prima događaje. Brzo vratite 200, a posao obavite poslije jer Meta spori odgovor smatra neuspjehom i ponavlja zahtjev, zbog čega istu poruku možete obraditi dvaput. Stavite je u red čekanja ili proslijedite pozadinskom zadatku umjesto da obradu izvršavate izravno.

Poruke stižu s ID-jem poruke wamid. Dedupliciranje prema njemu isplati se uvesti odmah jer su ponovljeni zahtjevi uobičajeni, a ne iznimni.

Kako šaljati?

Jednim POST zahtjevom prema endpointu messages u Cloud API-ju za phone number id, uz bearer token.

Obje vrijednosti dolaze iz veze: nadzorna ploča ih prikazuje, a get_api_credentials ih vraća ako želite da ih pomoćnik dohvaća. Poziv nije ni po čemu specifičan za nas, pa radi bilo koja HTTP biblioteka, a zahtjev izgleda točno kao u Metinoj dokumentaciji.

Vrijeme slanja mijenja tijelo zahtjeva. Unutar 24 sata od posljednje poruke korisnika šaljete objekt text. Izvan tog razdoblja šaljete objekt template s nazivom odobrenog predloška i njegovim jezikom. Klijent koji poznaje samo prvi oblik savršeno radi tijekom testiranja, ali ne uspijeva s prvom noćnom porukom i vraća pogrešku 131047.

Što proizvodni obrađivač treba osim toga?

Tri stvari koje je lako preskočiti, a skupo naknadno dodati.

Deduplicirajte prema ID-ju poruke jer Meta ponavlja zahtjeve. Provjerite potpis zahtjeva ako ste javno izloženi jer vam u suprotnom svatko tko sazna URL može slati zahtjeve. Granajte i prema tome koliko je vremena prošlo od posljednje poruke kontakta, kako bi put slanja sam odabrao text ili template bez odluke čovjeka.

Za ništa od toga nisu potrebni web-okvir ni biblioteka. To su skup, provjera i usporedba, a njihovo postavljanje prije prvog klijenta razlikuje integraciju koja tiho radi od one koja vas stalno upozorava.

Uobičajene pogreške

  • Vraćanje JSON-a iz GET-a za provjeru umjesto sirove vrijednosti challenge.
  • Obrada prije vraćanja 200. Meta ponavlja spore zahtjeve pa poruku obrađujete dvaput.
  • Slanje slobodnog teksta bez provjere razdoblja. Vraća 131047 i izgleda kao da se ništa nije dogodilo.
Radite ovo uz EasyCoexistence

Povežite broj na easycoexistence.com, postavite odredište webhooka na svoju rutu i pročitajte phone number id i token s nadzorne ploče. Od US$ 9 po broju mjesečno, do US$ 2 pri većem obujmu, uz prvih 7 dana besplatno.

Često postavljana pitanja

Postoji li Python SDK?

Ne naš. Nije vam potreban. API pripada Meti, Meta ga dokumentira i dostupan je putem bilo koje HTTP biblioteke.

Koji web-okvir trebam koristiti?

Bilo koji. Potrebna je ruta koja odgovara na GET i prihvaća POST, što podržava svaki Python web-okvir.

Kako izbjeći dvostruku obradu poruke?

Deduplicirajte prema ID-ju poruke wamid u payloadu. Meta namjerno ponavlja zahtjeve, pa je to očekivano, a ne rubni slučaj.

Može li tim i dalje koristiti telefon?

Da. Coexistence omogućuje rad aplikacije WhatsApp Business na istom broju, a vaš obrađivač vidi ono što tim šalje kao događaj odraza.

Nastavite čitati

Spremni za početak?

Postavite WhatsApp Coexistence u nekoliko minuta, a ne mjeseci. Aplikacija i dalje radi na telefonu.

Započnite besplatno probno razdoblje

Provjereno na

Šaljite WhatsApp poruke iz Pythona