Pereiti prie turinio

Pranešimų tipai

Kaskados API palaiko keturis pranešimų tipus, kurių kiekvienas yra optimizuotas skirtingiems naudojimo atvejams ir kanalams.

Apžvalga

Tipas Paskirtis Kanalai Interaktyvus
"sandoris" Svarbūs pranešimai Visi Ne
"promo" Rinkodaros kampanijos Visi Taip (mygtukai)
viber_survey Apklausos ir atsiliepimai Viber, SMS Taip (parinktys)
"flashcall" Telefono patvirtinimas Telefono skambutis Ne

Operacijų pranešimai

Svarbūs pranešimai, pvz., užsakymų patvirtinimai, paskyros atnaujinimai ir sistemos įspėjimai.

Charakteristikos

  • Didelio prioriteto pristatymas – Jokio reklaminio turinio
  • Tiesiogiai ir glaustai
  • Laikui jautrus
  • Nukreipta per: Telegram → Viber → RCS → SMS

Naudojimo atvejai

  • Užsakymo patvirtinimai
  • Mokėjimo pranešimai
  • Paskyros įspėjimai
  • Saugumo pranešimai
  • Pristatymo atnaujinimai
  • Slaptažodžio nustatymas iš naujo

Pavyzdys

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

Geriausia praktika

  • ✅ Jei įmanoma, laikykite trumpesnius nei 160 simbolių pranešimus
  • ✅ Įtraukite atitinkamą operacijos informaciją
  • ✅ Pateikite stebėjimo nuorodas
  • ✅ Naudokite aiškią, profesionalią kalbą – ❌ Neįtraukite rinkodaros turinio
  • ❌ Per daug nenaudokite jaustukų

Pavyzdžiai pagal naudojimo atvejį

Užsakymo patvirtinimas

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

Mokėjimo pranešimas

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

Saugos įspėjimas

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

Pristatymo atnaujinimas

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

Reklaminiai pranešimai

Rinkodaros ir reklaminės kampanijos su raiškiąja medija ir interaktyviais elementais.

Charakteristikos

  • Raiškiosios medijos palaikymas
  • Interaktyvūs mygtukai
  • Sutelkti dėmesį į raginimą veikti
  • Priimtinas ilgesnis TTL
  • Nukreipta per: Telegram → Viber → RCS → SMS

Naudojimo atvejai

  • Produktų pristatymas
  • Pardavimų skelbimai
  • Kvietimai į renginius
  • Naujienlaiškių kampanijos
  • Specialūs pasiūlymai
  • Prekės ženklo žinomumas

Pavyzdys

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

Su kintamaisiais

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

Geriausia praktika

  • ✅ Įtraukite aiškų raginimą veikti
  • ✅ Vartoti patrauklią kalbą
  • ✅ Pridėkite stebėjimo parametrus prie URL
  • ✅ Suasmeninkite naudodami kintamuosius
  • ✅ Išbandykite keliuose kanaluose
  • ❌ Nesiųskite klientų el. pašto šiukšlių – ❌ Nenaudokite klaidinančio turinio
  • ❌ Neviršykite simbolių apribojimo

Pavyzdžiai pagal naudojimo atvejį

Produkto pristatymas

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

Flash išpardavimas

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

Kvietimas į renginį

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

Apleistas krepšelis

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

Interaktyvios apklausos ir apklausos klientų atsiliepimams rinkti.

Charakteristikos

  • 2-5 atsakymo variantai
  • Tekstas apribotas iki 85 simbolių
  • Interaktyvi sąsaja „Viber“.
  • Atsarginė SMS žinutė (be interaktyvumo)
  • Vieno klausimo formatas

Naudojimo atvejai

  • Klientų pasitenkinimo tyrimai
  • Atsiliepimai apie produktą
  • Paslaugų kokybės įvertinimai
  • Rinkos tyrimai
  • Atsiliepimai apie įvykį – Grynasis reklamuotojo balas (NPS)

Pavyzdys

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

Apribojimai

  • Tekstas: daugiausia 85 simboliai
  • Parinktys: 2-5 pasirinkimai – Parinkties ilgis: kiekvieną palikite iki 30 simbolių
  • TTL: rekomenduojama 7–30 dienų

Geriausia praktika

  • ✅ Užduokite vieną aiškų klausimą
  • ✅ Pateikite subalansuotas galimybes
  • ✅ Naudokite paprastą kalbą
  • ✅ Laikykite pasirinkimus glaustus
  • ✅ Nustatykite tinkamą TTL (7 ir daugiau dienų)
  • ❌ Neužduokite kelių klausimų
  • ❌ Nenaudokite techninio žargono
  • ❌ Nešalinkite atsakymų

Pavyzdžiai pagal naudojimo atvejį

Klientų pasitenkinimas (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"
  ]
}

Atsiliepimai apie produktą

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

Paslaugos kokybė

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

Atsiliepimai apie įvykį

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

Flash skambutis

Telefono patvirtinimas naudojant automatinius skambučius, o ne SMS kodus.

Charakteristikos

  • Ekonomiškas patikrinimas
  • Greičiau nei SMS (1-3 sekundės)
  • Pranešimuose nėra matomo kodo
  • Atsparus SIM keitimo atakoms
  • Tik telefono skambutis (be „Telegram“ / „Viber“)

Naudojimo atvejai

  • Vartotojo registracija
  • Prisijungimo patvirtinimas
  • Telefono numerio patvirtinimas
  • Dviejų veiksnių autentifikavimas
  • Paskyros atkūrimas
  • Sandorio patvirtinimas

Pavyzdys

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

Kaip tai veikia

  1. Vartotojas įveda telefono numerį
  2. API inicijuoja „flash“ skambutį
  3. Skambutis baigiasi po 1-2 skambučių
  4. Programėlė užfiksuoja skambintojo ID
  5. Skambintojo ID patikrintas pagal šabloną
  6. Vartotojas patvirtintas

Geriausia praktika

  • ✅ Nustatykite trumpą TTL (60-300 sekundžių)
  • ✅ Įdiekite skambintojo ID aptikimą
  • ✅ Pateikite atsarginę SMS žinutę
  • ✅ Tvarkyti leidimo prašymus
  • ✅ Parodykite aiškias instrukcijas
  • ❌ Nenaudokite reklamos tikslais
  • ❌ Nenustatykite ilgo TTL

Atsarginės dalies pavyzdys

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

Tinkamo tipo pasirinkimas

Sprendimų medis

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)

Palyginimo matrica

Ypatybė Sandoris Reklama Apklausa Flash skambutis
Raiškioji medija
Interaktyvus
Personalizavimas
Tipiškas TTL Valandos Dienos Savaitė Minutės
Kaina Vidutinis Vidutinis Vidutinis Žemas
Pristatymo greitis Greitai Greitai Greitai Greičiausias

Įgyvendinimo pavyzdys

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

Kiti žingsniai

Siųsti pranešimus – Pradėkite siųsti kaskadinius pranešimus – Pranešimo kintamieji – Suasmeninkite pranešimus – SMSBAT API – Ištirkite SMSBAT funkcijas