easyCoexistence
Prijavite seZapočnite besplatni probni period
Meta Tech Provider

Slanje i primanje WhatsApp poruka iz Node.js

Prijem se obavlja rutom koja odgovara na Meta verifikacioni GET i prihvata POST zahteve. Slanje je fetch poziv ka Cloud API-ju sa ID-jem broja telefona i tokenom. Nemamo SDK i ništa ne treba da instalirate.

2 handlers

GET za Meta verifikaciju i POST za događaje.

24 hours

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

131047

Greška koja se vraća kada slobodan tekst pošaljete van tog prozora.

Kako primate poruke u Node-u?

Jedna ruta sa dve metode, u Expressu, Fastifyju, Next route handleru ili običnom serveru.

GET odgovara na Meta verifikaciju: iz upita pročitajte hub.mode, hub.verify_token i hub.challenge, uporedite token sa svojim i vratite challenge kao običan tekst. Vraćanje JSON-a je uobičajena greška i pravi endpoint koji nikada ne prima ništa, iako izgleda ispravno.

POST prima događaje. Odmah odgovorite sa 200, a obradu izvršite posle toga. Meta ponavlja sve što je sporo, pa će handler koji obraduje zahtev pre odgovora videti istu poruku više puta. Naročito kod serverless funkcija, prvo vraćanje odgovora i stavljanje posla u red održavaju hladno pokretanje bez duplikata.

Kako šaljete poruke?

Fetch poziv ka messages endpointu Cloud API-ja za ID broja telefona, uz token u bearer zaglavlju.

Ništa u tome nije posebno za nas, pa zahtev tačno prati Metinu dokumentaciju i nema omotač koji morate da učite ili od kojeg zavisite. Obe vrednosti su u kontrolnoj tabli, a get_api_credentials ih vraća preko MCP konektora ako pomoćnik povezuje sistem.

Telo zahteva zavisi od vremena. U roku od 24 sata od poslednje dolazne poruke korisnika pošaljite objekat text. Posle toga pošaljite objekat template sa odobrenim nazivom šablona i jezikom. Kod koji šalje samo tekst prolazi svaki test, ali pada na prvoj poruci koja stigne tokom noći.

Šta je drugačije kod serverless funkcija?

Dve stvari, a obe se tiču završetka funkcije pre nego što se posao završi.

Vraćanje odgovora 200 uz nastavak obrade ne funkcioniše kada se funkcija zamrzne čim odgovori. Koristite ono što vaša platforma nudi za nastavak rada posle odgovora ili stavite payload u red, pa neka ga obradi posebna funkcija. Meti je potrebno brzo potvrđivanje, a ne završena obrada.

Hladna pokretanja takođe usporavaju odgovore, što znači više ponavljanja i duplikata. Uklanjanje duplikata na osnovu ID-ja poruke wamid nije opcionalno u ovom obliku, već je ono što sistem čini pouzdanim.

Česte greške

  • Vraćanje challenge-a kao JSON-a umesto kao sirovog tela.
  • Obrada pre odgovora 200. Kod serverless funkcija funkcija se može zamrznuti čim odgovori.
  • Preskakanje uklanjanja duplikata. Meta namerno ponavlja zahteve, a duplikati su uobičajeni, ne redak slučaj.
Ovo radite uz EasyCoexistence

Povežite broj na easycoexistence.com, postavite odredište webhooka na svoju rutu i pročitajte ID broja telefona i token iz kontrolne table. Od US$ 9 po broju mesečno, do US$ 2 pri većem obimu, uz prvih 7 dana besplatno.

Često postavljana pitanja

Da li mi je potrebna biblioteka?

Ne. Dovoljni su ruta i fetch, a poziv tačno prati Metinu dokumentaciju.

Da li ovo radi na Vercelu ili Lambdi?

Da, uz uobičajeno ograničenje serverless funkcija: prvo potvrdite prijem, a zatim obrađujte kroz red ili pozadinski mehanizam, ne direktno.

Kako proveravam da je zahtev došao od Mete?

Proverite zaglavlje potpisa u odnosu na tajnu aplikacije. To treba uraditi čim endpoint postane javan.

Mogu li da koristim TypeScript?

Da. Od nas nema ničega prema čemu treba tipizirati, jer je payload Metin i Meta ga dokumentuje.

Nastavite sa čitanjem

Spremni da počnete?

Podesite WhatsApp Coexistence za nekoliko minuta, a ne meseci. Aplikacija nastavlja da radi na telefonu.

Započnite besplatni probni period

Provereno na

Slanje WhatsApp poruka iz Node.js