> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# SMS — envoyez et recevez dans le monde entier

> Mettez le SMS en production sur Orbit : attachez un expéditeur, enregistrez-le là où c'est exigé, prédisez l'encodage et le coût par segment, lisez le cycle de vie des livraisons et évoluez avec les bassins d'expéditeurs.

# SMS

Envoyez des SMS dans le monde entier via l'infrastructure de passerelle SMPP
d'Orbit. Orbit se connecte à des opérateurs de premier niveau et agrégateurs
dans plus de 190 pays, en gérant automatiquement la concaténation, l'encodage
et le suivi des livraisons.

## Envoyer un SMS

```bash theme={null}
curl -X POST https://api.orbit.devotel.io/api/v1/messages/sms \
  -H "X-API-Key: dv_live_sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+14155552671",
    "from": "+18005551234",
    "body": "Bonjour depuis Orbit !"
  }'
```

`to` et `from` sont tous les deux validés comme [E.164](https://fr.wikipedia.org/wiki/E.164)
— format international complet avec l'indicatif du pays. La façon dont Orbit
valide et normalise les numéros se trouve dans le
[cycle de vie des numéros](/concepts/number-lifecycle).

### Réponse

Le endpoint répond **HTTP 202 Accepted** — le message est persisté et mis en
file pour livraison. L'`id` est un identifiant de message de la plateforme de
la forme `msg_` suivi de 32 caractères hexadécimaux ; suivez son cycle de vie
via les [webhooks de livraison](/webhooks/overview).

```json theme={null}
{
  "data": {
    "id": "msg_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
    "status": "queued",
    "channel": "sms",
    "segments": 1,
    "encoding": "GSM-7"
  }
}
```

Lisez `segments` et `encoding` à chaque envoi — c'est sur cette base que la
facturation s'effectue.

## Fondamentaux de la délivrabilité

La délivrabilité du SMS dépend de trois choses, dans cet ordre : **depuis qui
vous envoyez**, **vers où**, et **à quelle vitesse**. Un expéditeur non
enregistré est filtré par l'opérateur avant qu'un segment ne vous coûte.

### Choisir un type d'expéditeur

| Type d'expéditeur                                       | Le mieux pour                                                                    | Contrainte                                                                                                                                         |
| ------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Identifiant d'expéditeur alphanumérique** (`MyBrand`) | Reconnaissance de marque ; marchés où les identifiants numériques sont supprimés | Enregistrement requis dans de nombreux pays ; ne prend pas en charge les réponses (unidirectionnel)                                                |
| **Code long numérique** (`+14155550123`)                | SMS bidirectionnel, réponses, support conversationnel                            | Débit variable selon le pays (États-Unis : enregistrez-vous en [10DLC](#enregistrement-10dlc-et-types-de-campagne-etats-unis) pour le plein débit) |
| **Code court** (`12345`)                                | Campagnes à haute capacité, envois OTP mémorisables                              | Long délai opérateur, coût plus élevé                                                                                                              |
| **Bassin d'expéditeurs**                                | Volume élevé, présence locale, rotation des expéditeurs dégradés                 | Voir [bassins d'expéditeurs](/guides/sender-pools)                                                                                                 |

Quel enregistrement votre pays de destination exige est listé par les
[exigences de conformité par pays](/compliance/country-requirements).

## Enregistrement 10DLC et types de campagne (États-Unis)

Si vous envoyez vers les États-Unis via des codes longs numériques, les
opérateurs exigent un enregistrement ; le trafic non enregistré est filtré,
surchargé ou les deux. Orbit soumet l'enregistrement via The Campaign Registry
pour votre compte — la procédure complète (marque → campagne → approbation →
niveaux de débit) est dans le
[guide d'enregistrement 10DLC](/guides/10dlc-registration).

Le point clé américain : le débit après enregistrement est accordé comme un
**plafond de segments par jour et par numéro** selon le score de vérification
de votre marque — et non comme un taux par seconde. Pour les destinations hors
États-Unis qui limitent les identifiants alphanumériques (la majeure partie de
l'Europe, le Brésil, le Bangladesh, des parties de l'APAC), le flux parallèle
est l'
[enregistrement des identifiants d'expéditeur](/compliance/sender-id-registration).
L'Inde est l'exception : ses identifiants de remettant (« Headers ») sont
enregistrés via DLT/TRAI — voir
[embarquement DLT de l'Inde](/compliance/dlt-india).

## Encodage et concaténation

L'encodage est la seule variable de coût qui survit à un expéditeur bien
enregistré. Le SMS est facturé par segment, et le nombre de segments dépend
entièrement de l'alphabet dans lequel le corps tient.

### GSM-7 contre UCS-2

* **GSM-7** — l'alphabet GSM 7 bits (ASCII plus quelques extras : `@`, `£`,
  `€`, quelques caractères grecs). Un corps qui ya tient obtient jusqu'à **160
  caractères par segment**, ou **153 caractères** en envoi multipartie (7
  caractères par segment vont dans l'en-tête de concaténation UDH).
* **UCS-2** — tout caractère hors de GSM-7 (emoji, CJK, guillemets
  typographiques, la plupart des écritures non latines) bascule tout le message
  en encodage 16 bits. Un corps obtient jusqu'à **70 caractères par segment**,
  ou **67** en multipartie.

Un seul caractère non GSM-7 reclassifie tout le message. Orbit normalise les
contrevenants accidentels — guillemets typographiques collés, tirets cadratins,
apostrophes bouclées, caractères invisibles de largeur nulle — vers des
équivalents sûrs de GSM-7 avant de compter, de sorte qu'une erreur de
copier-coller ne double pas votre facture de segments. Le modèle complet
d'encodage et de segmentation est dans le
[concept des segments et de l'encodage SMS](/concepts/sms-segments-and-encoding).

### Exemple résolu

`Votre commande a été expédiée — répondez OUI` — 30 caractères, tout GSM-7 →
**1 segment, `GSM-7`**. Un seul emoji bascule l'alphabet ; une lettre ASCII
de 160 caractères devient immédiatement **2 segments UCS-2**. Plafond strict :
**10 segments** (1 530 caractères GSM-7 ou 670 caractères UCS-2) ; au-delà,
le corps est tronqué avec `wasTruncated: true` posé.

## Cycle de vie des statuts

Chaque SMS sortant porte un `status` qui avance :

`queued` → `sending` → `sent` → `delivered` (ou `failed` / `undelivered` /
`rejected` / `expired`)

Abonnez-vous aux transitions via les [webhooks](/webhooks/overview) avec les
événements `message.sent`, `message.delivered` et `message.failed`. Les
subtilités qui piègent les opérateurs :

* `submitted_no_receipt` — le fournisseur a accepté l'envoi ; aucune DLR n'est
  arrivée dans la fenêtre de grâce de 30 minutes. Traitez-la comme *résultat
  inconnu*, ni livraison ni échec.
* `expired` — une DLR est arrivée après la fermeture de la fenêtre ; le dossier
  est clos.
* `rejected` — porte d'expéditeur : enregistrement manquant ou politique de
  contenu. Déterministe tant que la porte n'est pas débloquée.

La machine à états conceptuelle dans
[cycle de vie des livraisons](/concepts/delivery-lifecycle) ; la gestion des
échecs dans
[dépannage : message non livré ou échoué](/troubleshooting/message-undelivered-failed).

## Tarification

La tarification du SMS est par segment et varie selon le pays de destination.
Consultez la [page de tarification](https://orbit.devotel.io/pricing) ou le
endpoint `GET /api/v1/pricing/messaging?country=<ISO>` pour les tarifs en
temps réel. Deux envois identiques se facturent différemment dès que
l'encodage de l'un passe en UCS-2 — voir
[encodage et concaténation](#encodage-et-concaténation).

## Limites de débit

Les envois SMS sont par défaut limités à **100 requêtes par minute par
organisation** ; la limite est clavée par organisation, pas par IP ni par
plan. La dépasser renvoie `429 RATE_LIMITED` ; voir le
[guide des limites de débit](/guides/rate-limits). Les plafonds par défaut de
chaque canal (SMS 100, WhatsApp 80, e-mail 200, fax 20, entre autres) sont
événables par canal via `channel_rate_overrides` dans les paramètres de
messagerie de votre organisation.

## Fonctionnalités

* **Messagerie A2P et P2P** — application-à-personne et personne-à-personne
* **Portée mondiale** — plus de 190 pays via le réseau d'agrégation de Devotel
* **Rapports de livraison** — webhooks de statut en temps réel pour chaque
  message
* **Messages concaténés** — SMS multipartie gérés de façon transparente
  (jusqu'à 10 segments)
* **Validation E.164** — validation automatique du format du numéro de
  téléphone
* **Prise en charge Unicode** — encodage GSM-7 et UCS-2 complet avec détection
  automatique et normalisation de la ponctuation typographique
