Zum Inhalt

Nachrichtentypen

Cascade API unterstützt vier Nachrichtentypen, die jeweils für unterschiedliche Anwendungsfälle und Kanäle optimiert sind.

Übersicht

Geben Sie ein Zweck Kanäle Interaktiv
„Transaktion“ Kritische Benachrichtigungen Alle Nein
„Promo“ Marketingkampagnen Alle Ja (Schaltflächen)
viber_survey Umfragen und Feedback Viber, SMS Ja (Optionen)
Flashcall Telefonverifizierung Telefonanruf Nein

Transaktionsnachrichten

Kritische Benachrichtigungen wie Bestellbestätigungen, Kontoaktualisierungen und Systemwarnungen.

Eigenschaften

  • Lieferung mit hoher Priorität
  • Kein Werbeinhalt
  • Direkt und prägnant
  • Zeitkritisch
  • Weitergeleitet über: Telegram → Viber → RCS → SMS

Anwendungsfälle

  • Auftragsbestätigungen
  • Zahlungsbenachrichtigungen
  • Kontobenachrichtigungen
  • Sicherheitsbenachrichtigungen
  • Lieferaktualisierungen
  • Passwort-Resets

Beispiel

{
  "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
}

Best Practices

  • ✅ Halten Sie Nachrichten nach Möglichkeit unter 160 Zeichen
  • ✅ Geben Sie relevante Transaktionsdetails an
  • ✅ Stellen Sie Tracking-Links bereit
  • ✅ Verwenden Sie eine klare, professionelle Sprache
  • ❌ Fügen Sie keine Marketinginhalte hinzu
  • ❌ Benutze Emojis nicht übermäßig

Beispiele nach Anwendungsfall

Auftragsbestätigung

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

Zahlungsbenachrichtigung

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

Sicherheitswarnung

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

Lieferaktualisierung

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

Werbenachrichten

Marketing- und Werbekampagnen mit Rich Media und interaktiven Elementen.

Eigenschaften

  • Rich Media-Unterstützung
  • Interaktive Schaltflächen
  • Call-to-Action fokussiert
  • Längere TTL akzeptabel
  • Weitergeleitet über: Telegram → Viber → RCS → SMS

Anwendungsfälle

  • Produkteinführungen
  • Verkaufsankündigungen
  • Einladungen zu Veranstaltungen
  • Newsletter-Kampagnen
  • Sonderangebote
  • Markenbekanntheit

Beispiel

{
  "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
}

Mit Variablen

{
  "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"}
  ]
}

Best Practices

  • ✅ Fügen Sie einen klaren Call-to-Action hinzu
  • ✅ Verwenden Sie eine ansprechende Sprache
  • ✅ Tracking-Parameter zu URLs hinzufügen
  • ✅ Personalisieren Sie mit Variablen
  • ✅ Testen Sie auf mehreren Kanälen
  • ❌ Spammen Sie keine Kunden
  • ❌ Verwenden Sie keine irreführenden Inhalte
  • ❌ Überschreiten Sie nicht die Zeichenbeschränkung

Beispiele nach Anwendungsfall

Produkteinführung

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

Flash-Sale

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

Einladung zur Veranstaltung

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

Verlassener Einkaufswagen

{
  "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-Umfrage

Interaktive Umfragen und Umfragen zum Sammeln von Kundenfeedback.

Eigenschaften

  • 2-5 Antwortmöglichkeiten
  • Text auf 85 Zeichen begrenzt
  • Interaktive Schnittstelle auf Viber
  • Fallback auf SMS (ohne Interaktivität)
  • Einzelfragenformat

Anwendungsfälle

  • Umfragen zur Kundenzufriedenheit
  • Produktfeedback
  • Bewertungen der Servicequalität
  • Marktforschung
  • Event-Feedback
  • Net Promoter Score (NPS)

Beispiel

{
  "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
}

Einschränkungen

  • Text: Maximal 85 Zeichen
  • Optionen: 2-5 Auswahlmöglichkeiten
  • Optionslänge: Behalten Sie jeweils weniger als 30 Zeichen bei
  • TTL: Empfohlen 7–30 Tage

Best Practices

  • ✅ Stellen Sie eine klare Frage
  • ✅ Bieten Sie ausgewogene Optionen
  • ✅ Verwenden Sie eine einfache Sprache
  • ✅ Halten Sie die Optionen kurz
  • ✅ Stellen Sie die entsprechende TTL ein (7+ Tage)
  • ❌ Stellen Sie nicht mehrere Fragen
  • ❌Verwenden Sie keinen Fachjargon
  • ❌ Beeinflussen Sie Ihre Antworten nicht

Beispiele nach Anwendungsfall

Kundenzufriedenheit (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"
  ]
}

Produkt-Feedback

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

Servicequalität

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

Ereignis-Feedback

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

Flash-Anruf

Telefonische Verifizierung durch automatisierte Anrufe anstelle von SMS-Codes.

Eigenschaften

  • Kostengünstige Verifizierung
  • Schneller als SMS (1-3 Sekunden)
  • Kein sichtbarer Code in Benachrichtigungen
  • Resistent gegen SIM-Swap-Angriffe
  • Nur Telefonanruf (kein Telegram/Viber)

Anwendungsfälle

  • Benutzerregistrierung
  • Anmeldebestätigung
  • Telefonnummernvalidierung
  • Zwei-Faktor-Authentifizierung
  • Kontowiederherstellung
  • Transaktionsbestätigung

Beispiel

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

Wie es funktioniert

  1. Der Benutzer gibt die Telefonnummer ein
  2. API initiiert Flash-Aufruf
  3. Der Anruf wird nach 1-2 Klingeltönen beendet
  4. Die App erfasst die Anrufer-ID
  5. Anrufer-ID anhand des Musters überprüft
  6. Benutzer authentifiziert

Best Practices

  • ✅ Kurze TTL einstellen (60-300 Sekunden)
  • ✅ Implementieren Sie die Anrufer-ID-Erkennung
  • ✅ SMS-Fallback bereitstellen
  • ✅ Berechtigungsanfragen bearbeiten
  • ✅ Klare Anweisungen anzeigen
  • ❌ Nicht für Werbezwecke verwenden
  • ❌ Stellen Sie keine lange TTL ein

Beispiel mit Fallback

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

Den richtigen Typ auswählen

Entscheidungsbaum

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)

Vergleichsmatrix

Funktion Transaktion Promo Umfrage Flash-Anruf
Rich Media
Interaktiv
Personalisierung
Typisches TTL Stunden Tage Woche Minuten
Kosten Mittel Mittel Mittel Niedrig
Liefergeschwindigkeit Schnell Schnell Schnell Am schnellsten

Implementierungsbeispiel

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'
);

Nächste Schritte