---
title: "Verstuur je eerste SMS"
description: "Maak een Bird API-sleutel aan, schakel een bestemmingsland in, verstuur een ingebouwd sjabloon SMS naar je telefoon en lees de bezorgstatus terug."
canonical: "https://bird.com/nl-nl/documentatie/get-started/send-your-first-sms"
---

# Verstuur je eerste SMS

Verstuur een tekstbericht naar je eigen telefoon met Bird SMS en lees het bericht daarna terug om te zien of het bezorgd is. Deze quickstart gebruikt een ingebouwd sjabloon dat de tekst, de categorie en een gedeelde afzender levert die Bird selecteert voor de bestemming. Je hebt er geen afzender-ID of afzenderregistratie voor nodig.

Controleer voordat je begint of de wallet van je organisatie saldo heeft. SMS-verzendingen worden van de wallet afgeschreven, en Bird weigert een verzending die het saldo niet kan dekken met `402` `WalletInsufficientBalance`. [Betaalmethoden en wallet](/docs/knowledge-base/billing/payment-methods-wallet) beschrijft hoe je saldo opwaardeert.

## 1. Maak een API-sleutel aan

Ga in het dashboard naar **Platform tools** > [**API-sleutels**](https://bird.com/dashboard/w/api-keys) en maak een sleutel aan met het `sms:write`-bereik, dat verzenden en lezen van berichten omvat. Sleutels zijn gekoppeld aan een regio en zien er uit als `bk_us1_...` of `bk_eu1_...`. De regio in het voorvoegsel geeft aan welke API-host je moet aanroepen: `https://us1.platform.bird.com` of `https://eu1.platform.bird.com`.

![De API-sleutelpagina in het Bird-dashboard, met sleutels en hun gemaskeerde voorvoegsel, bereiken en laatste gebruikstijd](/images/docs/dashboard-api-keys.png)

De volledige sleutel wordt **eenmalig** getoond, op het moment van aanmaken. Kopieer hem naar een veilige plek en exporteer hem voor de cURL-voorbeelden:

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

## 2. Schakel het bestemmingsland in

Bird verzendt SMS alleen naar de landen die voor je werkruimte zijn ingeschakeld. Een verzending naar een ander land mislukt met `422` `SMSDestinationNotEnabled`. Schakel het land van je telefoonnummer in onder [**SMS** > **Destinations**](https://bird.com/dashboard/w/sms/destinations). Als het al als ingeschakeld wordt weergegeven, ga dan verder met stap 3.

Vanuit een terminal brengt de [Bird CLI](/docs/cli) dezelfde wijziging aan. Geef de tweeletterige ISO-code van het land door, bijvoorbeeld `US` voor de Verenigde Staten. Als je CLI-login geen toegang heeft tot SMS-instellingen, toont het commando het `bird auth login`-commando dat deze toevoegt:

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

Agents die verbonden zijn met de [MCP-server](/docs/ai/mcp-server) gebruiken de `sms_destinations_update`-tool. De publieke API heeft geen operatie voor bestemmingen. Het kan tot een minuut duren voordat een wijziging van toepassing is op verzendingen.

## 3. Verstuur het bericht

Verstuur de ingebouwde `bird_otp_verification`-template naar je telefoon. Het wordt weergegeven als **"493021 is your verification code. Do not share it."** met de `code`-waarde die je meegeeft. Installeer de Bird SDK voor je taal door de [SDK-quickstart](/docs/get-started/quickstarts) te volgen.

Vervang in de SDK-tabs de voorbeeld-API-key en vervang `+14155550100` door je mobiele nummer in [E.164](https://en.wikipedia.org/wiki/E.164)-formaat. De CLI gebruikt je login en het cURL-tab gebruikt `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](/nl-nl/documentatie/get-started/send-your-first-sms.ts.md) · [Python](/nl-nl/documentatie/get-started/send-your-first-sms.py.md) · [Go](/nl-nl/documentatie/get-started/send-your-first-sms.go.md) · [PHP](/nl-nl/documentatie/get-started/send-your-first-sms.php.md) · [CLI](/nl-nl/documentatie/get-started/send-your-first-sms.cli.md) · [MCP](/nl-nl/documentatie/get-started/send-your-first-sms.mcp.md) · [cURL](/nl-nl/documentatie/get-started/send-your-first-sms.curl.md)

Als je key begint met `bk_eu1_`, roep dan `https://eu1.platform.bird.com` aan.

De API antwoordt met `202 Accepted` en het bericht. De `id` begint met `sms_` en de `status` is `accepted`: Bird heeft het bericht en bezorgt het asynchroon. Bewaar de `id` voor de volgende stap. Het bericht komt binnen via de gedeelde afzender die Bird voor jouw land heeft geselecteerd.

## 4. Controleer de bezorgstatus

Haal het bericht op aan de hand van zijn ID. Een leesverzoek direct na het verzenden kan `404` teruggeven totdat het bericht zichtbaar wordt op het leesendpoint, wat kort na de `202` gebeurt. Probeer het even later opnieuw. Vervang `SMS_MESSAGE_ID` door de `id` uit stap 3, en de voorbeeld-API-sleutel in de SDK-tabs door je eigen sleutel. De Go-SDK heeft geen getypeerde methode om een SMS-bericht te lezen, dus het Go-tabblad roept het API-pad aan via de `client.Get`-requestmethode van de 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](/nl-nl/documentatie/get-started/send-your-first-sms.ts.md) · [Python](/nl-nl/documentatie/get-started/send-your-first-sms.py.md) · [Go](/nl-nl/documentatie/get-started/send-your-first-sms.go.md) · [PHP](/nl-nl/documentatie/get-started/send-your-first-sms.php.md) · [CLI](/nl-nl/documentatie/get-started/send-your-first-sms.cli.md) · [cURL](/nl-nl/documentatie/get-started/send-your-first-sms.curl.md)

Het veld `status` geeft aan waar het bericht zich bevindt:

- `accepted`: Bird heeft het bericht en heeft het nog niet aan een carrier overgedragen.
- `sent`: de carrier heeft het bericht en `sent_at` registreert wanneer Bird het heeft overgedragen.
- `delivered`: de carrier heeft de aflevering bevestigd, en `delivered_at` registreert wanneer.
- `undelivered`, `failed`, `rejected` of `expired`: het bericht heeft de telefoon niet bereikt. `last_error` geeft de reden, en [Afleverfouten](/docs/guides/sms/delivery-errors) licht elke fout toe.

Poll totdat de status `accepted` en `sent` verlaat, of abonneer je op de [SMS-events](/docs/guides/sms/events) om elke wijziging per webhook te ontvangen. Elk bericht verschijnt ook op de [**Messages**](https://bird.com/dashboard/w/sms/messages)-pagina met zijn eventtijdlijn.

## Een mislukte verzending oplossen

- **`422` `SMSDestinationNotEnabled`**: het land van de ontvanger is niet ingeschakeld voor je werkruimte. Schakel het in zoals in [stap 2](#2-schakel-het-bestemmingsland-in), wacht maximaal een minuut en verstuur opnieuw.
- **`402` `WalletInsufficientBalance`**: de wallet kan het bericht niet dekken. Vul de wallet aan en verstuur opnieuw.
- **`403` `InsufficientScope`**: de API-key mist het `sms`-bereik. Bewerk de bereiken van de key of maak een key aan met `sms:write`.

## Volgende stappen

- [SMS versturen](/docs/guides/sms/sending-sms): verstuur je eigen tekst met een afzender en categorie, in batches en met veilige herhaalpogingen.
- [SMS-afzender-ID's](/docs/guides/sms/senders): kies een afzender per land en registreer deze waar het land dat vereist.
- [SMS-templates](/docs/guides/sms/templates): de ingebouwde templatecatalogus en de bijbehorende variabelen.
- [SMS-events](/docs/guides/sms/events): de eventtypen en webhookaflevering voor elke statuswijziging.
- [SMS API-referentie](/docs/api/reference/create-sms-message): het volledige request- en responseschema.

## 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)
