easyCoexistence
Giriş yapınÜcretsiz denemeyi başlatın
Meta Tech Provider

Node.js ile WhatsApp gönderin ve alın

Alma işlemi, Meta'nın doğrulama GET isteğini yanıtlayan ve POST isteklerini kabul eden bir rotadır. Gönderme işlemi, numaranın phone number id alanı ve token'ı ile Cloud API'ye yapılan bir fetch çağrısıdır. Bize ait bir SDK veya kurulacak bir şey yoktur.

2 handlers

Meta'nın doğrulaması için bir GET ve olaylar için bir POST.

24 hours

Müşteri mesajından sonra serbest metin gönderilebilen pencere.

131047

Bu pencerenin dışında serbest metin gönderdiğinizde dönen hata.

Node'da mesajları nasıl alırsınız?

Express, Fastify, bir Next rota işleyicisi veya düz bir sunucuda iki yöntemli tek bir rota kullanın.

GET, Meta'nın doğrulamasını yanıtlar: hub.mode, hub.verify_token ve hub.challenge değerlerini sorgudan okuyun, token'ı sizinkiyle karşılaştırın ve challenge değerini düz metin olarak döndürün. Bunu JSON olarak döndürmek yaygın bir hatadır ve doğru göründüğü halde hiçbir şey almayan bir uç noktaya yol açar.

POST olayları alır. Hemen 200 yanıtı verin ve sonrasında işleyin. Meta, yavaş olan her şeyi yeniden dener; yanıt vermeden önce işini yapan bir işleyici aynı mesajı birden fazla kez görür. Özellikle sunucusuz ortamlarda önce yanıt vermek ve işi kuyruğa almak, soğuk başlangıcın yinelenen bir mesaja dönüşmesini önler.

Nasıl gönderirsiniz?

phone number id için messages uç noktasına, token'ı bearer üstbilgisi olarak içeren bir fetch çağrısı yapın.

Bunun hiçbir yönü bize özel değildir; bu nedenle istek Meta'nın kendi belgeleriyle tamamen aynıdır ve öğrenilecek veya bağlı kalınacak bir sarmalayıcı yoktur. Her iki değer de paneldedir; bir asistan kurulumu yapıyorsa get_api_credentials bunları MCP bağlayıcısı üzerinden döndürür.

Gövde zamanlamaya bağlıdır. Müşterinin son gelen mesajından sonraki 24 saat içinde bir text nesnesi gönderin. Bu sürenin dışında, onaylanmış bir şablon adı ve dil içeren bir template nesnesi gönderin. Yalnızca metin gönderen kod her testi geçer, ancak gece gelen ilk mesajda başarısız olur.

Sunucusuz ortamda ne farklıdır?

İki şey vardır ve ikisi de iş bitmeden işlevin sona ermesiyle ilgilidir.

200 döndürüp ardından işlemeye devam etmek, yanıt verdiği anda donan bir işlevde çalışmaz. Yanıttan sonra işi canlı tutmak için platformunuzun sunduğu yöntemi kullanın veya payload'u kuyruğa gönderip ayrı bir işlevin işlemesini sağlayın. Meta'nın hızlıca yalnızca onaya ihtiyacı vardır; işin tamamlanmasına ihtiyacı yoktur.

Soğuk başlangıçlar yavaş yanıtları da daha olası kılar; bu da daha fazla yeniden deneme ve yinelenen mesaj anlamına gelir. wamid mesaj id'sine göre yinelemeleri ayıklamak bu yapıda isteğe bağlı değildir; güvenilirliği sağlayan şey budur.

Yaygın hatalar

  • Challenge değerini ham gövde yerine JSON olarak döndürmek.
  • 200 yanıtını vermeden önce işi yapmak. Sunucusuz ortamda işlev yanıt verdiği anda donabilir.
  • Yineleme ayıklamayı atlamak. Meta tasarım gereği yeniden dener ve yinelenen mesajlar uç durum değil, normaldir.
Bunu EasyCoexistence'la yapmak

Numarayı easycoexistence.com'da bağlayın, webhook hedefini rotanıza ayarlayın ve phone number id ile token'ı panelden okuyun. Numara başına aylık US$ 9'dan başlayan fiyat, yüksek hacimde US$ 2'ye iner; ilk 7 gün ücretsizdir.

Sık sorulan sorular

Bir kütüphaneye ihtiyacım var mı?

Hayır. Bir rota ve fetch yeterlidir; çağrı Meta'nın belgeleriyle tamamen aynıdır.

Bu Vercel veya Lambda'da çalışır mı?

Evet. Yaygın sunucusuz sınırlama geçerlidir: önce onaylayın, ardından satır içinde değil, bir kuyruk veya arka plan mekanizması üzerinden işleyin.

İsteğin Meta'dan geldiğini nasıl doğrularım?

İmza üstbilgisini uygulama sırrınızla karşılaştırın. Uç nokta herkese açılır açılmaz bunu yapmanız iyi olur.

TypeScript kullanabilir miyim?

Evet. Payload Meta'ya ait ve Meta tarafından belgelenmiş olduğundan, bize ait yazılacak bir tür yoktur.

Okumaya devam edin

Başlamaya hazır mısınız?

WhatsApp Coexistence'ı aylar değil, dakikalar içinde kurun. Uygulama telefonda çalışmaya devam eder.

Ücretsiz denemeyi başlatın

Doğrulama tarihi

Node.js ile WhatsApp gönderin