Eşleştirme kodu ve QR
QR kodu her 20 saniyede bir yenilenir. Her iki yolu da sunun; çünkü tek cihazla yapılan bir kurulumda kullanıcı kendi ekranının fotoğrafını çekemez.
Eşleştirme qr bağlantıları için geçerlidir. Bir cloud_api numarası hiçbir şey
taramaz ve 409 not_supported_for_provider yanıtı verir.
QR yolu
POST /connections, ilk QR'ı data-URI PNG olarak döndürür.
QR'ı her yoklamada yeniden çizin
WhatsApp eşleştirme kodunu yaklaşık 20 saniyede bir yeniler. Oluşturma
yanıtındaki qr, ekranda gösterildikten birkaç saniye sonra geçersiz olur ve bu
durum sessizce gerçekleşir: telefon eşleşmez ve ekranda nedenini açıklayan
hiçbir şey görünmez.
status değeri "connected" olana kadar GET /connections/{id} isteğini her
3–5 saniyede bir yapın ve qr değerini her yanıtta yeniden çizin. Önbelleğe
almayın ve yenilemeyi kullanıcının basması gereken bir düğmenin arkasına
gizlemeyin.
Aynı kural idempotent tekrar için de geçerlidir: POST /connections,
Idempotency-Replayed: true ile 200 döndürdüğünde, o yanıttaki qr depodan
tekrarlanmaz, yeniden alınır. Çünkü depolanmış bir kod artık taranamaz.
Eşleştirme kodu yolu
QR için iki cihaz gerekir: onu gösteren bir ekran ve fotoğrafını çeken bir telefon. Gerçek kurulumların büyük bir kısmı tek cihazda gerçekleşir: müşteri, akışınızı WhatsApp'ın çalıştığı telefonda tamamlar ve kendi ekranının fotoğrafını çekemez. Bu kullanıcılar için QR yolu sadece zahmetli değil, imkânsızdır.
curl -X POST https://developers.wasync.app/api/v1/connections/conn_8f3a21/pairing-code \
-H "Authorization: Bearer $WASYNC_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phoneNumber":"40740267964"}'{
"code": "7S59-1KZP"
}Müşteri WhatsApp'ı açar → Ayarlar → Bağlı cihazlar → Telefon numarasıyla bağla yolunu izler ve kodu girer.
phoneNumber, başında + olmadan E.164 biçimindedir; yalnızca rakamlardan
oluşur. Başka her biçim, sizin için düzeltilmek yerine
400 { "error": "invalid_phone_number" } ile reddedilir: gönderdiğiniz numarayı
sessizce değiştirmek, bir müşterinin kimsenin istemediği bir hesabı eşleştirmesine
yol açar. Bağlantıyı oluştururkenki gibi whatsapp.manage kullanılır.
Eşleştirme kodu her zaman alınamayabilir; yedek olarak QR'ı bulundurun
Altyapı kod vermeyi reddedebilir. Bu bir kesinti değil, olağan bir durumdur ve
genel bir 500 yerine 502 { "error": "pairing_code_unavailable" } yanıtı verir;
böylece ikisini ayırt edebilir ve kullanıcıyı QR'a geri yönlendirebilirsiniz.
Yalnızca eşleştirme kodu yolunu sunan bir entegrasyon, er ya da geç müşteriye
ilerleyecek yolu olmayan bir ekran gösterir. İkisini de yan yana gösterin.
Yeni kod isteme
Aynı bağlantıda yeni bir kod isteyebilirsiniz: bu istek yeni bir kod döndürür ve oturumu yeniden oluşturmaz; dolayısıyla "bana başka bir kod gönder" düğmesi güvenlidir.
Sınır, bağlantı başına 15 dakikada 5 istektir; aşıldığında, uymanız gereken
bir Retry-After başlığıyla birlikte 429 { "error": "rate_limited" } alırsınız.
Bu sınır bürokrasi değildir: tek bir numara için tekrar tekrar kod istemek,
WhatsApp'ın kötüye kullanım önleme sistemlerinin tam olarak müdahale ettiği
davranıştır ve risk altındaki numara müşterinizin numarasıdır.
Ek bir şey tüketilmez
Kodla eşleştirme, QR taramayla aynı ücretli yuvayı kullanır ve aynı 7 günlük ücretsiz denemeyi başlatır: lisans, numara hangi yolla eşleşirse eşleşsin, numara gerçekten eşleştiğinde alınır.
Başarıyı izleme yöntemi de değişmez. "Kod kabul edildi" olayı yoktur; bu yüzden
status değeri "connected" olana kadar GET /connections/{id} isteğini
yoklayın ve/veya connection.connected webhook'unu dinleyin.
Kodlamaya değer iki ret durumu vardır:
409 already_connected: oturum zaten açık, eşleştirilecek bir şey yok.409 not_supported_for_provider: bircloud_apinumarası. Eşleştirme kodları yalnızcaqriçin geçerlidir ve burada hiçbir zaman uygulanmaz; tekrar denemeyin.
Daha sonra yeniden eşleştirme
Bir qr oturumu kendiliğinden kopabilir. Bunu connection.disconnected size
bildirir ve arayüzünüzü yönlendirmek için kullanacağınız alan needs_reconnect
alanıdır. QR bu yükte bilerek yer almaz; çünkü o, tarayarak giriş yapmaya yarayan
bir kimlik bilgisidir. Bu nedenle onu GET /connections/{id} isteğinden alın ve
numaranın sahibine ilk kurulumdaki gibi gösterin. Bkz. Webhooks.
Webhooks
Hesap başına tek imzalı uç nokta. İmza doğrulama, olay kataloğu, yeniden deneme politikası ve gizli anahtar rotasyonu.
Başka bir sağlayıcıdan numara taşıyın
Başka bir sağlayıcıda kullandığınız WhatsApp Business API numarasını uygulama içindeki sihirbazla WASync'e taşıyın ve Meta nezdindeki itibarınızı koruyun.