Kampanya yüzeyi kişi listesi, şablon ve güvenli medya eklerini tek batch içinde birleştirir. Her kampanya kullanıcı scope’unda tutulur; başka bir müşteriye ait liste, şablon veya asset kullanılamaz.
Kampanya tek bir batch_id ile temsil edilir; gönderim durumu ve teslim metrikleri aynı kayıtta toplanır.
contact_list_id ve template_id birlikte kullanıldığında değişkenler liste satırlarındaki alanlardan çözülür.
Queued batch iptal edilebilir; çok alıcılı kampanyalar ileri tarihe de planlanabilir.
/v1/messages/bulkToplu kampanya oluştur
Kişi listesi, şablon ve isteğe bağlı `asset_id` kullanarak batch tabanlı toplu gönderim başlatır.
device_id her kampanya için zorunludur.contact_list_id + template_id + default_message kombinasyonu çoğu kampanya için yeterlidir.Kişi listesi, şablon ve asset ownership kontrolü batch yaratılmadan önce zorunlu olarak doğrulanır.
İstek
curl --request POST \
--url {{BASE_URL}}/v1/messages/bulk \
--header "X-API-Key: {{API_KEY}}" \
--header "Content-Type: application/json" \
--data '{
"device_id": "{{DEVICE_ID}}",
"name": "Nisan Kampanyası",
"contact_list_id": "{{CONTACT_LIST_ID}}",
"template_id": "{{TEMPLATE_ID}}",
"asset_id": "{{ASSET_ID}}",
"default_message": "Merhaba {{ad}}, yeni kampanyamız başladı."
}'Yanıt
{
"data": {
"batch_id": "fd9f7a2a-7120-4f54-a3b6-d74b2e2990d8",
"name": "Nisan Kampanyası",
"status": "queued",
"total_count": 248,
"created_at": "2026-04-01T09:22:15Z"
}
}/v1/messages/bulkKampanyaları listele
Kullanıcının batch geçmişini cihaz adı, durum ve temel funnel metrikleri ile listeler.
Kampanya funnel ayrıntısı gerekiyorsa GET /v1/messages/bulk/:batch_id/stats çağrısını kullanın.
Liste görünümü batch sağlık durumunu hızlı görmek için özet metrikler döndürür.
İstek
curl --request GET \
--url {{BASE_URL}}/v1/messages/bulk \
--header "X-API-Key: {{API_KEY}}"Yanıt
{
"data": {
"campaigns": [
{
"id": "fd9f7a2a-7120-4f54-a3b6-d74b2e2990d8",
"name": "Nisan Kampanyası",
"status": "completed",
"total": 248,
"sent": 248,
"delivered": 214,
"read": 177,
"failed": 6,
"pending": 0,
"device_id": "3baedacf-53bf-4061-a0f5-5235cab38875",
"device_name": "Satış Hattı",
"created_at": "2026-04-01T09:22:15Z"
}
]
}
}/v1/messages/bulk/:batch_idTek kampanya detayını al
Tek bir kampanyanın ilerleme durumu, cihaz kaynağı ve tamamlanma zamanını döndürür.
progress alanı gönderilmiş kayıtların toplam batch büyüklüğüne oranını verir.
Bu uç batch bazında operasyonel görünüm verir; alıcı bazlı breakdown için mesaj listesi uçlarını kullanın.
İstek
curl --request GET \
--url {{BASE_URL}}/v1/messages/bulk/{{BATCH_ID}} \
--header "X-API-Key: {{API_KEY}}"Yanıt
{
"data": {
"id": "fd9f7a2a-7120-4f54-a3b6-d74b2e2990d8",
"name": "Nisan Kampanyası",
"status": "completed",
"created_at": "2026-04-01T09:22:15Z",
"started_at": "2026-04-01T09:22:17Z",
"completed_at": "2026-04-01T09:34:12Z",
"total_recipients": 248,
"sent": 248,
"delivered": 214,
"read": 177,
"failed": 6,
"pending": 0,
"progress": 100,
"device_id": "3baedacf-53bf-4061-a0f5-5235cab38875",
"device_name": "Satış Hattı"
}
}/v1/messages/bulk/:batch_id/statsKampanya istatistiğini al
Tek bir batch için delivered, read, pending ve failed sayımlarını döndürür.
Kampanya performans panelinizi beslemek için en doğru batch özet kaynağı bu uçtur.
Bu uç campaign-level olduğu için public mesaj istatistik özetinden farklıdır; bu nedenle dokümanda yer alır.
İstek
curl --request GET \
--url {{BASE_URL}}/v1/messages/bulk/{{BATCH_ID}}/stats \
--header "X-API-Key: {{API_KEY}}"Yanıt
{
"data": {
"batch_id": "fd9f7a2a-7120-4f54-a3b6-d74b2e2990d8",
"total_count": 248,
"delivered_count": 214,
"read_count": 177,
"pending_count": 0,
"failed_count": 6,
"created_at": "2026-04-01T09:22:15Z",
"updated_at": "2026-04-01T09:34:12Z"
}
}/v1/messages/schedule/bulkPlanlı kampanya oluştur
Çok alıcılı scheduled grup oluşturur ve planlı gönderimleri tek `group_id` altında yönetir.
recipients alanı kişi listesi yerine doğrudan numara listesi verir; her alıcı yine ayrı kota tüketir.
Scheduled grup içinde seçili numara iptali ve tüm grup iptali ayrı uçlarla desteklenir.
İstek
curl --request POST \
--url {{BASE_URL}}/v1/messages/schedule/bulk \
--header "X-API-Key: {{API_KEY}}" \
--header "Content-Type: application/json" \
--data '{
"device_id": "{{DEVICE_ID}}",
"group_name": "Bayram Kampanyası",
"recipients": ["+905551112233", "+4915112345678"],
"text": "Bayram fırsatlarımız hazır",
"asset_id": "{{ASSET_ID}}",
"scheduled_at": "2026-04-12T09:00:00Z"
}'Yanıt
{
"data": {
"group_id": "eb5f0936-a67f-4d4f-9807-0d087c9097dc",
"group_name": "Bayram Kampanyası",
"total_count": 2,
"pending_count": 2,
"scheduled_at": "2026-04-12T09:00:00Z"
}
}Diğer kampanya uçları
| Metot | Yol | Amaç |
|---|---|---|
POST | /v1/messages/bulk/:batch_id/cancel | Kuyruktaki batch’i iptal eder |
GET | /v1/messages/scheduled/group/:group_id | Planlı grubun bekleyen kayıtlarını ve özetini döner |
DELETE | /v1/messages/scheduled/group/:group_id | Group içindeki pending kayıtları iptal eder |
POST | /v1/messages/scheduled/group/cancel-selective | Group içindeki seçili numaraları iptal eder |
Not
Legacy amaçlı /v1/messages/bulk/schedule varyasyonu sistem içinde bulunabilir; dış entegrasyon için
önerilen ve dokümante edilen uç /v1/messages/schedule/bulk yoludur.
