Help Center Типови порука

Типови порука

Цасцаде АПИ подржава четири типа порука, од којих је сваки оптимизован за различите случајеве употребе и канале.

Преглед

| Тип | Сврха | Канали | Интерацтиве | |-------|---------|-----------------| | трансакција | Критична обавештења | Алл | Не | | промо | Маркетиншке кампање | Алл | Да (дугмад) | | вибер_сурвеи | Анкете и повратне информације | Вибер, СМС | Да (опције) | | фласхцалл | Телефонска верификација | Телефонски позив | Не |

Поруке о трансакцијама

Критична обавештења као што су потврде поруџбина, ажурирања налога и системска упозорења.

Карактеристике

  • Испорука високог приоритета
  • Нема промотивног садржаја
  • Директан и концизан
  • Осетљиво на време
  • Рутирано преко: Телеграм → Вибер → РЦС → СМС

Случајеви употребе

  • Потврде поруџбине
  • Обавештења о плаћању
  • Обавештења о налогу
  • Безбедносна обавештења
  • Ажурирања испоруке
  • Ресетовање лозинке

Пример

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

Најбоље праксе

  • ✅ Држите поруке испод 160 карактера када је то могуће
  • ✅ Укључите релевантне детаље трансакције
  • ✅ Обезбедите везе за праћење
  • ✅ Користите јасан, професионалан језик
  • ❌ Немојте укључивати маркетиншки садржај
  • ❌ Немојте претерано користити емоџије

Примери према случају употребе

Потврда поруџбине

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

Обавештење о плаћању

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

Безбедносно упозорење

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

Ажурирање испоруке

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

Промо поруке

Маркетиншке и промотивне кампање са богатим медијима и интерактивним елементима.

Карактеристике

  • Подршка богатим медијима
  • Интерактивна дугмад – Фокусиран на позив на акцију
  • Дужи ТТЛ прихватљив
  • Рутирано преко: Телеграм → Вибер → РЦС → СМС

Случајеви употребе

  • Лансирање производа
  • Огласи о продаји
  • Позивнице за догађаје
  • Билтен кампање
  • Специјалне понуде
  • Свест о бренду

Пример

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

Са променљивим

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

Најбоље праксе

  • ✅ Укључите јасан позив на акцију
  • ✅ Користите занимљив језик
  • ✅ Додајте параметре за праћење УРЛ-овима
  • ✅ Персонализујте са променљивим
  • ✅ Тестирајте на више канала
  • ❌ Не шаљите нежељену пошту купцима
  • ❌ Немојте користити обмањујући садржај
  • ❌ Немојте прекорачити ограничење броја знакова

Примери према случају употребе

Лансирање производа

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

Фласх распродаја

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

Позивница за догађај

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

Напуштена колица

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

Вибер анкета

Интерактивне анкете и анкете за прикупљање повратних информација купаца.

Карактеристике

  • 2-5 опција одговора
  • Текст ограничен на 85 знакова
  • Интерактивни интерфејс на Виберу
  • Повратак на СМС (без интерактивности)
  • Формат једног питања

Случајеви употребе

  • Анкете о задовољству купаца
  • Повратне информације о производу
  • Оцене квалитета услуге
  • Истраживање тржишта
  • Повратне информације о догађају – Нето резултат промотера (НПС)

Пример

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

Ограничења

  • Текст: највише 85 знакова
  • Опције: 2-5 избора
  • Дужина опције: Задржите мање од 30 знакова сваки
  • ТТЛ: Препоручено 7-30 дана

Најбоље праксе

  • ✅ Поставите једно јасно питање
  • ✅ Обезбедите уравнотежене опције
  • ✅ Користите једноставан језик
  • ✅ Нека опције буду сажете
  • ✅ Поставите одговарајући ТТЛ (7+ дана)
  • ❌ Не постављајте више питања
  • ❌ Не користите технички жаргон
  • ❌ Немојте пристрасне одговоре

Примери према случају употребе

Задовољство купаца (НПС)

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

Повратне информације о производу

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

Квалитет услуге

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

Повратне информације о догађају

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

Фласх позив

Верификација телефона коришћењем аутоматизованих позива уместо СМС кодова.

Карактеристике

  • Исплатива верификација
  • Брже од СМС-а (1-3 секунде)
  • Нема видљивог кода у обавештењима
  • Отпоран на нападе замене СИМ картице
  • Само телефонски позив (без Телеграма/Вибера)

Случајеви употребе

  • Регистрација корисника
  • Верификација пријаве
  • Потврда телефонског броја
  • Двофакторска аутентификација
  • Опоравак налога
  • Потврда трансакције

Пример

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

Како то ради

  1. Корисник уноси број телефона
  2. АПИ покреће флеш позив
  3. Позив се прекида након 1-2 звона
  4. Апликација снима ИД позиваоца
  5. ИД позиваоца верификован према шаблону
  6. Аутентификација корисника

Најбоље праксе

  • ✅ Поставите кратки ТТЛ (60-300 секунди)
  • ✅ Имплементирајте идентификацију позиваоца
  • ✅ Обезбедите резервни СМС
  • ✅ Руковати захтевима за дозволу
  • ✅ Покажите јасна упутства
  • ❌ Не користите у промотивне сврхе
  • ❌ Не постављајте дуг ТТЛ

Пример са резервним

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

Одабир правог типа

Децисион Трее

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)

Матрица за поређење

ФеатуреТрансакцијаПромоАнкетаФласх Цалл
Рицх Медиа
Интерацтиве
Персонализација
Типични ТТЛСатиДаниВеекМинутес
ЦенаСредњеСредњеСредњеНиска
Брзина испорукеФастФастФастНајбржи

Пример имплементације

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

Следећи кораци