SMS

Was ist eine verkettete SMS?

Eine verkettete SMS wird als mehrere Netzwerknachrichten übertragen, die das empfangende Telefon zu einer einzigen zusammenfügt.

Eine lange Versandbenachrichtigung kann auf dem Telefon wie eine einzige Nachricht aussehen. Trotzdem können dabei mehrere abrechnungsfähige Einheiten anfallen. Jeder Teil enthält sowohl Text als auch Informationen, die seine Position in der vollständigen Nachricht kennzeichnen.

Woher weiß das Telefon, welche Teile zusammengehören?

Jeder Teil enthält eine gemeinsame Referenz, die Gesamtanzahl der Teile und seine Position in der Reihenfolge.

Diese Werte befinden sich in einem Header neben dem Text. Die Spezifikation 23.040 des 3rd Generation Partnership Project definiert diesen Mechanismus. Das Telefon prüft außerdem, ob die Teile denselben Absender und dasselbe Nachrichtenzentrum haben.

Der Header belegt einen Teil der Kapazität jedes Segments. Bird verwendet deshalb für jeden Teil einer verketteten Nachricht ein kleineres Textkontingent.

Warum erzeugt ein einziges zusätzliches Zeichen ein weiteres Segment?

Das Überschreiten des Einzelsegment-Limits veranlasst Bird, den gesamten Text mit dem kleineren Mehrteil-Kontingent aufzuteilen.

Einfacher lateinischer Text passt mit 160 Zeichen in ein Segment. Jeder Teil einer längeren Nachricht fasst 153.

Ein Text mit 160 gewöhnlichen lateinischen Buchstaben passt in ein Segment. Fügen Sie einen weiteren Buchstaben hinzu, und der 161 Buchstaben lange Text benötigt zwei Teile mit 153 und acht Buchstaben. Beide Teile reservieren Platz für den Header, auch der erste.

Zeichen wie typografische Anführungszeichen schalten die gesamte Nachricht auf ein kleineres Kontingent um: 70 Zeichen oder 67 pro Teil. Ein Text mit 70 lateinischen Buchstaben und einem typografischen Anführungszeichen benötigt daher zwei Teile.

Einige Zeichen zählen doppelt für diese Limits. GSM-7 vs UCS-2 erklärt, warum sichtbare Zeichenzahlen den tatsächlich benötigten Platz unterschätzen können.

Was passiert, wenn ein Teil fehlt?

Das Telefon kann den vollständigen Text erst rekonstruieren, wenn alle Teile vorliegen.

Das Netzwerk behandelt die Teile als separate Nachrichten. Ihre Zustellung kann unabhängig voneinander abgeschlossen werden. Die erfolgreiche Zustellung eines Teils bestätigt nicht die Zustellung des gesamten Textes.

Eine unvollständige Nachricht kann daher ein Zustellungsproblem sein, auch wenn Ihre Anwendung den vollständigen Text gesendet hat. Halten Sie einen Einmal-Bestätigungscode nach Möglichkeit innerhalb eines Segments. Der Empfänger benötigt dann nicht mehrere Teile, um ihn zu lesen.

Wie viele Teile akzeptiert Bird?

Sie können bis zu zwölf Segmente in einer Anfrage senden. Bird lehnt einen längeren Text ab.

Das ergibt 1.836 einfache lateinische Zeichen: zwölf Teile à 153. Das erweiterte Alphabet fasst 804: zwölf Teile à 67. Zeichen, die doppelt zählen, darunter einige Emoji, reduzieren die Textmenge.

Das Feld text der Anfrage akzeptiert einen nicht leeren String, der dem Zwölf-Segment-Limit unterliegt. Bei Überschreitung wird HTTP 422 zurückgegeben, d. h. die Anfrage wird wegen ungültigem Inhalt abgelehnt. Bird kürzt den Text nicht stillschweigend.

Wie prüfe ich das berechnete Ergebnis?

Sie lesen das segments-Objekt in der Nachrichtenantwort, um zu sehen, was Bird berechnet hat.

  • count ist eine Ganzzahl von mindestens 1. Ausgehende Nachrichten dürfen 12 nicht überschreiten. Jeder Teil zählt als abrechnungsfähige Einheit.
  • encoding ist GSM_7BIT oder UCS2 und gibt an, welche Kapazität gilt.
  • characters zählt Zeichen vor Anwendung der Doppelzählungsregeln. Verwenden Sie count, um abrechnungsfähige Segmente zu prüfen.

Prüfen Sie bei einem langen Template den endgültigen Text nach dem Einsetzen von Namen oder anderen variablen Texten. SMS-Segmente erklärt die Abrechnungsberechnung, und der Leitfaden zu Zeichenlimits dokumentiert die Antwort.

Kurz gesagt

  1. Sie senden eine Nachricht.

    Bird teilt einen zu langen Nachrichtentext in Teile auf, die das empfangende Telefon zusammenfügen kann.

  2. Jeder Teil benötigt einen Header.

    Die Informationen zur Wiederzusammensetzung reduzieren die Textkapazität jedes Segments, auch des ersten.

  3. Ein fehlender Teil verhindert die vollständige Wiederzusammensetzung.

    Das Telefon benötigt alle Teile, um den vollständigen Text anzuzeigen.

  4. Bird begrenzt ausgehende Nachrichten auf zwölf Segmente.

    Ein längerer Text wird mit einer HTTP-422-Antwort abgelehnt, anstatt gekürzt zu werden.

Bauen Sie auf demselben Netzwerk auf.

Ein Test-API-Schlüssel steht Ihnen sofort zur Verfügung. Der Produktivbetrieb wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Ihre nächste Idee.
Bereit zur Verbindung.