Önce önemli ayrım: “API key” hangisi?
WhatsApp Cloud API klasik bir API key kullanmaz. Mesaj gönderirken asıl gizli kimlik bilgisi Bearer Access Token değeridir. App ID ve kimlik numaraları gizli değildir; erişim tokeni ise parola gibi korunmalıdır.
Bu rehber, Meta hesabının hazırlanmasından kalıcı erişim tokenine, telefon numarası kimliğinden webhook doğrulamasına kadar canlı WhatsApp bağlantısının tamamını adım adım açıklar.
WhatsApp Cloud API klasik bir API key kullanmaz. Mesaj gönderirken asıl gizli kimlik bilgisi Bearer Access Token değeridir. App ID ve kimlik numaraları gizli değildir; erişim tokeni ise parola gibi korunmalıdır.
Tokeni ekran görüntüsüne, destek mesajına, Git deposuna veya public sayfaya koymayın. Bu panel tokeni şifreli saklar ve daha sonra yalnızca son karakterlerini maskeli gösterir.
Canlı bağlantı için aşağıdakiler hazır olmalıdır:
Telefon numarası uyarısı: En sorunsuz yol, WhatsApp Cloud API için ayrı bir numara kullanmaktır. Numara hâlihazırda WhatsApp Messenger veya WhatsApp Business uygulamasına bağlıysa Meta panelinin sunduğu taşıma ya da birlikte kullanım akışını izleyin; mevcut hesabı hazırlıksız silmeyin.
Bu ekran ilk kurulumda size Meta test numarası, geçici erişim tokeni, Phone Number ID ve WABA ID sağlar. Önce bu değerlerle bağlantıyı sınayabilirsiniz.
hello_world şablonuyla test mesajı gönderin.Geçici token yalnızca test içindir. Meta’nın resmi koleksiyonunda kullanıcı tokenlerinin kısa süreli olabildiği belirtilir. Canlı sistemde aşağıdaki System User tokenini kullanın.
Müşterilere mesaj göndermeden önce geçerli iletişim izni alın. Kullanıcının son mesajından sonraki müşteri hizmetleri penceresi dışında serbest metin yerine Meta tarafından onaylanmış mesaj şablonu kullanmanız gerekebilir.
Uygulamanın sayısal kimliğidir. Uygulama panelinin üst kısmında da görülebilir.
WABA ID olarak da geçer. Business Portfolio ID’yi bu alana kopyalamayın.
Telefonun kendisi değil, Meta’nın verdiği uzun sayısal kimliktir.
Bu değerler ayrıca WhatsApp Manager içindeki telefon numarası ayrıntılarında bulunabilir. Birden fazla WABA veya telefon varsa bu üç değerin aynı işletme ve uygulamaya ait olduğunu kontrol edin.
whatsapp_business_messaging ve whatsapp_business_management izinlerini işaretleyin. İşletme varlıklarını API ile yönetiyorsanız Meta ayrıca business_management isteyebilir.Tokeni Access Token Debugger ile kontrol edin: uygulama doğru olmalı, gerekli izinler görünmeli ve sona erme tarihi planladığınız süreyle uyuşmalıdır.
| Panel alanı | Meta’da bulunduğu yer | Girilecek değer |
|---|---|---|
| Meta App ID | App Settings → Basic | Uygulamanın sayısal App ID değeri |
| Business Account ID | WhatsApp → API Setup | WABA ID; Business Portfolio ID değil |
| Telefon numarası ID | WhatsApp → API Setup | Phone Number ID; telefon numarasının kendisi değil |
| Meta Katalog ID | Commerce Manager → Katalog → Ayarlar | WhatsApp hesabına bağlanan ürün kataloğunun kimliği |
| Erişim tokeni | Business Settings → System Users | System User Access Token |
| Webhook doğrulama anahtarı | Meta’dan alınmaz | Sizin ürettiğiniz güçlü ve rastgele bir gizli metin |
| API sürümü | Graph API sürümü | v25.0 mevcut proje varsayılanı; Meta’nın desteklediği sürümle eşleştirin |
| API temel adresi | Meta Graph API | https://graph.facebook.com |
Sistem, ürün tablosundaki uygun kayıtları Meta’nın desteklediği CSV veri feed’ine dönüştürür. Stok kodu Meta’daki product_retailer_id olur; ürün adı, açıklama, fiyat, stok, görsel ve ürün bağlantısı düzenli güncellenir.
Yalnızca bir ürün mü aktaracaksınız? Panelde WhatsApp → Ayarlar → Tek ürün aktarımı bölümünden ürünü seçip tek satırlık CSV’yi açın. Bu dosya Commerce Manager’da tek seferlik veri feed’i olarak yüklenebilir; aynı stok kodu varsa mevcut Meta ürünü güncellenir.
| Platform ürünü | Meta katalog alanı | Kural |
|---|---|---|
| Stok kodu | id / product_retailer_id | Benzersiz ve sonradan değiştirilmemeli |
| Ürün adı | title | En fazla 200 karakter |
| Kısa açıklama | description | HTML temizlenerek düz metin gönderilir |
| Satış fiyatı | price | 59.90 TRY biçiminde |
| Kullanılabilir stok | availability / inventory | Rezerve miktar düşüldükten sonra hesaplanır |
| Ana görsel | image_link | Public HTTPS görsel adresi olmalı |
| Ürün sayfası | link | https://demosite.com/katalog/urun/urun-sef-adresi |
Otomatik grup gönderimi desteklenmiyor. Meta’nın resmî Cloud API katalog ve ürün mesajlarında alıcı tipi yalnızca bireysel kullanıcıdır. Sistem bu nedenle gruplar için WhatsApp paylaşım seçicisini açar; hedef grubu kullanıcı seçer. Resmî olmayan WhatsApp Web otomasyonları hesap kapatma ve veri güvenliği riski nedeniyle kullanılmaz.
Meta’nın sunucusu aşağıdaki adrese doğrulama isteği ve daha sonra mesaj/durum olayları gönderir:
https://demosite.com/webhook/whatsappCallback URL HTTPS görünüyor. Sunucunun dış internetten erişilebildiğini ve SSL zincirinin geçerli olduğunu ayrıca kontrol edin.
php /sunucu/proje-yolu/cron/whatsapp_kuyruk_isle.phpPaylaşımlı hosting kullanıyorsanız PHP çalıştırılabilir dosya yolu firmaya göre değişir. Cron panelinde tam PHP yolunu seçin ve proje dizinindeki cron/whatsapp_kuyruk_isle.php dosyasını hedefleyin.
İlk konuşmayı müşteri başlattıysa hizmet penceresi içinde serbest metin yanıtlanabilir. İşletmenin müşteriye pencere dışında başlattığı bildirimlerde onaylı WhatsApp mesaj şablonlarını kullanın.
URL’nin HTTPS ve public olduğunu; panelde entegrasyonun aktif kaydedildiğini; Verify Token değerlerinin birebir aynı olduğunu kontrol edin. Güvenlik duvarı Meta’nın GET isteğini engellememeli.
Token süresini Access Token Debugger ile kontrol edin. Doğru uygulamadan üretildiğini ve panel alanına başında/sonunda boşluk olmadan kaydedildiğini doğrulayın.
Sistem kullanıcısına doğru uygulama ve WhatsApp hesabı varlıklarını atayın; whatsapp_business_messaging ve whatsapp_business_management izinlerini yeniden kontrol edin.
cron/whatsapp_kuyruk_isle.php görevinin çalıştığını, PHP cURL uzantısını ve sunucunun graph.facebook.com adresine çıkabildiğini kontrol edin.
Webhook’taki messages alanına abone olunduğunu, doğru WABA aboneliğini ve Phone Number ID’nin paneldeki değerle eşleştiğini kontrol edin.
WhatsApp Manager içinde şablon adını, dili, onay durumunu ve parametre sayısını kontrol edin. Panelde kullanılan Meta şablon adı birebir aynı olmalıdır.
Meta zaman zaman menü adlarını ve Graph API sürümlerini günceller. Rehberdeki kavramlar aynı kalsa da son ekran ve politika bilgisini resmî kaynaklardan kontrol edin.