SMS

Qu'est-ce qu'un segment SMS, et pourquoi un message a-t-il coûté trois ?

Un segment SMS est une partie facturable d'un texte SMS, donc trois parties entraînent trois unités de facturation.

Un téléphone peut afficher un long texte comme un seul message même si le réseau transporte plusieurs parties. L'alphabet utilisé pour encoder votre texte détermine le nombre de parties facturées par Bird.

Qu'est-ce qu'un segment ?

Un segment est le plus grand morceau de texte qu'un message réseau peut transporter. Le texte en lettres latines simples tient en 160 caractères par segment. Si le message contient ne serait-ce qu'un caractère hors de cet ensemble, comme un emoji, un guillemet courbe ou la plupart des lettres accentuées, chaque segment ne contient plus que 70 caractères.

Quand un message nécessite plus d'un segment, chaque partie cède un peu de place à un en-tête que le téléphone utilise pour les réassembler : 153 caractères par partie pour le texte simple, 67 pour l'ensemble élargi. Ainsi, 161 lettres simples coûtent deux segments, 153 dans le premier et huit dans le second.

Bird compte le texte simple dans l'alphabet GSM-7 et tout le reste en UCS-2, les deux encodages acceptés par les opérateurs. Quelques caractères comptent double même à l'intérieur de GSM-7, et certains emoji comptent double en UCS-2 ; la page d'encodage les répertorie.

Pourquoi un message a-t-il coûté trois ?

Bird facture selon le nombre de segments, donc un message de trois segments entraîne trois unités au tarif applicable.

Bird calcule le nombre de segments au moment d'accepter votre envoi. La destination, la catégorie du message et le type d'expéditeur déterminent aussi le prix applicable. Consultez la tarification SMS pour la route que vous utilisez.

Par exemple, 150 lettres latines ordinaires tiennent dans un segment. Ajoutez un emoji de visage souriant et tout le corps passe en UCS-2. Cet emoji compte double, ce qui porte le total à 152. La division de 152 par la capacité multipart de 67 nécessite trois segments.

Quels caractères changent l'encodage ?

Tout caractère hors de GSM-7 fait basculer l'intégralité du corps en UCS-2.

Les guillemets droits sont inclus dans GSM-7. Les guillemets courbes ne le sont pas. Les lettres é et ü sont incluses. Les lettres á, í et ú ne le sont pas. Le chinois, le japonais, le coréen, l'arabe, le thaï et l'hindi nécessitent aussi l'encodage élargi.

Un nom ou un titre de produit inséré dans un modèle peut donc changer l'encodage de tout le message. Vérifiez le texte final après l'insertion de ces valeurs.

Pourquoi un comptage de caractères donne-t-il un résultat différent ?

Certains caractères comptent double par rapport à la limite du segment.

GSM-7 compte chacun des caractères , [, ], {, }, \, ~, ^ et | comme deux caractères. Le caractère saut de page, qui demande un changement de page, compte aussi double. Quatre-vingts signes euro remplissent donc un segment.

Un corps de 159 lettres latines ordinaires suivi de comporte 160 caractères. Il compte pour 161 par rapport à la limite. Il nécessite deux segments.

Certains emoji, comme 😀, comptent double en UCS-2. Trente-cinq d'entre eux remplissent un segment. La page d'encodage répertorie les caractères qui nécessitent une attention particulière.

Comment vérifier le nombre de segments dans Bird ?

Vous lisez le nombre calculé dans l'objet segments de la réponse du message.

  • count est un entier d'au moins 1. Chaque segment compté est une unité facturable. Les messages sortants sont limités à 12. Un corps plus long reçoit HTTP 422, ce qui rejette la requête sans tronquer le texte.
  • encoding est GSM_7BIT ou UCS2, indiquant quelle capacité s'applique.
  • characters compte les caractères du texte avant d'appliquer les règles de comptage double. Utilisez count pour vérifier les segments facturables.

Pour un message qui doit tenir dans un seul segment, vérifiez count après avoir préparé le corps complet. Incluez les noms insérés et comptez les caractères tels que 😀 en double.

Vous pouvez aussi définir options.smart_encoding à true ou false. La valeur par défaut est false. Lorsque cette option est activée, elle remplace la ponctuation prise en charge uniquement si le résultat complet tient en GSM-7. Un emoji restant dans le corps empêche tout remplacement. Smart encoding explique ce comportement.

Le guide des limites de caractères documente les règles de comptage et les champs de réponse.

En bref

  1. Chaque segment est une unité facturable.

    Un message découpé en trois segments est facturé comme trois unités au tarif applicable.

  2. L'encodage détermine la capacité.

    Un seul caractère hors de l'alphabet compact SMS fait basculer tout le corps du message dans l'encodage Unicode.

  3. Certains caractères comptent double.

    Un signe euro compte comme deux caractères dans la limite. Certains emoji comptent aussi double.

  4. Chaque segment multipart réserve de l'espace pour l'en-tête.

    Le découpage réduit la capacité de chaque partie, y compris la première.

Développez sur le même réseau.

Une clé API de test est disponible immédiatement. La production est activée dès que vous ajoutez un moyen de paiement et vérifiez un expéditeur.

Votre prochaine idée.
Prête à se connecter.