Προγραμματιστές

POST/v3/smslength

Υπολογισμός κωδικοποίησης και τμημάτων SMS

Αναλύστε το τελικό κείμενο του μηνύματος χωρίς να το στείλετε ή να εκτιμήσετε τις χρεώσεις παράδοσης.

Σε αυτή τη σελίδα
  1. Αναλύστε το ακριβές κείμενο του μηνύματος
  2. Αίτημα
  3. Απόκριση
  4. Κωδικοποίηση και όρια τμημάτων
  5. Σφάλματα και κενό κείμενο
  6. Χρησιμοποιήστε το αποτέλεσμα πριν από την αποστολή

Αναλύστε το ακριβές κείμενο του μηνύματος

Υπολογίστε την κωδικοποίηση, το μήκος μετά την κωδικοποίηση και τον αριθμό τμημάτων SMS για το κείμενο που σκοπεύετε να στείλετε. Αυτό το τελικό σημείο δεν στέλνει SMS, δεν δεσμεύει διαδρομή και δεν επιστρέφει προσφορά τιμής παράδοσης. Υποβάλετε ολόκληρο το τελικό κείμενο, συμπεριλαμβανομένου κάθε υποσέλιδου, συνδέσμου ή διατύπωσης εξαίρεσης από τη λήψη μηνυμάτων που προσθέτει η ροή αποστολής σας.

Αίτημα

Πραγματοποιήστε έλεγχο ταυτότητας χρησιμοποιώντας τον ενεργοποιημένο λογαριασμό API σας και την επιτρεπόμενη διεύθυνση IP προέλευσής του. Φυλάσσετε τα διαπιστευτήρια σε χώρο αποθήκευσης μυστικών στον διακομιστή. Στείλτε μια συμβολοσειρά UTF-8 στο πεδίο text· το παράδειγμα χρησιμοποιεί μεταβλητές περιβάλλοντος.

curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
  --data-urlencode 'text=Your message here' \
  https://api.multitel.net/v3/smslength

Υποστηρίζονται δεδομένα εισόδου με κωδικοποίηση φόρμας. Ένα αντικείμενο JSON, όπως {"text":"Your message here"} γίνεται επίσης δεκτό όταν δεν παρέχονται πεδία φόρμας ή παραμέτρων ερωτήματος. Προτιμήστε τη μέθοδο POST, ώστε το κείμενο του μηνύματος να μην εμφανίζεται σε URL. Αν υπάρχουν δεδομένα εισόδου τόσο στη φόρμα όσο και στις παραμέτρους ερωτήματος, χρησιμοποιείται η φόρμα. Μην αναμειγνύετε μορφές αιτημάτων.

Απόκριση

{
  "status": {
    "code": "200",
    "msg": ""
  },
  "response": {
    "charset": 0,
    "encoding": "GSM-7",
    "count": 1,
    "parts": 1,
    "chars": 17,
    "units": 17,
    "single_limit": 160,
    "multipart_limit": 153
  }
}
Πεδία αποτελέσματος του υπολογιστή
ΠεδίοΣημασία
charset0 για GSM-7 ή 2 για UTF-16.
encodingGSM-7 ή UTF-16.
parts, countΔύο ονομασίες για τον υπολογισμένο αριθμό τμημάτων SMS. Και οι δύο έχουν τιμή μηδέν για κενό κείμενο.
units, charsΔύο ονομασίες για τις μονάδες κωδικοποίησης. Δεν αντιστοιχούν απαραίτητα στον αριθμό των ορατών χαρακτήρων.
single_limitΌριο μονάδων κωδικοποίησης για ένα μόνο τμήμα με την επιλεγμένη κωδικοποίηση.
multipart_limitΌριο μονάδων κωδικοποίησης που χρησιμοποιείται για κάθε τμήμα μετά την αφαίρεση του χώρου που απαιτούν οι πληροφορίες συνένωσης.

Κωδικοποίηση και όρια τμημάτων

Όρια που χρησιμοποιεί ο υπολογιστής
ΚωδικοποίησηΈνα μόνο τμήμαΤμήμα μηνύματος πολλαπλών τμημάτων
GSM-7160 επτάδες bit153 επτάδες bit
UTF-1670 μονάδες κώδικα67 μονάδες κώδικα

Οι χαρακτήρες επέκτασης του GSM-7, όπως το ^, τα άγκιστρα, οι αγκύλες, η ανάστροφη κάθετος, η κατακόρυφη γραμμή, η περισπωμένη και το σύμβολο του ευρώ, καταναλώνουν δύο επτάδες bit. Ένας χαρακτήρας εκτός του GSM-7 αλλάζει την καταμέτρηση ολόκληρου του μηνύματος σε UTF-16. Ένα emoji εκτός του βασικού πολυγλωσσικού επιπέδου χρησιμοποιεί δύο μονάδες UTF-16· μια ορατή ακολουθία emoji μπορεί να περιέχει πολλά κωδικά σημεία.

Για παράδειγμα, 160 συνηθισμένα γράμματα GSM-7 χωρούν σε ένα τμήμα, ενώ 161 απαιτούν δύο. Ογδόντα χαρακτήρες ^ χρησιμοποιούν 160 μονάδες και χωρούν σε ένα τμήμα· ογδόντα ένας χρησιμοποιούν 162 μονάδες και απαιτούν δύο. Τριάντα πέντε απλά emoji εκτός του βασικού πολυγλωσσικού επιπέδου (BMP) χρησιμοποιούν 70 μονάδες UTF-16 και χωρούν σε ένα τμήμα· τριάντα έξι χρησιμοποιούν 72 μονάδες και απαιτούν δύο. Τα συνδυαστικά σημεία και τα συνδεδεμένα emoji μπορούν να αλλάξουν αυτές τις μετρήσεις.

Σφάλματα και κενό κείμενο

Αν λείπει το πεδίο text, αν παρέχεται πίνακας ή αντικείμενο αντί για βαθμωτή τιμή ή αν η κωδικοποίηση UTF-8 δεν είναι έγκυρη, επιστρέφεται ο κωδικός API 403. Διαβάστε τα πεδία JSON status.code και status.msg, καθώς και την κατάσταση HTTP· αυτό το τελικό σημείο επιστρέφει τον κωδικό ως συμβολοσειρά. Μια κενή συμβολοσειρά είναι έγκυρη και επιστρέφει μηδέν μονάδες και μηδέν τμήματα.

Χρησιμοποιήστε το αποτέλεσμα πριν από την αποστολή

Ο υπολογιστής που ελέγχθηκε δεν εκτελεί αποστολή μηνύματος, κλήση προς πάροχο ή χρέωση λογαριασμού. Το αποτέλεσμά του αποτελεί ανάλυση του υποβληθέντος κειμένου, όχι εγγύηση παράδοσης ή τελικό λογαριασμό. Η αποστολή μπορεί να συνεπάγεται χρεώσεις ανά προορισμό, τέλη παρόχου, απαιτήσεις καμπάνιας και πρόσθετους μετασχηματισμούς του κειμένου. Επαναλάβετε τον υπολογισμό μετά την αλλαγή του μηνύματος και, στη συνέχεια, χρησιμοποιήστε την εγκεκριμένη ροή αποστολής και την τρέχουσα τιμολόγηση του λογαριασμού.