Preskočiť na obsah

Typy správ

Cascade API podporuje štyri typy správ, z ktorých každý je optimalizovaný pre rôzne prípady použitia a kanály.

Prehľad

Typ Účel Kanály Interaktívne
"transakcia" Kritické oznámenia Všetky Nie
"promo" Marketingové kampane Všetky Áno (tlačidlá)
viber_survey Ankety a spätná väzba Viber, SMS Áno (možnosti)
"flashcall" Telefonické overenie Telefonát Nie

Správy o transakciách

Kritické upozornenia, ako sú potvrdenia objednávok, aktualizácie účtu a systémové upozornenia.

Charakteristiky

  • Dodávka s vysokou prioritou
  • Žiadny propagačný obsah
  • Priame a stručné
  • Časovo citlivé
  • Smerované cez: Telegram → Viber → RCS → SMS

Prípady použitia

  • Potvrdenia objednávok
  • Platobné oznámenia
  • Upozornenia na účet
  • Bezpečnostné upozornenia
  • Aktualizácie dodávok
  • Obnovenie hesla

Prí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
}

Osvedčené postupy

  • ✅ Udržujte správy do 160 znakov, ak je to možné
  • ✅ Zahrňte relevantné podrobnosti transakcie
  • ✅ Poskytnite odkazy na sledovanie
  • ✅ Používajte jasný odborný jazyk
  • ❌ Nezahŕňajte marketingový obsah
  • ❌ Nepoužívajte nadmerne emotikony

Príklady podľa prípadu použitia

Potvrdenie objednávky

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

Oznámenie o platbe

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

Bezpečnostné upozornenie

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

Aktualizácia doručenia

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

Propagačné správy

Marketingové a propagačné kampane s bohatými médiami a interaktívnymi prvkami.

Charakteristiky

  • Podpora multimediálnych údajov
  • Interaktívne tlačidlá
  • Zamerané na výzvu na akciu
  • Prijateľné dlhšie TTL
  • Smerované cez: Telegram → Viber → RCS → SMS

Prípady použitia

  • Uvedenie produktov na trh
  • Oznámenia o predaji
  • Pozvánky na podujatia
  • Newsletter kampane
  • Špeciálne ponuky
  • Povedomie o značke

Prí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 premenný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"}
  ]
}

Osvedčené postupy

  • ✅ Zahrňte jasnú výzvu na akciu
  • ✅ Používajte pútavý jazyk
  • ✅ Pridajte parametre sledovania do adries URL
  • ✅ Prispôsobte si premenné
  • ✅ Test na viacerých kanáloch
  • ❌ Nespamujte zákazníkov
  • ❌ Nepoužívajte zavádzajúci obsah
  • ❌ Neprekračujte povolený počet znakov

Príklady podľa prípadu použitia

Uvedenie 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ýpredaj

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

Pozvánka na podujatie

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

Opustený 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%"
}

Prieskum Viber

Interaktívne ankety a prieskumy na zhromažďovanie spätnej väzby od zákazníkov.

Charakteristiky

  • 2-5 možností odozvy
  • Text obmedzený na 85 znakov
  • Interaktívne rozhranie na Viber
  • Návrat k SMS (bez interaktivity)
  • Formát jednej otázky

Prípady použitia

  • Prieskumy spokojnosti zákazníkov
  • Spätná väzba na produkt
  • Hodnotenie kvality služieb
  • Prieskum trhu
  • Spätná väzba na udalosti
  • čisté skóre propagátora (NPS)

Prí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
}

Obmedzenia

  • Text: Maximálne 85 znakov
  • Možnosti: 2-5 možností
  • Dĺžka možnosti: Každý musí mať menej ako 30 znakov
  • TTL: Odporúča sa 7-30 dní

Osvedčené postupy

  • ✅ Opýtajte sa jednu jasnú otázku
  • ✅ Poskytnite vyvážené možnosti
  • ✅ Používajte jednoduchý jazyk
  • ✅ Udržujte možnosti stručné
  • ✅ Nastavte vhodné TTL (7+ dní)
  • ❌ Nepýtajte sa viac otázok
  • ❌ Nepoužívajte technický žargón
  • ❌ Nezaujaté odpovede

Príklady podľa prípadu použitia

Spokojnosť zákazníkov (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"
  ]
}

Spätná väzba k produktu

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

Kvalita služieb

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

Spätná väzba udalosti

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

Bleskový hovor

Telefonické overenie pomocou automatických hovorov namiesto SMS kódov.

Charakteristiky

  • Nákladovo efektívne overenie
  • Rýchlejšie ako SMS (1-3 sekundy)
  • Žiadny viditeľný kód v upozorneniach
  • Odolné voči útokom na výmenu SIM karty
  • Len telefonický hovor (bez telegramu/Viber)

Prípady použitia

  • Registrácia užívateľa
  • Overenie prihlásenia
  • Overenie telefónneho čísla
  • Dvojfaktorové overenie
  • Obnovenie účtu
  • Potvrdenie transakcie

Príklad

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

Ako to funguje

  1. Používateľ zadá telefónne číslo
  2. API iniciuje flash volanie
  3. Hovor sa ukončí po 1-2 zvoneniach
  4. Aplikácia zachytáva ID volajúceho
  5. ID volajúceho overené podľa vzoru
  6. Používateľ overený

Osvedčené postupy

  • ✅ Nastavte krátke TTL (60-300 sekúnd)
  • ✅ Implementujte detekciu ID volajúceho
  • ✅ Poskytnite záložnú SMS
  • ✅ Vybavujte žiadosti o povolenie
  • ✅ Ukážte jasné pokyny
  • ❌ Nepoužívajte na propagačné účely
  • ❌ Nenastavujte dlhé TTL

Príklad so zálohou

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

Výber správneho 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)

Porovnávacia matica

Funkcia Transakcia Promo Prieskum Flash Call
Rich Media
Interaktívne
Personalizácia
Typické TTL Hodiny Dni týždeň minúty
Náklady Stredná Stredná Stredná Nízka
Rýchlosť dodania Rýchlo Rýchlo Rýchlo Najrýchlejší

Príklad implementácie

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

Ďalšie kroky