AksiyonlarWhatsApp Şablonu

WhatsApp Şablon Aksiyonu

Görüşme biter bitmez müşterinin telefonunda randevu onayı belirsin — asistan konuşmayı kapatırken onaylı bir WhatsApp Business şablonunu otomatik gönderir. “Size mesaj atalım mı?” deyip unutulan takipler biter; randevu, konum ve link müşteride yazılı olarak kalır. Sesli görüşmenin sıcaklığı, WhatsApp’ın kalıcılığıyla birleşir.

WhatsApp Şablon aksiyonu, asistana bağlanan bir aksiyondur (SMS ve e-posta gibi). Asistan bunu bir araç olarak çağırır; mesaj WhatsApp Business Cloud API üzerinden çıkar.

Nasıl çalışır?

Görüşme sırasında/sonrasında asistan WhatsApp aksiyonunu tetikler

Purvisor onaylı şablonu seçer (ad + dil kodu + sıralı parametreler)
        ↓ (WhatsApp Business Cloud API — graph.facebook.com)
Mesaj SADECE aranan numaraya gider (alıcı kilidi)

Gönderim ilgili call kaydına işlenir (whatsapp_messages)

Görüşme sonrası mesaj gönderen uç (/api/agent/send-whatsapp) alıcı kilitlidir: mesaj yalnızca o görüşmenin numarasına gidebilir. Numara eşleşmezse istek 403 ile reddedilir. Bu, sızmış bir sırla asistanın rastgele numaralara mesaj atmasını engelleyen bir güvenlik önlemidir.

Ön koşullar

  • Bağlı bir WhatsApp Business hesabı — telefon numarası kimliği ve erişim anahtarı (WhatsApp Business).
  • Meta tarafında onaylanmış en az bir mesaj şablonu (aşağıya bakın).
  • Aksiyonu çalıştıracak bir asistan — WhatsApp aksiyonu asistana bağlanmalı (Aksiyonlar Genel Bakış).
⚠️

Onaylı şablon şartı. WhatsApp Business kurallarına göre, işletmenin başlattığı mesajlar (müşteri size son 24 saat içinde yazmadıysa) yalnızca Meta tarafından önceden onaylanmış şablonlarla gönderilebilir. Şablonu WhatsApp Manager’da oluşturup onaylatmadan bu aksiyon mesaj gönderemez. Serbest metin, sadece müşteriyle açık 24 saatlik görüşme penceresi içinde çalışır.

Kurulum

WhatsApp Business hesabını bağla

Önce Entegrasyonlar’dan WhatsApp Business hesabını bağla (WhatsApp Business). Purvisor önce senin hesabının kimlik bilgilerini (UserIntegration) kullanır; yoksa ortam değişkenlerine düşer.

Şablonu Meta’da onaylat

WhatsApp Manager’da bir mesaj şablonu oluştur ve onaya gönder. Şablon gövdesinde yer tutucular sıralı numaralanır — örneğin:

Merhaba {{1}}, randevunuz {{2}} tarihinde onaylandı. Konum: {{3}}

Onay geldiğinde şablonun tam adını (örn. randevu_onayi) ve dil kodunu (örn. tr) not al. Aksiyonda bunları birebir gireceksin.

WhatsApp aksiyonunu oluştur

Panelde Aksiyonlar → WhatsApp → Yeni ile bir aksiyon tanımla. Alanlar:

AlanAçıklama
nameAksiyonun panelde görünecek adı (zorunlu).
templateNameMeta’da onaylanmış şablonun tam adı (zorunlu). Birebir eşleşmeli.
templateLangŞablonun dil kodu. Varsayılan tr.
templateParamsŞablondaki {{1}}, {{2}} yer tutucularını dolduran sıralı değer listesi. Sıra önemlidir: ilk değer {{1}}’e, ikincisi {{2}}’ye gider.
conditionAksiyonun hangi koşulda çalışacağı (opsiyonel).
isActiveAksiyon aktif mi (varsayılan açık).

name veya templateName boşsa uç 400 name ve templateName gerekli döner.

Oluşturma isteğinin gövdesi şöyle görünür:

POST /api/actions/whatsapp
{
  "name": "Randevu onayı",
  "templateName": "randevu_onayi",
  "templateLang": "tr",
  "templateParams": ["Ayşe Hanım", "14 Temmuz 15:00", "Kadıköy Şube"]
}

Asistana bağla

Aksiyonu çalıştıracak asistana ekle (Aksiyonlar Genel Bakış). Artık asistan, prompt’unda tanımladığın koşula uyduğunda (örn. randevu açıldığında) bu şablonu gönderebilir.

📸 [Ekran görüntüsü: WhatsApp aksiyonu — şablon adı, dil, parametreler ve asistana bağlama]

Parametreler şablona nasıl yerleşir?

templateParams listesindeki değerler, WhatsApp Cloud API’ye bir gövde (body) bileşeni olarak sıralı gönderilir. Örneğin ["Ayşe Hanım", "14 Temmuz 15:00", "Kadıköy Şube"] şu çağrıya dönüşür:

{
  "messaging_product": "whatsapp",
  "to": "9053XXXXXXXX",
  "type": "template",
  "template": {
    "name": "randevu_onayi",
    "language": { "code": "tr" },
    "components": [
      { "type": "body", "parameters": [
        { "type": "text", "text": "Ayşe Hanım" },
        { "type": "text", "text": "14 Temmuz 15:00" },
        { "type": "text", "text": "Kadıköy Şube" }
      ] }
    ]
  }
}

Parametre sayısı şablondaki {{n}} yer tutucu sayısıyla eşleşmeli. Eksik ya da fazla parametre gönderirsen WhatsApp API mesajı reddeder.

Asistan ne zaman gönderir?

Aksiyon, görüşme akışına göre iki noktada devreye girer:

  • Görüşme sırasında — asistan, aracı çağırdığında (ör. randevu açar açmaz onay mesajı).
  • Görüşme sonrası — otomatik takip mesajı olarak. Purvisor’ın görüşme sonrası WhatsApp ucu birkaç hazır mesaj tipi tanır:
messageTypeNe için
appointment_confirmationRandevu onayı (tarih, saat, konum).
transcript_summaryGörüşme özeti ve önemli noktalar.
follow_upSerbest takip mesajı (opsiyonel link ile).
customTamamen serbest metin.

Bu tiplerin tümü aynı alıcı kilidine tabidir: mesaj yalnızca aranan numaraya gider. Hazır metin yerine onaylı bir şablon (templateName + templateParams) da gönderebilirsin — 24 saatlik pencere kapalıysa doğru yol budur.

İyi uygulamalar

  • Şablonu önce onaylat. En sık takılınan nokta budur: aksiyonda yazdığın templateName, WhatsApp Manager’daki onaylı adla birebir aynı olmalı.
  • Parametreleri sıralı düşün. templateParams listesinin sırası doğrudan {{1}}, {{2}} sırasıdır. Ad, tarih, konum gibi değerleri şablon gövdesindeki sırayla ver.
  • Randevu aksiyonuyla birlikte kullan. Cal.com randevusu açıldıktan sonra onay şablonu göndermek en yüksek katılım oranını verir (Randevu (Cal.com)).
  • Metinleri şablonda değil, parametrede değiştir. Sabit metni şablona, kişiye/duruma göre değişeni parametreye koy — böylece tek şablonla yüzlerce farklı mesaj çıkar. Yeniden kullanılabilir metinler için Mesaj Şablonları’na bak.

KVKK

WhatsApp mesajı, kişiye ulaşan ve kişisel veri taşıyan bir kanaldır — KVKK kapsamındadır.

  • Açık rıza kapsamı. Müşteriden aldığın rıza, WhatsApp üzerinden bilgilendirme/ticari mesaj göndermeyi de içermeli. Rıza yoksa, yalnızca müşterinin başlattığı görüşme penceresinde yanıt ver.
  • Alıcı kilidi = veri minimizasyonu. Görüşme sonrası mesaj yalnızca o görüşmenin numarasına gider; başka numaraya gönderim 403 ile engellenir. Bu, yanlış kişiye mesaj gitmesini yapısal olarak önler.
  • Vazgeçme hakkı. Müşteri “mesaj istemiyorum / aranmak istemiyorum” derse, bunu görüşmede işaretle; asistanın “aramayın” (DNC) davranışı kişiyi tüm kampanyalardan çıkarır.
  • İçerikte ölçülü ol. Şablon parametrelerine yalnızca gerekeni koy; hassas sağlık/finans verisini WhatsApp gövdesine yazmaktan kaçın.

Sorun giderme

BelirtiOlası neden / çözüm
Mesaj hiç gitmediWhatsApp Business bağlı değil → WhatsApp Business; veya templateName Meta’da onaylı değil / adı birebir eşleşmiyor.
”Template not found” / API hatasıŞablon adı veya templateLang dil kodu yanlış; ya da şablon henüz onaylanmadı.
Parametre hatasıtemplateParams sayısı, şablondaki {{1}}...{{n}} yer tutucu sayısıyla eşleşmiyor.
phoneNumber does not match the call (403)Görüşme sonrası mesaj yalnızca aranan numaraya gider — farklı numara reddedilir.
Mesaj gönderildi ama teslim edilmediMüşterinin 24 saatlik penceresi kapalı ve serbest metin gönderilmiş → onaylı şablon kullan.
400 name ve templateName gerekliAksiyon oluştururken name veya templateName boş bırakılmış.

İlgili