messages:send yetkisine ihtiyacı vardır. Bu yetki
templates:read ve conversations:read yetkilerini de kapsar.
1. Kanalı bulun
Kanal listesini bir kez okuyun ve WhatsApp kanalınızın kimliğini saklayın:Çalışma alanında tek bir WhatsApp kanalı varsa, sonraki adımlarda
channel_id alanını atlayabilirsiniz. Kai kanalı sizin için bulur.2. Şablonları ipuçlarıyla listeleyin
Kullanıcınız gönderim penceresini açtığında şablonları isteyin. Mesajı gönderen ekip arkadaşının e-posta adresini ve müşteriyi de ekleyin:variables alanı, yer
tutucuları gönderiminizin dolduracağı sırayla adlandırır.
Başlıklı şablonlar
Bir şablonun mesajın üstünde bir başlığı olabilir. WhatsApp başlığı ilk satırda kalın gösterir.header alanı başlığı taşır; şablonun başlığı yoksa
null olur.
Başlığın kendi değişkenleri olabilir ve Kai bunları doldurur. WhatsApp,
başlığın ve mesajın değişkenlerini ayrı numaralar ve adlandırır; bu yüzden
başlıktaki {{1}} ile mesajdaki {{1}} iki ayrı değerdir.
Bu nedenle her değişkenin bir adresi vardır; gönderirken bu adı
kullanırsınız:
variables alanı bu adresleri, gönderimin dolduracağı sırayla listeler:
önce başlığın değişkenleri, sonra mesajın değişkenleri. Her ipucu ayrıca
header veya body olan bir part alanı taşır; alanlarınızı buna göre
gruplayabilirsiniz.
Kai, görsel, video veya belge başlığı olan bir şablonu gönderemez; çünkü o
başlık bir değer değil bir dosya ister. Kai, bir düğmesinde değişken bağlantı
olan şablonu da gönderemez. Bu şablonlar yanıtta yer almaz. Onları görmek
için
status=all ekleyin; orada sendable alanı false olur.İpuçlarını kullanın
variable_hints içindeki her kayıt, bir alanı nasıl dolduracağınızı söyler:
nullolmayan birvalue, Kai’nin kullanacağı değerdir. Alanınızı bu değerle önden doldurun. Kullanıcınız göndermeden önce bunu değiştirebilir.nullolan birvalue, Kai’nin bu değişkeni dolduramadığı anlamına gelir. Kullanıcınızdan bu değeri isteyin ve o yanıtlamadan göndermeyin.
binding alanı, değerin nereden geldiğini söyler. agent_name, agent
alanındaki ekip arkadaşının profilini okur. customer_name kişiyi okur.
free, her seferinde bir insanın yazdığı anlamına gelir. Çalışma alanı bir
bağlamayı Ayarlar (Settings) → Kanallar (Channels) altında yapılandırır.
Kimse yapılandırmadığında Kai bunu değişkenin adından tahmin eder; bu yüzden
{{consultant_name}} ve {{customer_name}} kurulum olmadan çalışır.
Hiçbir üyenin taşımadığı bir agent adresi, "agent": null ve boş ipuçları
döndürür. Boş bir alanı incelerken bu alanı okuyun.
Kai gönderim anında hiçbir değişkeni doldurmaz. Gönderim bütün değerleri
ister. Mesaj çıkmadan önce kişinin okuduğu şey sizin formunuzdur; bu ekranın
ardından Kai’nin eklediği bir değeri kimse onaylamamış olur.
3. Şablonu gönderin
Değerler için iki biçim
Değişkenlerini adlandıran bir şablon, yukarıdaki gibi bir nesne kabul eder. Anahtarlar, 2. adımdaki adreslerdir. Kai değerleri şablonun sırasına koyar, yani bu sırayı bilmeniz gerekmez. Bütün değişkenlerini numaralayan bir şablon ({{1}}, {{2}}), 2. adımdaki
variables alanının sırasıyla bir dizi kabul eder. Başlığın değerleri önce
gelir:
header. yazmanız gerekir.
Tek çağrı her şeyi yapar. Kai numaranın konuşmasını bulur veya oluşturur.
Arkasındaki kişiyi bulur veya oluşturur. Şablonun başlığını ve gövdesini
kendi kopyasından doldurur ve gönderir. Sonra konuşmayı assignee alanındaki ekip arkadaşına
atar.
Her çağrıda opt_in_confirmed alanını true yapmanız gerekir. Bu, kişinin
sizden mesaj almayı kabul ettiğine dair sizin beyanınızdır. Kai bu beyanı
mesajın üzerinde saklar.
existing_conversation alanı true ise konuşma zaten vardı. Mesaj o
konuşmaya eklendi ve ikinci bir konuşma açılmadı.
Kişiyi "to": { "contact_id": "..." } ile de adlandırabilirsiniz. Kai o
zaman kişinin kayıtlı telefon numarasını kullanır. Telefonu olmayan bir kişi
no_phone hatası döndürür.
4. Güvenle yeniden deneyin
Bir gönderim para tutar ve bir insana ulaşır. Her mesaj niyeti için benzersiz bir değerleIdempotency-Key başlığı gönderin.
- Aynı anahtarla bir çağrı zaten başarılı olduysa, Kai saklanan yanıtı döndürür ve tekrar göndermez.
- İlk çağrı başarısız olduysa, Kai anahtarı serbest bırakır. Yeniden denemeniz çalışır.
- İlk çağrı hâlâ çalışıyorsa, Kai 409
idempotency_in_flighthatası döndürür. Kısa bir süre sonra yeniden deneyin. - Aynı anahtar farklı bir gövdeyle 422
idempotency_mismatchhatası döndürür. Yeni bir mesaj için yeni bir anahtar kullanın.
5. Yanıtı kimin karşılayacağına karar verin
Gönderimin kendisi konuşmayı kimin yöneteceğine karar vermez. Bunaassignee alanı karar verir.
assigneeile konuşma o ekip arkadaşına ait olur. Kai atanmış bir konuşmada yanıt vermez. Müşterinin yanıtı, o ekip arkadaşının gelen kutusunda ve Element X odalarında bekler.assigneeolmadan konuşma, kanalın yanıt politikasında kalır. Kanal otopilotta çalışıyorsa, müşteriye Kai yanıt verebilir.
assignee adlandırın,
örneğin bir satış görüşmesinde. Yanıtı Kai karşılayabilirse alanı atlayın,
örneğin bir ödeme hatırlatmasında.
Hatalar
Hata biçimi ve genel kodlar için
Hata yönetimi sayfasına bakın.