Den exakten Nachrichtentext analysieren
Berechnen Sie die Kodierung, die kodierte Länge und die Anzahl der SMS-Segmente für den Text, den Sie senden möchten. Dieser Endpunkt sendet keine SMS, reserviert keine Route und liefert kein Preisangebot für die Zustellung. Übermitteln Sie den vollständigen endgültigen Text einschließlich aller Fußzeilen, Links oder Abmeldehinweise, die Ihr Versandablauf hinzufügt.
Anfrage
Authentifizieren Sie sich mit Ihrem freigeschalteten API-Konto und dessen zulässiger Quell-IP-Adresse. Bewahren Sie Zugangsdaten in einem serverseitigen Geheimnisspeicher auf. Senden Sie eine UTF-8-Zeichenfolge im Feld text; das Beispiel verwendet Umgebungsvariablen.
curl --silent --show-error --user "$API_USER:$API_PASSWORD" \
--data-urlencode 'text=Your message here' \
https://api.multitel.net/v3/smslengthFormularkodierte Eingaben werden unterstützt. Ein JSON-Objekt wie {"text":"Your message here"} wird ebenfalls akzeptiert, wenn keine Formular- oder Abfragefelder übermittelt werden. Verwenden Sie vorzugsweise POST, damit der Nachrichtentext nicht in einer URL erscheint. Wenn sowohl Formular- als auch Abfrageeingaben vorliegen, werden die Formulareingaben verwendet. Mischen Sie keine Anfrageformate.
Antwort
{
"status": {
"code": "200",
"msg": ""
},
"response": {
"charset": 0,
"encoding": "GSM-7",
"count": 1,
"parts": 1,
"chars": 17,
"units": 17,
"single_limit": 160,
"multipart_limit": 153
}
}| Feld | Bedeutung |
|---|---|
| charset | 0 für GSM-7 oder 2 für UTF-16. |
| encoding | GSM-7 oder UTF-16. |
| parts, count | Zwei Bezeichnungen für die berechnete Anzahl der SMS-Segmente. Bei leerem Text sind beide Werte null. |
| units, chars | Zwei Bezeichnungen für kodierte Einheiten. Diese entsprechen nicht unbedingt den sichtbaren Zeichen. |
| single_limit | Höchstzahl kodierter Einheiten für ein einzelnes Segment bei der gewählten Kodierung. |
| multipart_limit | Höchstzahl kodierter Einheiten pro Segment nach Abzug des Zusatzbedarfs für die Verkettung. |
Kodierung und Segmentgrenzen
| Kodierung | Einzelsegment | Segment einer mehrteiligen SMS |
|---|---|---|
| GSM-7 | 160 Septette | 153 Septette |
| UTF-16 | 70 Codeeinheiten | 67 Codeeinheiten |
Erweiterungszeichen von GSM-7 wie ^, geschweifte Klammern, eckige Klammern, umgekehrter Schrägstrich, senkrechter Strich, Tilde und Eurozeichen belegen zwei Septette. Ein Zeichen außerhalb von GSM-7 stellt die Zählung für die gesamte Nachricht auf UTF-16 um. Ein Emoji außerhalb der mehrsprachigen Basisebene belegt zwei UTF-16-Einheiten; eine sichtbare Emoji-Sequenz kann mehrere Codepunkte enthalten.
Beispielsweise passen 160 gewöhnliche GSM-7-Buchstaben in ein Segment, während 161 zwei Segmente benötigen. Achtzig ^-Zeichen belegen 160 Einheiten und passen in ein Segment; einundachtzig belegen 162 Einheiten und benötigen zwei Segmente. Fünfunddreißig einfache Emojis außerhalb der BMP belegen 70 UTF-16-Einheiten und passen in ein Segment; sechsunddreißig belegen 72 Einheiten und benötigen zwei Segmente. Kombinierende Zeichen und verbundene Emojis können diese Anzahlen verändern.
Fehler und leerer Text
Ein fehlendes Feld text, ein Array oder Objekt anstelle eines skalaren Werts oder ungültiges UTF-8 führt zur Rückgabe des API-Codes 403. Lesen Sie in JSON die Felder status.code und status.msg sowie den HTTP-Status; dieser Endpunkt gibt den Code als Zeichenfolge zurück. Eine leere Zeichenfolge ist gültig und ergibt null Einheiten und null Segmente.
Das Ergebnis vor dem Versand nutzen
Der geprüfte Rechner führt weder einen Nachrichtenversand noch einen Aufruf beim Mobilfunkanbieter oder eine Kontobelastung aus. Sein Ergebnis ist eine Analyse des übermittelten Textes, keine Zustellgarantie und keine endgültige Rechnung. Beim Versand können zielabhängige Tarife, Gebühren der Mobilfunkanbieter, Kampagnenanforderungen und zusätzliche Textumwandlungen hinzukommen. Berechnen Sie nach Änderungen an der Nachricht erneut und verwenden Sie anschließend den freigegebenen Versandablauf und die aktuellen Preise Ihres Kontos.