Verkettung und Kodierung

Wenn Sie eine SMS-Nachricht senden oder empfangen, müssen Sie auf die Gesamtlänge der Nachricht achten, da diese bestimmt, ob die Nachricht in einem Stück ankommt oder in zwei oder mehr Nachrichten aufgeteilt wird. Das von der SMS verwendete Kodierungsschema (text oder unicode) beeinflusst die maximale Anzahl von Zeichen, die in eine einzelne Nachricht passen.

Dieses Dokument behandelt die folgenden Themen:

Verkettung

Wenn Sie eine Nachricht senden, die mehr als die maximale Anzahl von Zeichen pro Nachricht enthält, sendet Vonage eine verkettete SMS. Eine verkettete SMS enthält mehrere SMS-Teile, die durch Segmentierungsinformationen in der SMS-Datei verbunden sind. Benutzerdaten-Header (UDH).

Diese Segmentierungsinformationen teilen dem Mobilteil die Anzahl der Nachrichtenteile mit, aus denen die verkettete SMS besteht, und die Position jedes Nachrichtenteils darin. Wenn das Mobilteil alle Nachrichtenteile empfangen hat, stellt es sie dem Empfänger als einen einzigen Text dar.

Weitere Informationen finden Sie in der Vonage Knowledgebase mit detaillierten Informationen über Mehrteilige SMS.

Kodierung

Die Vonage SMS API unterstützt im Wesentlichen zwei Arten der Kodierung: text und unicode.

Geben Sie die Kodierung an, indem Sie den Parameter type Parameter in der Anfrage. Welche Kodierung Sie verwenden sollten, hängt von den Zeichen ab, die die Nachricht enthält:

Neue Linien

Um eine neue Zeile in Ihre Nachricht einzufügen, können Sie einen Zeilenvorschub (LF) mit der UTF-8-Kodierung darstellen, d. h. %0Ain den Wert für die text Eigenschaft der Anfrageparameter. Dies zählt in Bezug auf die Anzahl der Zeichen in der Nachricht als ein einziges Zeichen. Zum Beispiel der folgende Wert für text:

&text=This is one line.%0AThis is another line.

sendet eine SMS-Nachricht, die wie folgt aussieht:

This is one line.
This is another line.

Hinweis: Die obige Anleitung für neue Leitungen gilt für die direkte Verwendung der SMS API. Wenn Sie einen HTTP-Client zur Interaktion mit der API verwenden, wie z. B. die Vonage Server-SDKsverwenden Sie die entsprechenden Konventionen für das jeweilige Tool. Für die Vonage Server SDKs ist dies die spezifische Zeilenumbruchsyntax für die von diesem SDK verwendete Programmiersprache.

GSM-Zeichensätze

Vonage unterstützt alle GSM-Standardzeichen sowie Zeichen aus der erweiterten GSM-Tabelle. Zeichen aus der Standardtabelle benötigen 7 Bits pro Zeichen zur Kodierung:

! " # $ % ' ( ) * + , - . / : ; < = > ? @ _ ¡ £ ¥ § ¿ & ¤
0 1 2 3 4 5 6 7 8 9
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
Ä Å Æ Ç É Ñ Ø ø Ü ß Ö à ä å æ è é ì ñ ò ö ù ü Δ Φ Γ Λ Ω Π Ψ Σ Θ Ξ

Charaktere aus dem erweiterte Tabelle erfordern zwei Zeichen zur Kodierung: ein ESC Zeichenpräfix, gefolgt von dem gewünschten Zeichen aus der erweiterten Tabelle:

| ^ € { } [ ] ~ \

Unicode

Sprachen wie Arabisch, Chinesisch, Koreanisch, Japanisch oder das kyrillische Alphabet erfordern Unicode-Zeichen, die über den GSM-Standard und erweiterte Bereiche hinausgehen. Diese Zeichen erfordern eine 16-Bit-UCS-2-Kodierung.

Wenn Sie die Einstellung type Parameter zu unicode, alle Zeichen innerhalb der Nachricht werden mit UCS-2 kodiert, auch wenn sie im GSM-Standardzeichensatz enthalten sind.

Kodierungsbeispiele

Nachricht Typ Bytes pro Zeichen Insgesamt benötigte Bytes In der Nachricht verwendeter Zeichensatz
Bonjour monde text 1 13 GSM-Norm
This ^ That text 1 (2 für ^ da sie im erweiterten Zeichensatz enthalten ist) 12 GSM-Standard und GSM erweitert
こんにちは世界 unicode 2 (UCS-2) 14 Unicode

Maximale Anzahl von Zeichen

Die maximale Länge einer einzelnen SMS-Nachricht beträgt 140 Byte, was 160 GSM-Standard-7-Bit-Zeichen oder 70 UCS-2-16-Bit-Zeichen entspricht. Eine Nachricht, die länger ist, wird in Teile aufgeteilt.

Hinweis: Zeichen aus der erweiterten GSM-Tabelle benötigen zwei Bytes pro Zeichen zur Kodierung.

Wenn Sie eine Nachricht mit einer type Wert von text dann gelten die folgenden Zeichenbeschränkungen:

Teile Maximale Zeichen Berechnung
1 160 Ohne UDH sind 160 Zeichen verfügbar
2 306 (160 - 7) * 2 = 306
3 459 (160 - 7) * 3 = 459
4 612 (160 - 7) * 4 = 612

Wenn Sie eine Nachricht mit einer type von unicode dann werden für jedes Zeichen in der Nachricht zwei Bytes benötigt.

Vonage akzeptiert SMS mit einer Länge von bis zu 3200 Zeichen, aber nicht alle Anbieter tun dies. Es ist empfehlenswert, darauf zu achten, dass die Nachricht nicht länger als sechs SMS-Teile ist.

Hinweis: In einer verketteten SMS wird jeder Teil der SMS berechnet.

Testen Sie Ihre Nachrichtenvorlagen mit diesem Tool:

Hinweis: Dieses Tool ist zur Demonstration der Verkettung von Nachrichten durch die API gedacht. Es ist nicht für den Produktionseinsatz gedacht. Wenn Sie eine große Anzahl von Nachrichten mit demselben Inhalt versenden und mögliche Kosten aufgrund der Nachrichtenverkettung im Voraus berechnen möchten, empfehlen wir, zunächst eine einzige Nachricht an eine Testnummer zu senden, um die Anzahl der Nachrichtenteile genau zu bestimmen. Für die SMS API wird dies in der message-count Eigenschaft in der Antwortkörper. Für die Messages API wird dies in der sms.count_total Eigenschaft in der Webhook "Nachrichtenstatus.

Probieren Sie es aus

Nachricht

Daten

Unicode ist erforderlich
Länge
611 characters sent in 4 message parts

Teile

Teil 1
Benutzerdefinierte ÜberschriftIt was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoc
Teil 2
Benutzerdefinierte Überschrifth of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything b
Teil 3
Benutzerdefinierte Überschriftefore us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way in short, the period was so far like the p
Teil 4
Benutzerdefinierte Überschriftresent period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only.

Eingehende Nachrichten

Eingehende Nachrichten entsprechen der SMS-Spezifikation. Wenn eine an Ihre virtuelle Nummer gesendete SMS länger ist als die maximale Anzahl von Zeichen für eine einzelne SMS erlaubt, erhalten Sie die verkettete Nachricht in Teilen.

Allerdings können Sie eingehende verkettete SMS nur dann empfangen, wenn der Betreiber, über den Ihr Benutzer sendet, diese unterstützt. Wenn der Netzbetreiber die Verkettung nicht unterstützt, ist es sinnvoll, alle SMS von derselben Nummer innerhalb eines kurzen Zeitfensters als verkettet zu behandeln. Siehe die Verkettung eingehender SMS Knowledge Base Artikel für weitere Informationen.

Siehe die Eingehende SMS Konzeptdokument für weitere Informationen zur Verkettung eingehender SMS.

Weitere Lektüre