📱 WhatsApp Cloud API
WhatsApp, Meta'nın Cloud API'si ile bağlanır — kendi sunucunuzdan WhatsApp mesajları gönderip almanızı sağlayan resmi, ücretsiz katmanlı API. Üçüncü taraf BSP (Business Solution Provider) gerekmez.
Ön Koşullar
- developers.facebook.com adresinde bir Meta Geliştirici hesabı
- Bir Meta Business Hesabı (Business Manager olarak da bilinir)
- WhatsApp için kişisel WhatsApp'ta kayıtlı olmayan bir telefon numarası (SIM, sanal numara veya sabit hat kullanabilirsiniz)
Kurulum Adımları
1. Meta Uygulaması Oluşturun
- developers.facebook.com/apps adresine gidin
- Create App tıklayın
- Business türünü seçin
- Bir ad girin ve Business Hesabınızı bağlayın
2. WhatsApp Ürününü Ekleyin
- Uygulamanızın panelinde Add Products to Your App bölümüne kaydırın
- WhatsApp üzerinde Set Up tıklayın
- Business Hesabınızı seçin
3. Kimlik Bilgilerinizi Alın
Uygulama panelinizde WhatsApp → API Setup bölümüne gidin:
| Kimlik Bilgisi | Nerede Bulunur |
|---|---|
| Phone Number ID | "From" bölümünde listelenir — 123456789012345 gibi sayısal bir ID |
| Access Token | Bu sayfada gösterilen geçici jeton. Üretim için System Users aracılığıyla kalıcı jeton oluşturun. |
| App Secret | Uygulama Paneli → Settings → Basic → App Secret |
| Verify Token | Kendinizin belirlediği bir dize — herhangi bir rastgele dize, ör. my_secret_verify_token_2024 |
4. PulseHub'da Kanal Ekleyin
- Kanallar → Kanal Ekle bölümüne gidin
- WhatsApp seçin
- Dört alanı doldurun
- Kanalı Kaydet tıklayın
- Kanal kartında gösterilen Webhook URL'sini kopyalayın
5. Meta'da Webhook'u Yapılandırın
- Meta uygulamanızda WhatsApp → Configuration bölümüne gidin
- Webhook bölümünün yanındaki Edit tıklayın
- Callback URL: PulseHub webhook URL'nizi yapıştırın
- Verify Token: PulseHub'a girdiğiniz aynı dizeyi girin
- Verify and Save tıklayın
Meta, webhook URL'nize ?hub.mode=subscribe&hub.verify_token=...&hub.challenge=... ile bir GET isteği gönderir. PulseHub jetonu doğrular ve challenge'ı geri gönderir.
- Webhook Fields altında şuna abone olun: messages
6. Test
İş numaranıza bir WhatsApp mesajı gönderin. Birkaç saniye içinde PulseHub'ın gelen kutusunda yeni bir görüşme olarak görünmelidir.
İmza Doğrulama
Meta her webhook'a X-Hub-Signature-256 başlığı ekler:
X-Hub-Signature-256: sha256=abc123...
PulseHub bunu App Secret'ınız ile HMAC-SHA256 kullanarak doğrular. Doğrulama başarısız olursa, webhook 401 Signature mismatch döndürür.
Mesaj Gönderme
Bir temsilci gelen kutusundan yanıt gönderdiğinde, PulseHub WhatsApp Cloud API'sini çağırır:
POST https://graph.facebook.com/v18.0/{phone_number_id}/messages
Authorization: Bearer {access_token}
{
"messaging_product": "whatsapp",
"to": "{recipient_phone}",
"type": "text",
"text": {"body": "Yanıtınız burada"}
}
Üretim Erişimi
Varsayılan Meta uygulaması Development modundadır — yalnızca test numarası olarak eklenen numaralara mesaj gönderebilir. Canlıya geçmek için:
- Meta Business Manager'da İş Doğrulaması'nı tamamlayın
- WhatsApp kullanım senaryonuzu Meta incelemesine gönderin
- Onaylandıktan sonra uygulamanız tüm WhatsApp kullanıcılarına mesaj gönderme erişimi kazanır
Sık Karşılaşılan Sorunlar
| Belirti | Olası Neden |
|---|---|
| Webhook kurulumu sırasında doğrulama başarısız | PulseHub'daki verify_token Meta'ya girdiğinizle eşleşmiyor |
| Günlüklerde imza uyumsuzluğu hatası | Yanlış app_secret — App Settings → Basic'ten kopyalayın, API Setup'tan değil |
| Mesajlar gelmiyor | Meta panelinde webhook alanı messages abone edilmemiş |
Gönderirken Invalid phone number | Numara formatı + olmadan E.164 olmalı (ör. 15551234567) |
| Development modunda uygulama hatası | Dev modunda yalnızca doğrulanmış test numaraları mesaj alabilir |