Help Center Τύποι μηνυμάτων

Τύποι μηνυμάτων

Το Cascade API υποστηρίζει τέσσερις τύπους μηνυμάτων, ο καθένας βελτιστοποιημένος για διαφορετικές περιπτώσεις χρήσης και κανάλια.

Επισκόπηση

ΤύποςΣκοπόςΚανάλιαΔιαδραστική
«συναλλαγή»Σημαντικές ειδοποιήσειςΌλαΌχι
«προώθηση»Καμπάνιες μάρκετινγκΌλαΝαι (κουμπιά)
viber_surveyΔημοσκοπήσεις και σχόλιαViber, SMSΝαι (επιλογές)
“flashcall”Επαλήθευση τηλεφώνουΤηλεφωνική κλήσηΌχι

Μηνύματα συναλλαγών

Σημαντικές ειδοποιήσεις όπως επιβεβαιώσεις παραγγελιών, ενημερώσεις λογαριασμού και ειδοποιήσεις συστήματος.

Χαρακτηριστικά

  • Παράδοση υψηλής προτεραιότητας
  • Χωρίς διαφημιστικό περιεχόμενο
  • Άμεσο και συνοπτικό
  • Ευαίσθητο στο χρόνο
  • Δρομολόγηση μέσω: Telegram → Viber → RCS → SMS

Περιπτώσεις χρήσης

  • Επιβεβαιώσεις παραγγελιών
  • Ειδοποιήσεις πληρωμής
  • Ειδοποιήσεις λογαριασμού
  • Ειδοποιήσεις ασφαλείας
  • Ενημερώσεις παράδοσης
  • Επαναφορά κωδικού πρόσβασης

Παράδειγμα

{
  "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 χαρακτήρες όταν είναι δυνατόν
  • ✅ Συμπεριλάβετε σχετικές λεπτομέρειες συναλλαγής
  • ✅ Παρέχετε συνδέσμους παρακολούθησης
  • ✅ Χρησιμοποιήστε σαφή, επαγγελματική γλώσσα
  • ❌ Μην συμπεριλάβετε περιεχόμενο μάρκετινγκ
  • ❌ Μην χρησιμοποιείτε υπερβολικά emojis

Παραδείγματα ανά περίπτωση χρήσης

Επιβεβαίωση παραγγελίας

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

Μηνύματα προώθησης

Καμπάνιες μάρκετινγκ και προώθησης με πλούσια μέσα και διαδραστικά στοιχεία.

Χαρακτηριστικά

  • Υποστήριξη εμπλουτισμένων μέσων
  • Διαδραστικά κουμπιά
  • Εστίαση παρότρυνσης για δράση
  • Αποδεκτό μεγαλύτερο TTL
  • Δρομολόγηση μέσω: Telegram → Viber → RCS → SMS

Περιπτώσεις χρήσης

  • Παρουσιάσεις προϊόντων
  • Ανακοινώσεις πωλήσεων
  • Προσκλήσεις εκδηλώσεων
  • Καμπάνιες ενημερωτικών δελτίων
  • Ειδικές προσφορές
  • Επίγνωση της επωνυμίας

Παράδειγμα

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

Βέλτιστες πρακτικές

  • ✅ Συμπεριλάβετε σαφή παρότρυνση για δράση
  • ✅ Χρησιμοποιήστε ελκυστική γλώσσα
  • ✅ Προσθέστε παραμέτρους παρακολούθησης σε διευθύνσεις URL
  • ✅ Εξατομίκευση με μεταβλητές
  • ✅ Δοκιμή σε πολλά κανάλια
  • ❌ Μην στέλνετε ανεπιθύμητα μηνύματα σε πελάτες
  • ❌ Μην χρησιμοποιείτε παραπλανητικό περιεχόμενο
  • ❌ Μην υπερβαίνετε τα όρια χαρακτήρων

Παραδείγματα ανά περίπτωση χρήσης

Παρουσίαση προϊόντος

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

Έκπτωση Flash

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

Έρευνα Viber

Διαδραστικές δημοσκοπήσεις και έρευνες για τη συλλογή σχολίων πελατών.

Χαρακτηριστικά

  • 2-5 επιλογές απόκρισης
  • Κείμενο που περιορίζεται σε 85 χαρακτήρες
  • Διαδραστική διεπαφή στο Viber
  • Εναλλαγή σε SMS (χωρίς διαδραστικότητα)
  • Μορφή μονής ερώτησης

Περιπτώσεις χρήσης

  • Έρευνες ικανοποίησης πελατών
  • Σχόλια για το προϊόν
  • Αξιολογήσεις ποιότητας υπηρεσιών
  • Έρευνα αγοράς
  • Σχόλια εκδήλωσης
  • Καθαρή βαθμολογία υποστηρικτών (NPS)

Παράδειγμα

{
  "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 χαρακτήρες το καθένα
  • TTL: Συνιστάται 7-30 ημέρες

Βέλτιστες πρακτικές

  • ✅ Κάντε μια σαφή ερώτηση
  • ✅ Παρέχετε ισορροπημένες επιλογές
  • ✅ Χρησιμοποιήστε απλή γλώσσα
  • ✅ Κρατήστε τις επιλογές συνοπτικές
  • ✅ Ρυθμίστε το κατάλληλο TTL (7+ ημέρες)
  • ❌ Μην κάνετε πολλές ερωτήσεις
  • ❌ Μην χρησιμοποιείτε τεχνική ορολογία
  • ❌ Μην προκαταλαμβάνετε τις απαντήσεις

Παραδείγματα ανά περίπτωση χρήσης

Ικανοποίηση πελατών (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"
  ]
}

Σχόλια προϊόντος

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

Flash Call

Επαλήθευση τηλεφώνου χρησιμοποιώντας αυτοματοποιημένες κλήσεις αντί για κωδικούς SMS.

Χαρακτηριστικά

  • Οικονομική επαλήθευση
  • Ταχύτερα από SMS (1-3 δευτερόλεπτα)
  • Δεν υπάρχει ορατός κωδικός στις ειδοποιήσεις
  • Ανθεκτικό σε επιθέσεις ανταλλαγής SIM
  • Μόνο τηλεφωνική κλήση (χωρίς Telegram/Viber)

Περιπτώσεις χρήσης

  • Εγγραφή χρήστη
  • Επαλήθευση σύνδεσης
  • Επικύρωση αριθμού τηλεφώνου
  • Έλεγχος ταυτότητας δύο παραγόντων
  • Ανάκτηση λογαριασμού
  • Επιβεβαίωση συναλλαγής

Παράδειγμα

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

Πώς λειτουργεί

  1. Ο χρήστης εισάγει τον αριθμό τηλεφώνου
  2. Το API εκκινεί την κλήση flash
  3. Η κλήση τερματίζεται μετά από 1-2 κουδουνίσματα
  4. Η εφαρμογή καταγράφει αναγνώριση κλήσης
  5. Το αναγνωριστικό καλούντος επαληθεύτηκε με μοτίβο
  6. Έγινε έλεγχος ταυτότητας χρήστη

Βέλτιστες πρακτικές

  • ✅ Ρύθμιση σύντομου TTL (60-300 δευτερόλεπτα)
  • ✅ Εφαρμογή ανίχνευσης αναγνώρισης κλήσης
  • ✅ Παρέχετε εναλλακτικό SMS
  • ✅ Χειρισμός αιτημάτων άδειας
  • ✅ Δείξτε σαφείς οδηγίες
  • ❌ Μην χρησιμοποιείτε για διαφημιστικούς σκοπούς
  • ❌ Μην ορίζετε μεγάλο TTL

Παράδειγμα με Fallback

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

Πίνακας σύγκρισης

ΧαρακτηριστικόΣυναλλαγήPromoΈρευναFlash Call
Rich Media
Διαδραστική
Εξατομίκευση
Τυπικό TTLΏρεςΜέρεςΕβδομάδαΛεπτά
ΚόστοςΜεσαίαΜεσαίαΜεσαίαΧαμηλό
Ταχύτητα παράδοσηςΓρήγοραΓρήγοραΓρήγοραΤαχύτερα

Παράδειγμα υλοποίησης

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

Επόμενα βήματα