Ana içeriğe geç

Mesaj Türleri

Cascade API, her biri farklı kullanım durumları ve kanallar için optimize edilmiş dört mesaj türünü destekler.

Genel Bakış

Tür Amaç Kanallar İnteraktif
'işlem' Kritik bildirimler Hepsi Hayır
'promosyon' Pazarlama kampanyaları Hepsi Evet (düğmeler)
'viber_survey' Anketler ve geri bildirimler Viber, SMS Evet (seçenekler)
'flaş arama' Telefon doğrulaması Telefon görüşmesi Hayır

İşlem Mesajları

Sipariş onayları, hesap güncellemeleri ve sistem uyarıları gibi kritik bildirimler.

Özellikler

  • Yüksek öncelikli teslimat
  • Promosyon içeriği yok
  • Doğrudan ve özlü
  • Zamana duyarlı
  • Yönlendirildi: Telegram → Viber → RCS → SMS

Kullanım Durumları

  • Sipariş onayları
  • Ödeme bildirimleri
  • Hesap uyarıları
  • Güvenlik bildirimleri
  • Teslimat güncellemeleri
  • Şifre sıfırlamaları

Örnek

{
  "id": "tx-order-12345",
  "fromName": "YourStore",
  "toPhone": "+380XXXXXXXXX",
  "messageType": "transaction",
  "text": "Order #12345 confirmed. Total: $99.99. Delivery: Jan 25. Track: https://example.com/track/12345",
  "ttl": 86400
}

En İyi Uygulamalar

  • ✅ Mümkün olduğunda mesajları 160 karakterin altında tutun
  • ✅ İlgili işlem ayrıntılarını ekleyin
  • ✅ İzleme bağlantıları sağlayın
  • ✅ Açık ve profesyonel bir dil kullanın
  • ❌ Pazarlama içeriğine yer vermeyin
  • ❌ Emojileri aşırı kullanmayın

Kullanım Senaryosuna Göre Örnekler

Sipariş Onayı

{
  "messageType": "transaction",
  "text": "Order #12345 confirmed. Total: $99.99. Expected delivery: Jan 25."
}

Ödeme Bildirimi

{
  "messageType": "transaction",
  "text": "Payment of $150.00 to Merchant ABC successful. Transaction ID: TXN789. Balance: $850.00"
}

Güvenlik Uyarısı

{
  "messageType": "transaction",
  "text": "New login detected from iPhone at 10:30 AM. Location: New York. If this wasn't you, secure your account immediately."
}

Teslimat Güncellemesi

{
  "messageType": "transaction",
  "text": "Your package is out for delivery! Expected arrival: 2-4 PM. Track: https://track.example.com/PKG123"
}

Promosyon Mesajları

Zengin medya ve etkileşimli öğeler içeren pazarlama ve tanıtım kampanyaları.

Özellikler

  • Zengin medya desteği
  • Etkileşimli düğmeler
  • Harekete geçirici mesaj odaklı
  • Daha uzun TTL kabul edilebilir
  • Yönlendirildi: Telegram → Viber → RCS → SMS

Kullanım Durumları

  • Ürün lansmanları
  • Satış duyuruları
  • Etkinlik davetiyeleri
  • Bülten kampanyaları
  • Özel teklifler
  • Marka bilinirliği

Örnek

{
  "id": "promo-summer-sale",
  "fromName": "YourBrand",
  "toPhone": "+380XXXXXXXXX",
  "messageType": "promo",
  "text": "🌟 Summer Sale! Up to 50% off on selected items. Shop now: https://example.com/sale",
  "ttl": 259200
}

Değişkenlerle

{
  "messageType": "promo",
  "text": "Hi %name=1%! Exclusive offer: Use code %name=2% for 20% off. Shop: %short_url=1%",
  "variables": [
    {"id": 1, "type": "name", "value": "John"},
    {"id": 2, "type": "name", "value": "VIP20"},
    {"id": 1, "type": "short_url", "value": "https://store.com/sale?utm=sms"}
  ]
}

En İyi Uygulamalar

  • ✅ Açık harekete geçirici mesajlar ekleyin
  • ✅ İlgi çekici bir dil kullanın
  • ✅ URL'lere izleme parametreleri ekleyin
  • ✅ Değişkenlerle kişiselleştirin
  • ✅ Birden fazla kanalda test yapın
  • ❌ Müşterilere spam göndermeyin
  • ❌ Yanıltıcı içerik kullanmayın
  • ❌ Karakter sınırlarını aşmayın

Kullanım Senaryosuna Göre Örnekler

Ürün Lansmanı

{
  "messageType": "promo",
  "text": "🎉 NEW ARRIVAL: iPhone 15 Pro now available! Pre-order today and get free shipping. Visit: https://store.com/iphone15"
}

Flaş İndirim

{
  "messageType": "promo",
  "text": "⚡ FLASH SALE: 2 hours only! Extra 30% off everything. Use code: FLASH30. Shop now: https://store.com/flash"
}

Etkinlik Davetiyesi

{
  "messageType": "promo",
  "text": "You're invited! VIP Shopping Event on Jan 25 at 6 PM. Exclusive deals + refreshments. RSVP: https://events.com/vip"
}

Terk Edilmiş Sepet

{
  "messageType": "promo",
  "text": "Hi %name=1%! You left items in your cart. Complete purchase now and get 10% off with code CART10: %short_url=1%"
}

Viber Anketi

Müşteri geri bildirimlerini toplamak için etkileşimli anketler ve anketler.

Özellikler

  • 2-5 yanıt seçeneği
  • Metin 85 karakterle sınırlıdır
  • Viber'de etkileşimli arayüz
  • SMS'e geri dönüş (etkileşim olmadan)
  • Tek soru formatı

Kullanım Durumları

  • Müşteri memnuniyeti anketleri
  • Ürün geri bildirimi
  • Hizmet kalitesi derecelendirmeleri
  • Pazar araştırması
  • Etkinlik geri bildirimi
  • Net Tavsiye Puanı (NPS)

Örnek

{
  "id": "survey-satisfaction-001",
  "fromName": "YourBrand",
  "toPhone": "+380XXXXXXXXX",
  "messageType": "viber_survey",
  "text": "How satisfied are you with our service?",
  "surveyOptions": [
    "Very Satisfied",
    "Satisfied",
    "Neutral",
    "Dissatisfied",
    "Very Dissatisfied"
  ],
  "ttl": 604800
}

Kısıtlamalar

  • Metin: Maksimum 85 karakter
  • Seçenekler: 2-5 seçenek
  • Seçenek Uzunluğu: Her biri 30 karakterin altında tutun
  • TTL: Önerilen 7-30 gün

En İyi Uygulamalar

  • ✅ Net bir soru sorun
  • ✅ Dengeli seçenekler sunun
  • ✅ Basit bir dil kullanın
  • ✅ Seçenekleri kısa ve öz tutun
  • ✅ Uygun TTL'yi ayarlayın (7+ gün)
  • ❌ Birden fazla soru sormayın
  • ❌ Teknik jargon kullanmayın
  • ❌ Yanıtlara önyargılı davranmayın

Kullanım Senaryosuna Göre Örnekler

Müşteri Memnuniyeti (NPS)

{
  "messageType": "viber_survey",
  "text": "How likely are you to recommend us to a friend?",
  "surveyOptions": [
    "0 - Not at all",
    "1-6 - Unlikely",
    "7-8 - Likely",
    "9-10 - Very Likely"
  ]
}

Ürün Geri Bildirimi

{
  "messageType": "viber_survey",
  "text": "How do you rate our new product?",
  "surveyOptions": [
    "⭐️ Excellent",
    "⭐️ Good",
    "⭐️ Average",
    "⭐️ Poor",
    "⭐️ Very Poor"
  ]
}

Hizmet Kalitesi

{
  "messageType": "viber_survey",
  "text": "Was your support experience helpful?",
  "surveyOptions": [
    "Yes, very helpful",
    "Somewhat helpful",
    "Not helpful"
  ]
}

Etkinlik Geri Bildirimi

{
  "messageType": "viber_survey",
  "text": "Would you attend our events again?",
  "surveyOptions": [
    "Definitely yes",
    "Probably yes",
    "Not sure",
    "Probably not",
    "Definitely not"
  ]
}

Hızlı Arama

SMS kodları yerine otomatik aramaları kullanarak telefon doğrulaması.

Özellikler

  • Uygun maliyetli doğrulama
  • SMS'den daha hızlı (1-3 saniye)
  • Bildirimlerde görünür kod yok
  • SIM değiştirme saldırılarına karşı dayanıklı
  • Yalnızca telefon görüşmesi (Telegram/Viber yok)

Kullanım Durumları

  • Kullanıcı kaydı
  • Giriş doğrulama
  • Telefon numarası doğrulama
  • İki faktörlü kimlik doğrulama
  • Hesap kurtarma
  • İşlem onayı

Örnek

{
  "id": "verify-user-12345",
  "fromName": "YourApp",
  "toPhone": "+380XXXXXXXXX",
  "messageType": "flashcall",
  "ttl": 300
}

Nasıl Çalışır?

  1. Kullanıcı telefon numarasını girer
  2. API hızlı çağrıyı başlatır
  3. Arama 1-2 kez çaldıktan sonra sonlandırılır
  4. Uygulama arayanın kimliğini yakalar
  5. Arayanın kimliği kalıba göre doğrulandı
  6. Kullanıcının kimliği doğrulandı

En İyi Uygulamalar

  • ✅ Kısa TTL'yi ayarlayın (60-300 saniye)
  • ✅ Arayan kimliği tespitini uygulayın
  • ✅ SMS geri dönüşü sağlayın
  • ✅ İzin taleplerini ele alın
  • ✅ Açık talimatları göster
  • ❌Tanıtım amaçlı kullanmayınız
  • ❌ Uzun TTL ayarlamayın

Geri Dönüş ile Örnek

{
  "id": "verify-001",
  "fromName": "YourApp",
  "toPhone": "+380XXXXXXXXX",
  "messageType": "flashcall",
  "ttl": 300,
  "fallback": {
    "messageType": "transaction",
    "text": "Your verification code: 123456"
  }
}

Doğru Türü Seçmek

Karar Ağacı

Is it time-critical or transactional?
├─ Yes → transaction
└─ No
   └─ Is it promotional?
      ├─ Yes → promo
      └─ No
         └─ Is it a survey?
            ├─ Yes → viber_survey
            └─ No → Is it for verification?
               ├─ Yes → flashcall
               └─ No → transaction (default)

Karşılaştırma Matrisi

Özellik İşlem Promosyon Anket Hızlı Arama
Zengin Medya
İnteraktif
Kişiselleştirme
Tipik TTL Saat Günler Hafta Dakika
Maliyet Orta Orta Orta Düşük
Teslimat Hızı Hızlı Hızlı Hızlı En hızlı

Uygulama Örneği

class CascadeMessageBuilder {
  constructor(apiKey) {
    this.apiKey = apiKey;
  }

  buildTransaction(id, fromName, toPhone, text, ttl = 86400) {
    return {
      id,
      fromName,
      toPhone,
      messageType: 'transaction',
      text,
      ttl
    };
  }

  buildPromo(id, fromName, toPhone, text, ttl = 259200) {
    return {
      id,
      fromName,
      toPhone,
      messageType: 'promo',
      text,
      ttl
    };
  }

  buildSurvey(id, fromName, toPhone, text, options, ttl = 604800) {
    if (text.length > 85) {
      throw new Error('Survey text must be under 85 characters');
    }

    if (options.length < 2 || options.length > 5) {
      throw new Error('Survey must have 2-5 options');
    }

    return {
      id,
      fromName,
      toPhone,
      messageType: 'viber_survey',
      text,
      surveyOptions: options,
      ttl
    };
  }

  buildFlashCall(id, fromName, toPhone, ttl = 300) {
    return {
      id,
      fromName,
      toPhone,
      messageType: 'flashcall',
      ttl
    };
  }

  async send(message) {
    // Implementation to send message
  }
}

// Usage
const builder = new CascadeMessageBuilder('your-api-key');

// Transaction
const transaction = builder.buildTransaction(
  'order-123',
  'Store',
  '+380XXXXXXXXX',
  'Order confirmed'
);

// Promo
const promo = builder.buildPromo(
  'promo-001',
  'Brand',
  '+380XXXXXXXXX',
  'Sale now on!'
);

// Survey
const survey = builder.buildSurvey(
  'survey-001',
  'Brand',
  '+380XXXXXXXXX',
  'Rate our service?',
  ['Excellent', 'Good', 'Average', 'Poor']
);

// Flash Call
const flashCall = builder.buildFlashCall(
  'verify-001',
  'App',
  '+380XXXXXXXXX'
);

Sonraki Adımlar