Geliştirici Konsolu Giriş

Newmore WhatsApp API Entegrasyon Kılavuzu

WhatsApp Business API, spam’i önlemek için katı kurallara sahiptir. Sistem iki farklı modda çalışır.

DurumAçıklamaGönderilebilecek Mesaj Tipi
🟢 Pencere AÇIKMüşteri size mesaj attığında başlar ve 24 saat sürer.Serbest Metin: Özgürce yazı, resim, video gönderebilirsiniz.
🔴 Pencere KAPALISon mesajın üzerinden 24 saat geçmiştir.Sadece Şablon Mesaj: Sadece Meta tarafından onaylanmış şablonlar gönderilebilir.

 

Önemli: Müşteri size son 24 saat içinde yazmadıysa, “Naber?” gibi serbest bir mesaj gönderemezsiniz. İletişimi başlatmak için mutlaka Şablon Mesaj kullanmalısınız.

API istekleri yapabilmek için Geliştirici Konsolu üzerinden erişim anahtarınızı almanız gerekir.

  • API Base URL: https://wp.newmore.com.tr/wp-json/wpws/v1

  • Header (Başlık): x_wpws_verify_token

Tüm isteklerde x_wpws_verify_token başlığı ile API anahtarınızı göndermelisiniz.

Bu yöntem sadece müşteri size son 24 saat içinde mesaj attıysa (oturum açıksa) çalışır.

Başlık: Serbest Metin Mesajı (Text) Açıklama: Müşteri ile aktif bir sohbetiniz varsa (son 24 saat içinde size yazdıysa), onaylı şablona gerek kalmadan bu kodu kullanabilirsiniz.

<?php
// API BİLGİLERİ
$apiUrl   = 'https://wp.newmore.com.tr/wp-json/wpws/v1/send';
$apiToken = 'SIZIN_API_ANAHTARINIZ'; // Developer panelinden alın
$phone    = '905551234567'; // Başında + olmadan bitişik yazın

// GÖNDERİLECEK VERİ (TEXT)
$data = [
    'x_wpws_verify_token' => $apiToken,
    'phone'               => $phone,
    'type'                => 'text',
    'message'             => 'Merhaba, bu bir test mesajıdır. 🚀',
];

// CURL İSTEĞİ
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'x_wpws_verify_token: ' . $apiToken
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// SONUÇ
if ($httpCode == 200) {
    echo "Başarılı: " . $response;
} else {
    echo "Hata ($httpCode): " . $response;
}
?>

Bu yöntem 24 saat kuralına takılmaz. Müşteriye ilk mesajı atarken veya bildirim (OTP, Kargo vb.) gönderirken bunu kullanmalısınız.

Başlık: Şablon Mesajı (Template) Açıklama: Onaylanmış bir şablonu (örn: sipariş onayı, kargo takibi) göndermek için bu kodu kullanın. Şablon içindeki {{1}} gibi değişkenleri koddan dinamik olarak doldurabilirsiniz.

<?php
// API BİLGİLERİ
$apiUrl   = 'https://wp.newmore.com.tr/wp-json/wpws/v1/send';
$apiToken = 'SIZIN_API_ANAHTARINIZ'; // Developer panelinden alın
$phone    = '905551234567'; // Başında + olmadan bitişik yazın

// GÖNDERİLECEK VERİ (TEMPLATE)
$data = [
    'x_wpws_verify_token' => $apiToken,
    'phone'               => $phone,
    'type'                => 'template',
    'template_name'       => 'hello_world', // Onaylı şablon isminiz
    'language'            => 'en_US',       // Şablon dili (tr veya en_US)
    
    // Şablonda değişken varsa ({{1}}, {{2}} vb.) burayı kullanın:
    'components'          => [
        [
            'type' => 'BODY',
            'parameters' => [
                // {{1}} değişkeni için örnek değer
                ['type' => 'text', 'text' => 'Sayın Müşteri'] 
            ]
        ]
    ]
];

// CURL İSTEĞİ
$ch = curl_init($apiUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'x_wpws_verify_token: ' . $apiToken
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// SONUÇ
if ($httpCode == 200) {
    echo "Başarılı: " . $response;
} else {
    echo "Hata ($httpCode): " . $response;
}
?>

Şablonlarınızın onaylanması için şunlara dikkat edin:

  • Tehditkar Dil Yasak: “Dava açarız”, “Borcunuzu ödeyin” gibi ifadeler kullanmayın.
  • Hatalı Değişken: {{1}} işareti cümlenin en başında veya en sonunda tek başına durmamalıdır, bir bağlam içinde olmalıdır.
  • İmla: Düşük cümleler ve yazım hataları reddedilebilir.

WhatsApp hattınıza gelen mesajları anlık olarak kendi sunucunuza (CRM, veritabanı vb.) aktarabilirsiniz.

Adım 1: Webhook URL’nizi Belirleyin

Kendi sunucunuzda gelen veriyi karşılayacak bir adres (endpoint) hazırlayın.

  • İpucu: Sunucunuz henüz hazır değilse test için webhook.site adresinden geçici bir URL alabilirsiniz.

Adım 2: Panele Kaydedin

  1. NewMore Geliştirici Konsolu’na gidin.

  2. “Sizin Webhook Adresiniz” alanına URL’nizi yapıştırın (Örn: https://siteadiniz.com/api/whatsapp-hook).

  3. Kaydet butonuna basın.

Adım 3: Bağlantıyı Test Edin

Müşteriden mesaj beklemeden sistemin çalışıp çalışmadığını test edebilirsiniz:

  1. API Dokümantasyonu (Swagger) sayfasını açın.

  2. /webhook-test başlığını bulun.

  3. x_wpws_verify_token alanına anahtarınızı yapıştırın ve Execute butonuna basın.

  4. Sonuç: Sunucunuz doğru yapılandırıldıysa 200 OK yanıtı alırsınız ve sisteminiz örnek bir veri alır.