Keri sisuni

Sõnumitüübid

Cascade API toetab nelja sõnumitüüpi, millest igaüks on optimeeritud erinevate kasutusjuhtude ja kanalite jaoks.

Ülevaade

Tüüp Eesmärk Kanalid Interaktiivne
"tehing" Kriitilised teated Kõik Ei
"reklaam" Turunduskampaaniad Kõik Jah (nupud)
viber_survey Küsitlused ja tagasiside Viber, SMS Jah (valikud)
flashcall Telefoni kinnitus Telefonikõne Ei

Tehingusõnumid

Kriitilised märguanded, nagu tellimuse kinnitused, konto värskendused ja süsteemihoiatused.

Omadused

  • kõrge prioriteediga kohaletoimetamine
  • Ei mingit reklaamisisu
  • Otsene ja sisutihe
  • Ajatundlik
  • Suunatud: Telegram → Viber → RCS → SMS

Kasutusjuhtumid

  • Tellimuse kinnitused
  • Makseteatised
  • Konto märguanded
  • Turvateatised
  • kohaletoimetamise uuendused
  • Parooli lähtestamine

Näide

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

Parimad tavad

  • ✅ Võimalusel hoidke sõnumid alla 160 tähemärgi
  • ✅ Lisage asjakohased tehingu üksikasjad
  • ✅ Esitage jälgimislingid
  • ✅ Kasutage selget professionaalset keelt
  • ❌ Ärge kaasake turunduslikku sisu
  • ❌ Ärge kasutage liigselt emotikone

Näited kasutusjuhtude kaupa

Tellimuse kinnitus

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

Makseteatis

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

Turvahoiatus

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

Kohaletoimetamise värskendus

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

Reklaamsõnumid

Rikasmeedia ja interaktiivsete elementidega turundus- ja reklaamikampaaniad.

Omadused

  • Rikasmeedia tugi
  • Interaktiivsed nupud
  • Keskendutakse tegevusele
  • Pikem TTL on vastuvõetav
  • Suunatud: Telegram → Viber → RCS → SMS

Kasutusjuhtumid

  • Toote käivitamine
  • Müügikuulutused
  • Ürituste kutsed
  • Uudiskirjakampaaniad
  • Eripakkumised
  • Bränditeadlikkus

Näide

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

Muutujatega

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

Parimad tavad

  • ✅ Kaasake selge üleskutse tegevusele
  • ✅ Kasutage köitvat keelt
  • ✅ Lisage URL-idele jälgimisparameetrid
  • ✅ Isikupärastage muutujatega
  • ✅ Testige mitmel kanalil
  • ❌ Ärge saatke klientidele rämpsposti
  • ❌ Ärge kasutage eksitavat sisu
  • ❌ Ärge ületage tähemärgipiiranguid

Näited kasutusjuhtude kaupa

Toote lansseerimine

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

Välkmüük

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

Ürituse kutse

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

Mahajäetud käru

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

Viberi uuring

Interaktiivsed küsitlused ja küsitlused klientide tagasiside kogumiseks.

Omadused

  • 2-5 vastusevarianti
  • Tekst on piiratud 85 tähemärgiga
  • Viberi interaktiivne liides
  • SMS-i tagavara (ilma interaktiivsuseta)
  • Ühe küsimuse vorming

Kasutusjuhtumid

  • Kliendirahulolu uuringud
  • Toote tagasiside
  • Teenuse kvaliteedihinnangud
  • Turu-uuringud
  • Sündmuste tagasiside
  • Net Promoter Score (NPS)

Näide

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

Piirangud

  • Tekst: maksimaalselt 85 tähemärki
  • Valikud: 2-5 valikut
  • Valiku pikkus: jätke alla 30 tähemärgi
  • TTL: soovitatav 7–30 päeva

Parimad tavad

  • ✅ Esitage üks selge küsimus
  • ✅ Pakkuda tasakaalustatud valikuid
  • ✅ Kasutage lihtsat keelt
  • ✅ Hoidke valikud lühidalt
  • ✅ Määra sobiv TTL (7+ päeva)
  • ❌ Ärge esitage mitut küsimust
  • ❌ Ärge kasutage tehnilist kõnepruuki
  • ❌ Ärge kallutage vastuseid

Näited kasutusjuhtude kaupa

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

Toote tagasiside

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

Teenuse kvaliteet

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

Sündmuse tagasiside

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

Välkkõne

Telefoni kinnitamine SMS-koodide asemel automaatkõnede abil.

Omadused

  • Kulusäästlik kontrollimine
  • Kiirem kui SMS (1-3 sekundit)
  • Märguannetes pole nähtavat koodi
  • Vastupidav SIM-i vahetamise rünnakutele
  • Ainult telefonikõne (ei Telegrami/Viberit)

Kasutusjuhtumid

  • Kasutaja registreerimine
  • sisselogimise kinnitamine
  • Telefoninumbri kinnitamine
  • Kahefaktoriline autentimine
  • Konto taastamine
  • Tehingu kinnitus

Näide

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

Kuidas see töötab

  1. Kasutaja sisestab telefoninumbri
  2. API algatab välkkõne
  3. Kõne lõpeb pärast 1-2 helinat
  4. Rakendus salvestab helistaja ID
  5. Helistaja ID kinnitatud mustri alusel
  6. Kasutaja autentitud

Parimad tavad

  • ✅ Määra lühike TTL (60-300 sekundit)
  • ✅ Rakendage helistaja ID tuvastamist
  • ✅ Pakkuge SMS-i varu
  • ✅ Käsitlege loataotlusi
  • ✅ Näita selgeid juhiseid
  • ❌ Ärge kasutage reklaami eesmärgil
  • ❌ Ärge määrake pikka TTL-i

Näide tagavaraga

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

Õige tüübi valimine

Otsuste puu

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)

Võrdlusmaatriks

Funktsioon Tehing Promo Uuring Välkkõne
Rikasmeedia
Interaktiivne
Isikupärastamine
Tüüpiline TTL Tundi Päevad Nädal Minutid
Maksumus Keskmine Keskmine Keskmine Madal
Tarnekiirus Kiire Kiire Kiire Kiireim

Rakenduse näide

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

Järgmised sammud