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

# Envoyer un SMS

> Un SMS à un numéro, avec un texte ou un modèle.

```http theme={null}
POST /api/v1/sms/messages
x-api-key: <votre clé>
Idempotency-Key: commande-48213-confirmation
Content-Type: application/json

{ "sender": "DEXCHANGE", "to": "77 123 45 67", "content": "Votre commande 48213 est confirmée." }
```

Portée : `sms:send`.

| Champ | Description |
| - | - |
| `sender` | Le nom affiché au destinataire : `DEXCHANGE` (plateforme) ou un [nom approuvé](https://docs.dexnotify.com/sms/expediteurs.md) de votre organisation. |
| `to` | Un numéro sous toutes ses formes courantes : `771234567`, `77 123 45 67`, `+221771234567`, `00221771234567`. Un numéro local est lu comme sénégalais. |
| `content` | Le texte, jusqu’à 10 segments. |
| `templateId`, `variables` | Un [modèle SMS](#modeles) du projet et ses variables, au lieu de `content`. L’un ou l’autre, jamais les deux. |

La réponse `202` rend le message `queued`, ses unités réservées. L’envoi part ensuite, de façon asynchrone : un refus de l’opérateur ne remonte jamais dans cette réponse, il se lit sur le [destinataire](https://docs.dexnotify.com/sms/statuts.md).

## Longueur et unités

| Alphabet | Un segment | Segments suivants | Au plus (10 segments) |
| - | - | - | - |
| GSM-7 (lettres sans accent, chiffres, ponctuation courante) | 160 caractères | 153 | 1 530 |
| UCS-2 (dès qu’un caractère sort du GSM : certains accents, emoji) | 70 caractères | 67 | 670 |

Un segment coûte une unité, ou davantage selon le pays. Pour connaître le coût avant d’envoyer :

```bash theme={null}
curl -X POST https://api.dexnotify.com/api/v1/sms/messages/estimate \
  -H "x-api-key: $DEXNOTIFY_CLE" -H "content-type: application/json" \
  -d '{"sender":"DEXCHANGE","to":"77 123 45 67","content":"Votre commande 48213 est confirmée."}'
```

L’estimation prend le même corps et rend destinataires, segments, unités et solde, sans rien écrire.

## Modèles

Un modèle SMS garde un texte réutilisable, avec ses variables entre doubles accolades :

```bash theme={null}
curl -X POST https://api.dexnotify.com/api/v1/sms/templates \
  -H "x-api-key: $DEXNOTIFY_CLE" -H "content-type: application/json" \
  -d '{"name":"confirmation-commande","content":"Bonjour {{nom}}, votre commande {{commande}} est confirmée."}'
```

puis s’envoie par son identifiant :

```json theme={null}
{ "sender": "DEXCHANGE", "to": "77 123 45 67", "templateId": "6702…", "variables": { "nom": "Awa", "commande": "48213" } }
```

Modifier un modèle ne change pas les envois déjà créés : ils gardent leur texte.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.