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
- Der Benutzer gibt die Telefonnummer ein
- API initiiert Flash-Aufruf
- Der Anruf wird nach 1-2 Klingeltönen beendet
- Die App erfasst die Anrufer-ID
- Anrufer-ID anhand des Musters überprüft
- 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
- Nachrichten senden – Beginnen Sie mit dem Senden von Kaskadennachrichten – Nachrichtenvariablen – Nachrichten personalisieren – SMSBAT API – Entdecken Sie SMSBAT-Funktionen