Whatsapp Şablon API'si
WhatsApp Şablon API'si – Genel Bakış
WhatsApp Şablon API'si, herhangi bir grafik arayüz olmaksızın tamamen API seviyesinde çalışmak üzere tasarlanmış, MonoChat ile entegre bir uygulamadır. Bu, WhatsApp Business hesaplarını MonoChat'e bağlamış olan kullanıcıların, güvenli REST API uç noktaları aracılığıyla WhatsApp Şablon Mesajlarını programlı olarak yönetmelerini sağlar.
Bu uygulama yüklendiğinde, sistemleriniz şunları yapabilir:
- WhatsApp Business numaralarınızla ilişkili, WhatsApp tarafından onaylanmış tüm mesaj şablonlarını listeleme.
- Seçilen bir şablon mesajını, dinamik parametrelerini (değişkenlerini) doldurarak herhangi bir müşteriye gönderme.
- Şablon mesajları içinde kullanılan medya dosyalarını, geçici bir yükleme URL'si oluşturarak yükleme. Bu sayede görsellerinizi MonoChat'in AWS S3 tabanlı medya depolama alanında saklayabilir ve şablon mesajları içinde referans gösterebilirsiniz.
Bu entegrasyon, teknik ekiplerin WhatsApp onaylı şablonları doğrudan kod aracılığıyla göndermesine olanak tanırken, iş ekipleri şablon yönetimi ve operasyonel süreklilik için MonoChat'e güvenebilir.
Not: WhatsApp Şablon Mesajları, WhatsApp tarafından önceden onaylanmıştır ve genellikle sohbet başlatmak veya müşterilere 24 saatlik pencere dışında mesaj göndermek için gereklidir.
Bu uygulamayı kullanmak için şunlardan emin olun:
- WhatsApp Business numaranız MonoChat ile zaten entegre edilmiş olmalıdır.
- Şablon mesajlarınız onaylanmış ve WhatsApp Business hesabınızda kullanılabilir durumda olmalıdır.
Nasıl Kurulur
Adım 1: Ayarlar -> MonoStore'a gidin
MonoChat çalışma alanınızdaki Ayarlar bölümüne gidin ve MonoStore'u açarak Whatsapp Şablon API'si dahil olmak üzere mevcut tüm uygulamalara erişin.

Adım 2: Uygulamayı Kurun
MonoStore listesinde Whatsapp Şablon API'sini bulun ve çalışma alanınıza eklemek için Kur'a (Install) tıklayın. Uygulama hemen kuruluma hazır olacaktır.

Adım 3: Yüklü Uygulamaları Yönetin
Kurulduktan sonra, tüm uygulamalarınızı Yüklü Uygulamalar bölümü altında görebilirsiniz.
Buradan şunları yapabilirsiniz:
- Her uygulamanın detaylı ayarlarına erişme
- Uygulama tercihlerini yapılandırma veya güncelleme
- Artık ihtiyacınız olmayan herhangi bir uygulamayı kaldırma
Bu, MonoStore çalışma alanınızı temiz, düzenli ve iş ihtiyaçlarınıza tam olarak özelleştirilmiş tutmanızı sağlar.
Whatsapp Şablon API'sini Kullanma
WhatsApp Şablon API'si, geliştiricilerin önceden onaylanmış WhatsApp mesaj şablonlarını MonoChat arayüzüyle etkileşime girmeden doğrudan MonoChat aracılığıyla göndermelerine olanak tanır.
Bu belge, Şablon API uygulaması tarafından sağlanan RESTful uç noktalarını kullanarak şablonların nasıl listeleneceğini, medya yüklemesi yapılacağını ve şablon mesajların programlı olarak nasıl gönderileceğini açıklar.
Genel Bakış
Şablon API'si ile şunları yapabilirsiniz:
- WhatsApp Business numaranızla ilişkili tüm WhatsApp şablonlarını listeleme
- Şablon bileşenlerini ve değişkenlerini inceleme
- Şablon başlıkları için gereken medyayı (görsel/belge/video) yükleme
- Değişken parametrelerle WhatsApp Şablon Mesajları gönderme
- Mesaj teslimat sonuçlarına ve konuşma bağlantılarına erişme
Her istek şunları içermelidir:
- MonoChat tenant slug'ınız
- Geçerli bir Bearer API Token
- MonoChat'e kayıtlı bir WhatsApp Business telefon numarası
Kullanım Örnekleri
Bu bölüm, WhatsApp Şablon API'sinin yaygın kullanım senaryolarını adım adım örneklerle açıklamaktadır.
Örnek Senaryo
Müşteri adı ve ürün adı için değişkenler içeren ve görsel başlığa sahip, "Yeni Ürün Duyurusu" adında onaylanmış bir WhatsApp Business şablonunuz olduğunu varsayalım.
Bu şablonu API aracılığıyla MonoChat üzerinden bir müşteriye göndermek istiyorsunuz.
İzlemeniz gereken adımlar şunlardır:
1. Şablonları Listeleme
İlk olarak, WhatsApp Business telefon numaranızla ilişkili tüm şablonları almak için template/list API uç noktasını çağırın.
Bu yanıt şunları içerir:
- Şablon adları
- Dil kodları
- Kategoriler
- Bileşenler (başlık/gövde/altbilgi)
- Değişken yapıları
Bu listeden, "Yeni Ürün Duyurusu" şablonunuzun adını ve değişken yapısını bulabilirsiniz.
API tarafından döndürülen örnek bir kayıt şöyle görünebilir:
{
"name": "new_product_announcement",
"languageCode": "tr-TR",
"category": "MARKETING",
"components": [
{
"type": "HEADER",
"format": "IMAGE",
"variables": [
{
"type": "IMAGE",
"exampleValue": "https://.../sample-image.png"
}
]
},
{
"type": "BODY",
"text": "Merhaba {{1}}, yeni ürünümüz {{2}} çıktı!",
"sampleText": "Merhaba [Ayşe], yeni ürünümüz [XYZ Telefon] çıktı.",
"variables": [
{ "type": "TEXT", "exampleValue": "[Ayşe]" },
{ "type": "TEXT", "exampleValue": "[XYZ Telefon]" }
]
},
{
"type": "FOOTER",
"text": "Teşekkürler",
"sampleText": "Teşekkürler"
}
],
"status": "APPROVED"
}
2. Şablon Görsel İçeriyorsa Medya Yükleme
Şablonunuz bir görsel başlık kullanıyorsa, görseli MonoChat tarafından sağlanan geçici yükleme URL'sini kullanarak önceden yüklemeniz gerekir.
Medyayı yüklemek için, upload/get-token uç noktasını kullanarak bir yükleme jetonu isteyin.
Örneğin, urun.jpg adında bir ürün görseli yüklemek istiyorsanız, şunu çağırırsınız:
POST /api/<slug>/custom-functions/template-app/api/upload/get-token.js
Content-Type: application/json
{
"key": "chat-assets",
"fileName": "urun.jpg"
}
Bu istek, dosyaları doğrudan S3'e yüklemenize olanak tanıyan geçici bir yükleme URL'si (genellikle önceden imzalanmış bir AWS S3 URL'si) döndürür.
Tipik bir yanıt şöyle görünebilir:
{
"result": {
"uploadUrl": "[https://bucket.s3.amazonaws.com/....?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=](https://bucket.s3.amazonaws.com/....?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=)....",
"fileUrl": "[https://cdn.monochat.ai/](https://cdn.monochat.ai/)....<slug>/chat-assets/urun.jpg"
}
}
-
uploadUrl → Gerçek görsel dosyasını yüklemek için kullanacağınız geçici URL.
-
fileUrl → Yüklenen dosyanın herkese açık olacağı URL.
Yüklemeyi tamamlamak için:
UploadUrl'e bir HTTP PUT isteği yapın
- Görselinizin ikili içeriğini (örneğin, urun.jpg) istek gövdesine koyun
- Başarılı bir yüklemeden sonra, dosya fileUrl'de erişilebilir hale gelir
- Bu fileUrl daha sonra WhatsApp şablon API'sine başlık görseli olarak iletilecektir.
Not: Gerçek yanıt yapısı değişebilir. Anahtar adım, dosyayı başarıyla yüklemek ve şablon için kullanılabilir bir URL almaktır.
3. Şablon Mesajını Gönderme
Artık şablon ve medya hazır olduğuna göre, asıl mesajı template/send API uç noktasını kullanarak gönderebilirsiniz.
Bu istekte şunları sağlamanız gerekir:
- Şablon adı
- Dil kodu
- Alıcının telefon numarası
- Şablondaki her değişkenin değerleri (başlık/gövde/butonlar/altbilgi, varsa)
Daha önceki örneğimizden:
{{1}}→ müşteri adı{{2}}→ ürün adı- Başlık → görsel URL'si
Örnek bir istek gövdesi şöyle görünür:
{
"phoneNumber": "905XXXXXXXX",
"templateMessageName": "new_product_announcement",
"languageCode": "tr-TR",
"customerPhoneNumber": "905XXXXXXXX",
"variables": [
{
"type": "HEADER",
"parameters": ["<dosya_URL>"]
},
{
"type": "BODY",
"parameters": ["Ayşe", "XYZ Telefon"]
}
]
}
Değişkenlerin Açıklaması
-
HEADER → parametreler Şablon bir görsel başlık içerdiği için, daha önce yüklenen dosya URL'si buraya iletilir. WhatsApp, mesajı teslim ederken görseli bu URL'den alır.
-
BODY → parametreler Değerler şablon değişkenlerinin yerini alır:
{{1}}→ "Ayşe"{{2}}→ "XYZ Telefon"
Şablon ayrıca butonlar veya altbilgi değişkenleri içeriyorsa, bunları da benzer şekilde ilgili bir tür (örneğin, "BUTTONS") altına ekler ve gerekli parametreleri sağlardınız.
Başarılı Yanıt Örneği
Mesaj başarıyla işlenirse, API tipik olarak 200 OK durumuyla birlikte şöyle bir yanıt döndürür:
{
"status": "OK",
"result": {
"messageId": "gupshup_or_whatsapp_message_id",
"conversationUrl": "https://app.monochat.ai/tenants/<slug>?tab=messages&sessionId=<...>"
}
}
- messageId → WhatsApp veya sağlayıcıya özel mesaj kimliği
- conversationUrl → MonoChat arayüzü içindeki konuşmaya doğrudan bağlantı
Uç Nokta Açıklamaları
MonoChat üzerinde WhatsApp Şablon API uygulaması kurulduktan sonra, aşağıdaki RESTful uç noktalar üzerinden işlem yapılabilir.
Tüm uç nokta URL'lerinde <slug> değerini kendi MonoChat tenant/sunum adınızla değiştirmeniz gerekir.
Ayrıca tüm isteklerde kimlik doğrulaması için:
Authorization: Bearer <API_TOKEN>
header'ı kullanılmalıdır.
Aşağıda her bir uç nokta, açıklaması ve örnek istek/yanıt formatlarıyla birlikte sunulmuştur.
1. Şablonları Listeleme
URL: POST /api/<slug>/custom-functions/template-app/api/template/list.js
Amaç: Belirtilen WhatsApp Business telefon numarasına bağlı tüm şablon mesajlarını listeler.
Dönen listede:
- Şablon adı
- Dil kodu
- Kategori
- İçerik bileşenleri (header/body/footer/buttons)
- Değişken tipleri
- Onay durumu
gibi bilgiler bulunur.
İstek Gövdesi
{
"phoneNumber": "905334445566"
}
Açıklamalar:
- phoneNumber → WhatsApp Business numaranız (Ülke kodu ile, + işareti kullanılmadan)
Örnek İstek:
POST /api/<slug>/custom-functions/template-app/api/template/list.js
Content-Type: application/json
Authorization: Bearer <API_TOKEN>
{
"phoneNumber": "905334445566"
}
Başarılı Yanıt (Kısaltılmış):
{
"result": {
"templateMessages": [
{
"name": "new_product_announcement",
"languageCode": "tr-TR",
"category": "MARKETING",
"components": [
{
"type": "HEADER",
"format": "IMAGE",
"variables": [
{
"type": "IMAGE",
"value": null,
"exampleValue": "https://.../sample-image.png"
}
]
},
{
"type": "BODY",
"text": "Merhaba {{1}}, yeni ürünümüz {{2}} çıktı!",
"sampleText": "Merhaba [Ayşe], yeni ürünümüz [XYZ Telefon] çıktı.",
"variables": [
{ "type": "TEXT", "value": null, "exampleValue": "[Ayşe]" },
{ "type": "TEXT", "value": null, "exampleValue": "[XYZ Telefon]" }
]
},
{
"type": "FOOTER",
"text": "Teşekkürler",
"sampleText": "Teşekkürler"
}
],
"status": "APPROVED"
}
],
"options": {
"pagination": {
"totalCount": 12,
"currentPage": 1,
"pageItems": 12,
"totalPages": 1
}
}
}
}
Bu Yanıt Nasıl Okunur
- name → Mesaj göndermek için kullanılacak sistem adı
- languageCode → Gönderimde kullanılacak dil
- category → WhatsApp kategori türü (MARKETING, TRANSACTIONAL vb.)
- components → Şablonu oluşturan tüm bölümler
Şablon Bileşenlerine Genel Bakış
| Bileşen | İçerik | Açıklama |
|---|---|---|
| HEADER | IMAGE, DOCUMENT vb. | Medya varsa format belirtilir, değişken varsa variables içinde görünür. |
| BODY | Text + variables | Mesaj gövdesi, {{1}}, {{2}} gibi yer tutucular (placeholder) içerir. |
| FOOTER | Text | Genellikle değişken içermez. |
| BUTTONS | URL, Quick Reply | Buton metinleri ve varsa değişkenleri içerir. |
Örnek Yorumlama
Yukarıdaki örnek şablon için:
- HEADER → 1 adet IMAGE değişkeni (görsel URL'si)
- BODY → 2 adet TEXT değişkeni (müşteri adı, ürün adı)
- FOOTER → sabit metin ("Teşekkürler")
- BUTTONS → yok (bu nedenle listelenmemiş)
2. Şablon Mesajı Gönderme
Belirli bir alıcıya WhatsApp şablon mesajı göndermek için aşağıdaki uç noktayı kullanabilirsiniz:
URL: /api/<slug>/custom-functions/template-app/api/template/send.js
Metot: POST
Açıklama: Bu uç nokta, bir WhatsApp şablon mesajının WhatsApp Business API'si (veya entegre sağlayıcı) aracılığıyla gönderilmesini tetikler.
Şablon adını, dili, alıcının telefon numarasını ve gerekli tüm değişkenleri belirtmeniz gerekir.