Skip to content

Tipuri de mesaje

Cascade API acceptă patru tipuri de mesaje, fiecare optimizat pentru diferite cazuri de utilizare și canale.

Prezentare generală

Tip Scop Canale Interactiv
tranzacție Notificări critice Toate Nu
promo Campanii de marketing Toate Da (butoane)
viber_survey Sondaje și feedback Viber, SMS Da (opțiuni)
flashcall Verificare telefonică Apel telefonic Nu

Mesaje tranzacționale

Notificări critice, cum ar fi confirmările comenzilor, actualizările contului și alertele de sistem.

Caracteristici

  • Livrare cu prioritate ridicată
  • Fără conținut promoțional
  • Direct și concis
  • Sensibilă la timp
  • Dirijat prin: Telegram → Viber → RCS → SMS

Cazuri de utilizare

  • Confirmări de comandă
  • Notificări de plată
  • Alerte de cont
  • Notificări de securitate
  • Actualizări de livrare
  • Resetarea parolei

Exemplu

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

Cele mai bune practici

  • ✅ Păstrați mesajele sub 160 de caractere atunci când este posibil
  • ✅ Includeți detalii relevante ale tranzacției
  • ✅ Furnizați link-uri de urmărire
  • ✅ Folosiți un limbaj clar, profesional
  • ❌ Nu includeți conținut de marketing
  • ❌ Nu folosi emoji-urile în mod excesiv

Exemple după caz de utilizare

Confirmarea comenzii

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

Notificare de plată

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

Alertă de securitate

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

Actualizare de livrare

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

Mesaje promoționale

Campanii de marketing și promovare cu rich media și elemente interactive.

Caracteristici

  • Suport media bogat
  • Butoane interactive
  • Concentrat pe chemare la acțiune
  • TTL mai lung acceptabil
  • Dirijat prin: Telegram → Viber → RCS → SMS

Cazuri de utilizare

  • Lansări de produse
  • Anunturi de vanzari
  • Invitații la evenimente
  • Campanii de newsletter
  • Oferte speciale
  • Conștientizarea mărcii

Exemplu

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

Cu variabile

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

Cele mai bune practici

  • ✅ Includeți un îndemn clar la acțiune
  • ✅ Folosește un limbaj captivant
  • ✅ Adăugați parametri de urmărire la adresele URL
  • ✅ Personalizează cu variabile
  • ✅ Testează pe mai multe canale
  • ❌ Nu trimiteți spam clienților
  • ❌ Nu utilizați conținut înșelător
  • ❌ Nu depășiți limitele de caractere

Exemple după caz de utilizare

Lansarea produsului

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

Reducere flash

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

Invitație la eveniment

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

Cărucior abandonat

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

Sondaj Viber

Sondaje interactive și sondaje pentru colectarea feedback-ului clienților.

Caracteristici

  • 2-5 opțiuni de răspuns
  • Text limitat la 85 de caractere
  • Interfață interactivă pe Viber
  • Fallback la SMS (fără interactivitate)
  • Format cu o singură întrebare

Cazuri de utilizare

  • Sondaj de satisfacție a clienților
  • Feedback despre produs
  • Evaluări ale calității serviciilor
  • Cercetare de piata
  • Feedback despre eveniment
  • Scorul net de promovare (NPS)

Exemplu

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

Constrângeri

  • Text: maximum 85 de caractere
  • Opțiuni: 2-5 opțiuni
  • Lungimea opțiunii: păstrați sub 30 de caractere fiecare
  • TTL: Recomandat 7-30 de zile

Cele mai bune practici

  • ✅ Pune o întrebare clară
  • ✅ Oferă opțiuni echilibrate
  • ✅ Folosiți un limbaj simplu
  • ✅ Păstrați opțiunile concise
  • ✅ Setați TTL adecvat (7+ zile)
  • ❌ Nu pune mai multe întrebări
  • ❌ Nu folosi jargon tehnic
  • ❌ Nu părtiniți răspunsurile

Exemple după caz de utilizare

Satisfacția clienților (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"
  ]
}

Feedback despre produs

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

Calitatea serviciilor

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

Feedback despre eveniment

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

Apel flash

Verificarea telefonului folosind apeluri automate în loc de coduri SMS.

Caracteristici

  • Verificare rentabilă
  • Mai rapid decât SMS-ul (1-3 secunde)
  • Niciun cod vizibil în notificări
  • Rezistent la atacurile de schimb SIM
  • Numai apel telefonic (fără Telegram/Viber)

Cazuri de utilizare

  • Înregistrarea utilizatorului
  • Verificare autentificare
  • validarea numărului de telefon
  • Autentificare cu doi factori
  • Recuperarea contului
  • Confirmarea tranzactiei

Exemplu

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

Cum funcționează

  1. Utilizatorul introduce numărul de telefon
  2. API inițiază apelul flash
  3. Apelul se termină după 1-2 sunete
  4. Aplicația captează ID-ul apelantului
  5. ID apelant verificat în funcție de model
  6. Utilizator autentificat

Cele mai bune practici

  • ✅ Setați TTL scurt (60-300 secunde)
  • ✅ Implementați detectarea ID-ului apelantului
  • ✅ Oferă SMS-uri de rezervă
  • ✅ Gestionați cererile de permisiuni
  • ✅ Afișați instrucțiuni clare
  • ❌ Nu utilizați în scopuri promoționale
  • ❌ Nu setați TTL lungi

Exemplu cu Fallback

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

Alegerea tipului potrivit

Arborele de decizie

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)

Matricea de comparație

Caracteristica Tranzacție Promo Sondaj Apel flash
Rich Media
Interactiv
Personalizare
TTL tipic Ore Zile Săptămâna Minute
Cost Mediu Mediu Mediu Scăzut
Viteza de livrare Rapid Rapid Rapid Cel mai rapid

Exemplu de implementare

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

Următorii pași