easyCoexistence
Prijavite seZapočnite besplatno probno razdoblje
Meta Tech Provider

Slanje i primanje WhatsApp poruka iz Node.js

Primanje je ruta koja odgovara na Metinu GET provjeru i prihvaća POST zahtjeve. Slanje je poziv fetch prema proizvodu Cloud API s ID-om broja telefona i tokenom. Nema našeg SDK-a ni ičega za instalirati.

2 handlers

GET za Metinu provjeru i POST za događaje.

24 hours

Vremenski prozor nakon poruke korisnika u kojem se šalje slobodan tekst.

131047

Pogreška koja se vraća kada slobodan tekst pošaljete izvan tog prozora.

Kako primate poruke u Nodeu?

Jedna ruta s dvije metode, uz Express, Fastify, Next route handler ili obični poslužitelj.

GET odgovara na Metinu provjeru: iz upita pročitajte hub.mode, hub.verify_token i hub.challenge, usporedite token sa svojim i vratite challenge kao običan tekst. Vraćanje JSON-a uobičajena je pogreška i stvara endpoint koji nikad ne prima ništa, iako izgleda ispravno.

POST prima događaje. Odmah odgovorite s 200, a obradu provedite poslije. Meta ponavlja sve što je sporo, a rukovatelj koji obraduje podatke prije odgovora vidjet će istu poruku više puta. Posebno u serverless okruženju, vraćanje odgovora prije stavljanja posla u red čekanja sprječava da hladni početak uzrokuje duplikat.

Kako šaljete?

Poziv fetch prema messages endpointu proizvoda Cloud API za ID broja telefona, s tokenom u bearer zaglavlju.

Ništa u tome nije specifično za nas, pa zahtjev točno odgovara Metinoj dokumentaciji i nema pomoćnog sloja koji morate učiti ili o kojem postajete ovisni. Obje su vrijednosti na nadzornoj ploči, a get_api_credentials vraća ih kroz MCP konektor ako pomoćnik postavlja povezivanje.

Tijelo ovisi o vremenu. Unutar 24 sata od posljednje dolazne poruke korisnika pošaljite tekstualni objekt. Izvan tog roka pošaljite objekt predloška s odobrenim nazivom predloška i jezikom. Kôd koji šalje samo tekst prolazi svaki test i pada na prvoj poruci koja stigne preko noći.

Što je drugačije u serverless okruženju?

Dvije stvari, a obje se odnose na završetak funkcije prije završetka obrade.

Vraćanje 200 i nastavak obrade ne funkcioniraju kada se funkcija zamrzne čim pošalje odgovor. Upotrijebite ono što vaša platforma nudi za nastavak rada nakon odgovora ili stavite payload u red čekanja pa neka ga obradi zasebna funkcija. Meti je potrebna brza potvrda, a ne dovršena obrada.

Hladni počeci također povećavaju vjerojatnost sporih odgovora, što znači više ponavljanja i više duplikata. U ovom obliku deduplikacija prema ID-u poruke wamid nije neobavezna, nego je ono što rješenje čini pouzdanim.

Uobičajene pogreške

  • Vraćanje challengea kao JSON-a umjesto kao sirovog tijela odgovora.
  • Obrada prije slanja odgovora 200. U serverless okruženju funkcija se može zamrznuti čim pošalje odgovor.
  • Preskakanje deduplikacije. Meta namjerno ponavlja zahtjeve, a duplikati su uobičajeni, ne rubni slučaj.
Radite ovo uz EasyCoexistence

Povežite broj na easycoexistence.com, postavite odredište webhooka na svoju rutu i pročitajte ID broja telefona i token s nadzorne ploče. Od US$ 9 po broju mjesečno, a pri većem obujmu cijena pada na US$ 2; prvih 7 dana je besplatno.

Često postavljana pitanja

Trebam li biblioteku?

Ne. Dovoljni su ruta i fetch, a poziv točno odgovara Metinoj dokumentaciji.

Radi li ovo na Vercelu ili Lambdi?

Da, uz uobičajenu napomenu za serverless: prvo potvrdite primitak, a zatim obradite podatke kroz red čekanja ili mehanizam u pozadini, umjesto izravno u rukovatelju.

Kako mogu provjeriti da je zahtjev došao od Mete?

Provjerite zaglavlje potpisa prema tajni svoje aplikacije. To vrijedi učiniti čim endpoint postane javan.

Mogu li upotrebljavati TypeScript?

Da. S naše strane nema ničega što treba tipizirati jer je payload Metin i Meta ga dokumentira.

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

Slanje WhatsApp poruka iz Node.js