Typy zpráv
Cascade API podporuje čtyři typy zpráv, z nichž každý je optimalizován pro různé případy použití a kanály.
Přehled
| Typ | Účel | Kanály | Interaktivní |
|---|---|---|---|
| "transakce" | Kritická oznámení | Vše | Ne |
| "promo" | Marketingové kampaně | Vše | Ano (tlačítka) |
viber_survey |
Ankety a zpětná vazba | Viber, SMS | Ano (možnosti) |
| "flashcall" | Telefonické ověření | Telefonát | Ne |
Transakční zprávy
Kritická oznámení, jako jsou potvrzení objednávky, aktualizace účtu a systémová upozornění.
Charakteristiky
- Dodávka s vysokou prioritou
- Žádný propagační obsah
- Přímé a stručné
- Časově citlivé
- Směrováno přes: Telegram → Viber → RCS → SMS
Případy použití
- Potvrzení objednávky
- Platební oznámení
- Upozornění na účet
- Bezpečnostní upozornění
- Aktualizace dodávek
- Heslo se resetuje
Příklad
{
"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
}
Doporučené postupy
- ✅ Udržujte zprávy kratší než 160 znaků, pokud je to možné
- ✅ Include relevant transaction details
- ✅ Provide tracking links
- ✅ Use clear, professional language
- ❌ Don't include marketing content
- ❌ Don't use emojis excessively
Příklady podle případu použití
Potvrzení objednávky
{
"messageType": "transaction",
"text": "Order #12345 confirmed. Total: $99.99. Expected delivery: Jan 25."
}
Payment Notification
{
"messageType": "transaction",
"text": "Payment of $150.00 to Merchant ABC successful. Transaction ID: TXN789. Balance: $850.00"
}
Bezpečnostní upozornění
{
"messageType": "transaction",
"text": "New login detected from iPhone at 10:30 AM. Location: New York. If this wasn't you, secure your account immediately."
}
Aktualizace doručení
{
"messageType": "transaction",
"text": "Your package is out for delivery! Expected arrival: 2-4 PM. Track: https://track.example.com/PKG123"
}
Propagační zprávy
Marketingové a propagační kampaně s bohatými médii a interaktivními prvky.
Charakteristiky
- Podpora multimédií
- Interaktivní tlačítka
- Zaměření na výzvu k akci
- Delší TTL přijatelné
- Směrováno přes: Telegram → Viber → RCS → SMS
Případy použití
- Uvedení produktu na trh
- Oznámení o prodeji
- Pozvánky na akce
- Informační kampaně
- Speciální nabídky
- Povědomí o značce
Příklad
{
"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
}
S proměnnými
{
"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"}
]
}
Doporučené postupy
- ✅ Include clear call-to-action
- ✅ Use engaging language
- ✅ Add tracking parameters to URLs
- ✅ Personalize with variables
- ✅ Test on multiple channels
- ❌ Nespamujte zákazníky
- ❌ Nepoužívejte zavádějící obsah
- ❌ Don't exceed character limits
Příklady podle případu použití
Uvedení produktu na trh
{
"messageType": "promo",
"text": "🎉 NEW ARRIVAL: iPhone 15 Pro now available! Pre-order today and get free shipping. Visit: https://store.com/iphone15"
}
Bleskový výprodej
{
"messageType": "promo",
"text": "⚡ FLASH SALE: 2 hours only! Extra 30% off everything. Use code: FLASH30. Shop now: https://store.com/flash"
}
Pozvánka na akci
{
"messageType": "promo",
"text": "You're invited! VIP Shopping Event on Jan 25 at 6 PM. Exclusive deals + refreshments. RSVP: https://events.com/vip"
}
Opuštěný košík
{
"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%"
}
Průzkum Viber
Interaktivní ankety a průzkumy pro shromažďování zpětné vazby od zákazníků.
Charakteristiky
- 2-5 možností odezvy
- Text limited to 85 characters
- Interaktivní rozhraní na Viberu
- Fallback to SMS (without interactivity)
- Formát jedné otázky
Případy použití
- Průzkumy spokojenosti zákazníků
- Zpětná vazba k produktu
- Service quality ratings
- Průzkum trhu
- Zpětná vazba k události – Net Promoter Score (NPS)
Příklad
{
"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
}
Omezení
- Text: Maximálně 85 znaků
- Možnosti: 2–5 možností
- Délka možnosti: Každý by měl mít méně než 30 znaků
- TTL: Doporučeno 7–30 dní
Doporučené postupy
- ✅ Položte jednu jasnou otázku
- ✅ Poskytněte vyvážené možnosti
- ✅ Používejte jednoduchý jazyk
- ✅ Udržujte možnosti stručné
- ✅ Nastavte vhodné TTL (7+ dní)
- ❌ Neptejte se na více otázek
- ❌ Nepoužívejte technický žargon
- ❌ Nezkreslujte odpovědi
Příklady podle případu použití
spokojenost zákazníků (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"
]
}
Zpětná vazba k produktu
{
"messageType": "viber_survey",
"text": "How do you rate our new product?",
"surveyOptions": [
"⭐️ Excellent",
"⭐️ Good",
"⭐️ Average",
"⭐️ Poor",
"⭐️ Very Poor"
]
}
Kvalita služeb
{
"messageType": "viber_survey",
"text": "Was your support experience helpful?",
"surveyOptions": [
"Yes, very helpful",
"Somewhat helpful",
"Not helpful"
]
}
Zpětná vazba k události
{
"messageType": "viber_survey",
"text": "Would you attend our events again?",
"surveyOptions": [
"Definitely yes",
"Probably yes",
"Not sure",
"Probably not",
"Definitely not"
]
}
Bleskový hovor
Telefonické ověření pomocí automatických hovorů namísto SMS kódů.
Charakteristiky
- Cenově efektivní ověřování
- Rychlejší než SMS (1-3 sekundy)
- Žádný viditelný kód v oznámeních
- Odolné vůči útokům s výměnou SIM
- Pouze telefonní hovor (žádný telegram/Viber)
Případy použití
- Registrace uživatele
- Ověření přihlášení
- Ověření telefonního čísla
- Dvoufaktorová autentizace
- Obnovení účtu
- Potvrzení transakce
Příklad
{
"id": "verify-user-12345",
"fromName": "YourApp",
"toPhone": "+380XXXXXXXXX",
"messageType": "flashcall",
"ttl": 300
}
Jak to funguje
- Uživatel zadá telefonní číslo
- API zahájí flash volání
- Hovor se ukončí po 1-2 zazvoněních
- Aplikace zachycuje ID volajícího
- ID volajícího ověřeno podle vzoru
- Uživatel ověřen
Doporučené postupy
- ✅ Nastavte krátké TTL (60-300 sekund)
- ✅ Implementujte detekci ID volajícího
- ✅ Poskytněte záložní SMS
- ✅ Zpracovat žádosti o povolení
- ✅ Ukažte jasné pokyny
- ❌ Nepoužívejte pro propagační účely
- ❌ Nenastavujte dlouhé TTL
Příklad s Fallback
{
"id": "verify-001",
"fromName": "YourApp",
"toPhone": "+380XXXXXXXXX",
"messageType": "flashcall",
"ttl": 300,
"fallback": {
"messageType": "transaction",
"text": "Your verification code: 123456"
}
}
Výběr správného typu
Rozhodovací strom
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)
Srovnávací matice
| Funkce | Transakce | Promo | Průzkum | Flash Call |
|---|---|---|---|---|
| Rich Media | ❌ | ✅ | ❌ | ❌ |
| Interaktivní | ❌ | ✅ | ✅ | ❌ |
| Personalizace | ✅ | ✅ | ✅ | ❌ |
| Typické TTL | Hodiny | Dny | týden | minuty |
| Cena | Střední | Střední | Střední | Nízká |
| Rychlost dodání | Rychlý | Rychlý | Rychlý | Nejrychlejší |
Příklad implementace
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'
);
Další kroky
- Odeslat zprávy - Začněte odesílat kaskádové zprávy – Proměnné zprávy – Přizpůsobte si zprávy – SMSBAT API – Prozkoumejte funkce SMSBAT