---
title: "Envoyer votre premier SMS"
description: "Créez une clé Bird API, activez un pays de destination, envoyez un modèle intégré SMS vers votre téléphone et consultez son statut de livraison."
canonical: "https://bird.com/fr-fr/documentation/get-started/send-your-first-sms"
---

# Envoyer votre premier SMS

Envoyez un message texte vers votre propre téléphone avec Bird SMS, puis relisez le message pour vérifier s'il a été livré. Ce guide de démarrage rapide utilise un modèle intégré, qui fournit le texte, la catégorie et un expéditeur partagé que Bird sélectionne en fonction de la destination. Vous n'avez pas besoin d'un identifiant d'expéditeur ni d'un enregistrement d'expéditeur pour cela.

Avant de commencer, vérifiez que le portefeuille de votre organisation dispose de fonds. Les envois SMS puisent dans le portefeuille, et Bird refuse un envoi que le solde ne peut pas couvrir avec `402` `WalletInsufficientBalance`. [Méthodes de paiement et portefeuille](/docs/knowledge-base/billing/payment-methods-wallet) explique comment l'alimenter.

## 1. Créer une clé API

Dans le tableau de bord, accédez à **Platform tools** > [**Clés API**](https://bird.com/dashboard/w/api-keys) et créez une clé avec le scope `sms:write`, qui couvre l'envoi et la lecture des messages. Les clés sont liées à une région et ressemblent à `bk_us1_...` ou `bk_eu1_...`. La région dans le préfixe vous indique quel hôte API appeler : `https://us1.platform.bird.com` ou `https://eu1.platform.bird.com`.

![La page des clés API dans le tableau de bord Bird, listant les clés avec leur préfixe masqué, leurs scopes et leur dernière utilisation](/images/docs/dashboard-api-keys.png)

La clé complète est affichée **une seule fois**, au moment de la création. Copiez-la dans un endroit sûr, puis exportez-la pour les exemples cURL :

```bash
export BIRD_API_KEY="bk_us1_..."
```

## 2. Activer le pays de destination

Bird n'envoie de SMS qu'aux pays activés pour votre espace de travail. Un envoi vers tout autre pays échoue avec `422` `SMSDestinationNotEnabled`. Activez le pays de votre numéro de téléphone sous [**SMS** > **Destinations**](https://bird.com/dashboard/w/sms/destinations). S'il apparaît déjà comme activé, passez à l'étape 3.

Depuis un terminal, la commande [Bird CLI](/docs/cli) effectue la même modification. Transmettez le code ISO à deux lettres du pays, par exemple `US` pour les États-Unis. Si votre identifiant CLI n'a pas accès aux paramètres SMS, la commande affiche la commande `bird auth login` qui l'ajoute :

```bash
bird sms destinations update --destination US=true
```

Les agents connectés au [serveur MCP](/docs/ai/mcp-server) utilisent l'outil `sms_destinations_update`. L'API publique ne propose pas d'opération pour les destinations. Un changement peut prendre jusqu'à une minute avant de s'appliquer aux envois.

## 3. Envoyer le message

Envoyez le modèle intégré `bird_otp_verification` à votre téléphone. Il s'affiche sous la forme **"493021 is your verification code. Do not share it."** avec la valeur `code` que vous transmettez. Installez le Bird SDK pour votre langage en suivant son [quickstart SDK](/docs/get-started/quickstarts).

Dans les onglets SDK, remplacez la clé API d'exemple, et remplacez `+14155550100` par votre numéro de mobile au format [E.164](https://en.wikipedia.org/wiki/E.164). L'onglet CLI utilise votre identifiant de connexion, et l'onglet cURL utilise `BIRD_API_KEY`.

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.sms.send({
  to: "+14155550100",
  template: { slug: "bird_otp_verification", parameters: { code: "493021" } },
});

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/fr-fr/documentation/get-started/send-your-first-sms.ts.md) · [Python](/fr-fr/documentation/get-started/send-your-first-sms.py.md) · [Go](/fr-fr/documentation/get-started/send-your-first-sms.go.md) · [PHP](/fr-fr/documentation/get-started/send-your-first-sms.php.md) · [CLI](/fr-fr/documentation/get-started/send-your-first-sms.cli.md) · [MCP](/fr-fr/documentation/get-started/send-your-first-sms.mcp.md) · [cURL](/fr-fr/documentation/get-started/send-your-first-sms.curl.md)

Si votre clé commence par `bk_eu1_`, appelez `https://eu1.platform.bird.com` à la place.

L'API répond avec `202 Accepted` et le message. Son `id` commence par `sms_`, et son `status` est `accepted` : Bird a le message et le livre de manière asynchrone. Conservez le `id` pour l'étape suivante. Le message arrive depuis l'expéditeur partagé que Bird a sélectionné pour votre pays.

## 4. Vérifier le statut de livraison

Récupérez le message par son ID. Une lecture juste après l'envoi peut renvoyer `404` tant que le message n'est pas visible sur le point de lecture, ce qui se produit peu après le `202`. Relisez-le un instant plus tard. Remplacez `SMS_MESSAGE_ID` par le `id` de l'étape 3, et la clé API d'exemple dans les onglets SDK par la vôtre. Le SDK Go n'a pas de méthode typée pour lire un message SMS ; l'onglet Go appelle donc le chemin API via la méthode de requête `client.Get` du SDK.

**TypeScript**

```typescript
import { BirdClient } from "@messagebird/sdk";

const bird = new BirdClient({ apiKey: "bk_XXXXXXXXXXXXXXXXXXXXXXXX" });

const msg = await bird.sms.get("SMS_MESSAGE_ID");

console.log(msg.id, msg.status);
```

Examples: [TypeScript](/fr-fr/documentation/get-started/send-your-first-sms.ts.md) · [Python](/fr-fr/documentation/get-started/send-your-first-sms.py.md) · [Go](/fr-fr/documentation/get-started/send-your-first-sms.go.md) · [PHP](/fr-fr/documentation/get-started/send-your-first-sms.php.md) · [CLI](/fr-fr/documentation/get-started/send-your-first-sms.cli.md) · [cURL](/fr-fr/documentation/get-started/send-your-first-sms.curl.md)

Le champ `status` indique où en est le message :

- `accepted` : Bird a le message et ne l'a pas encore transmis à un opérateur.
- `sent` : l'opérateur a le message, et `sent_at` indique quand Bird l'a transmis.
- `delivered` : l'opérateur a confirmé la livraison, et `delivered_at` indique à quel moment.
- `undelivered`, `failed`, `rejected` ou `expired` : le message n'a pas atteint le téléphone. `last_error` donne la raison, et [Erreurs de livraison](/docs/guides/sms/delivery-errors) explique chacune d'entre elles.

Interrogez jusqu'à ce que le statut quitte `accepted` et `sent`, ou abonnez-vous aux [événements SMS](/docs/guides/sms/events) pour recevoir chaque changement par webhook. Chaque message apparaît aussi sur la page [**Messages**](https://bird.com/dashboard/w/sms/messages) avec sa chronologie d'événements.

## Corriger un envoi échoué

- **`422` `SMSDestinationNotEnabled`** : le pays du destinataire n'est pas activé pour votre espace de travail. Activez-le comme à l'[étape 2](#2-activer-le-pays-de-destination), attendez jusqu'à une minute, puis renvoyez le message.
- **`402` `WalletInsufficientBalance`** : le portefeuille ne peut pas couvrir le message. Rechargez le portefeuille, puis renvoyez le message.
- **`403` `InsufficientScope`** : la clé API ne possède pas le scope `sms`. Modifiez les scopes de la clé ou créez une clé avec `sms:write`.

## Étapes suivantes

- [Envoyer des SMS](/docs/guides/sms/sending-sms) : envoyez votre propre texte avec un expéditeur et une catégorie, par lots, et avec des nouvelles tentatives sûres.
- [Identifiants d'expéditeur SMS](/docs/guides/sms/senders) : choisissez un expéditeur pour chaque pays et enregistrez-le là où le pays l'exige.
- [Modèles SMS](/docs/guides/sms/templates) : le catalogue de modèles intégrés et ses variables.
- [Événements SMS](/docs/guides/sms/events) : les types d'événements et la livraison par webhook pour chaque changement de statut.
- [Référence SMS API](/docs/api/reference/create-sms-message) : le schéma complet de requête et de réponse.

## Related resources

- [Sending your first SMS](/learn/sms/sending-your-first-sms) (video)
- [One-way and two-way SMS](/explained/sms/what-is-the-difference-between-one-way-and-two-way-sms) (answer)
- [Two-way SMS](/sms-api/features/two-way) (product)
- [Build your first integration](/learn/paths/integration) (course)

[Get an implementation brief](/learn/workspace?topic=sms-replies)
