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
- Vartotojas įveda telefono numerį
- API inicijuoja „flash“ skambutį
- Skambutis baigiasi po 1-2 skambučių
- Programėlė užfiksuoja skambintojo ID
- Skambintojo ID patikrintas pagal šabloną
- 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