# WhatsApp-authenticatietemplates

Een authenticatietemplate bezorgt een eenmalige verificatiecode. Meta levert de tekst wanneer je het template maakt. Bij het versturen geef je de code mee als body-parameter.

## Voordat je verstuurt

Kies of je een door Bird beheerd template wilt gebruiken of zelf een template op je eigen zakelijke account wilt maken.

Het versturen van de standaardcatalogustemplates van Bird, `bird_otp` en `bird_otp_authifly`, vereist geen verificatie van jouw kant. Die templates staan op de eigen WhatsApp Business Accounts van Bird, en het beheerde verzendpad controleert de verificatiestatus van je bedrijf nooit.

Wanneer het gekoppelde zakelijke account `not_verified` meldt, weigert Bird het aanmaken of dupliceren van authenticatietemplates met `412` [`E15043`](/docs/api/errors/E15043) `WhatsAppTemplateBusinessNotVerified`. Controleer het gekoppelde account en de laatst gesynchroniseerde status. Zie [WhatsApp-bedrijfsverificatie](/docs/knowledge-base/whatsapp/business-verification) voor het verificatieproces en de statusafhandeling.

Het aanmaken van utility- en marketingtemplates wordt niet beïnvloed door deze poort; je kunt die blijven aanmaken en bewerken ongeacht je verificatiestatus.

Maak templates aan in het dashboard, met de [`bird` CLI](/docs/cli), of via de [MCP-server](/docs/ai/mcp-server). Zie [WhatsApp-templates aanmaken](/docs/guides/whatsapp/authoring-templates) voor de volledige flow.

## Een verificatiecode versturen

`POST /v1/whatsapp/messages` met een `template`-object dat een catalogusslug benoemt:

**TypeScript**

```typescript
const msg = await bird.whatsapp.send({
  to: "+14155550100",
  template: {
    slug: "bird_otp",
    language: "en",
    components: [{ type: "body", parameters: [{ type: "text", text: "481920" }] }],
  },
});
console.log(msg.id, msg.status);
```

Examples: [TypeScript](/nl-nl/documentatie/guides/whatsapp/templates/authentication.ts.md) · [Python](/nl-nl/documentatie/guides/whatsapp/templates/authentication.py.md) · [Go](/nl-nl/documentatie/guides/whatsapp/templates/authentication.go.md) · [PHP](/nl-nl/documentatie/guides/whatsapp/templates/authentication.php.md) · [CLI](/nl-nl/documentatie/guides/whatsapp/templates/authentication.cli.md) · [MCP](/nl-nl/documentatie/guides/whatsapp/templates/authentication.mcp.md) · [cURL](/nl-nl/documentatie/guides/whatsapp/templates/authentication.curl.md)

Vier regels zijn specifiek voor deze categorie:

- **Laat `from` weg.** Een door Bird beheerde template kiest zijn eigen afzender op basis van categorie en regio, dus het instellen van `from` retourneert `422` [`E15018`](/docs/api/errors/E15018) `WhatsAppSenderNotAllowed`. Dat is het tegenovergestelde van een verzending met vrij geformuleerde inhoud, die `from` vereist. Goed om te onthouden als je hier via de pagina's over interactieve berichten terechtkomt.
- **`to` moet een E.164-telefoonnummer zijn.** Een authenticatietemplate kan niet naar een business-scoped user-ID gestuurd worden; dat is `422` [`E15014`](/docs/api/errors/E15014) `WhatsAppRecipientNotSupportedForTemplate`.
- **De body neemt precies één positionele parameter: de code.** Nul parameters, of de parameter benoemen, retourneert `422` [`E15003`](/docs/api/errors/E15003) `WhatsAppTemplateParameterMismatch`. Authenticatie is de enige categorie die Meta positioneel schrijft; elke andere categorie benoemt zijn parameters.
- **Er is geen klantenservicevenster nodig.** Templateverzendingen zijn niet venstergebonden, en dat is precies de reden dat een verificatiecodetemplate bestaat: het moet iemand bereiken die je nog nooit een bericht heeft gestuurd.

Lees de beschikbare talen voor `bird_otp` of `bird_otp_authifly` uit de templatecatalogus. Als de gevraagde taal niet beschikbaar is, mislukt de verzending in plaats van een andere taal te gebruiken.

## De kopieerknop

Meta schrijft de body van een authenticatietemplate zelf, als een voorinstelling met één codeplaatshouder, dus je levert vlaggen aan in plaats van tekst. De knopcomponent is optioneel bij een verzending: als je er geen opneemt, voegt Bird hem voor je toe met dezelfde code als de body. Je kunt hem ook zelf meegeven:

```json
{ "type": "button", "parameters": [{ "type": "text", "text": "481920" }] }
```

In beide gevallen komt er precies één knop bij WhatsApp aan, en dat is de kopieerknop: erop tikken kopieert de code naar het klembord. Bird ondersteunt alleen `copy_code`; de andere twee knopgedragingen die Meta documenteert voor authenticatietemplates, one-tap en zero-tap autofill, zijn niet beschikbaar op Bird.

Het aanmaken van een templateknop volgt dezelfde structuur: één `otp`-knop, en de template accepteert geen andere knoptypen. Je levert `add_security_recommendation` (een boolean die in de body wordt getoond) en `code_expiration_minutes` (1 tot 90, getoond in de footer) in plaats van tekst te schrijven.

## Wat Meta toestaat in een authenticatietemplate

Meta legt de structuur van een authenticatietemplate vast en beoordeelt de inhoud: geen URL's, media of emoji's ergens in de template, en een limiet van 15 tekens op de codeparameter. De categorie verandert ook hoe WhatsApp het bericht bezorgt: het wordt alleen naar het primaire apparaat van de ontvanger gestuurd. Zie [Templaterichtlijnen](/docs/knowledge-base/whatsapp/template-guidelines) voor de vaste structuur, tekenlimieten en het beoordelingsproces in detail.

## Kosten

Categorie en bestemming bepalen de prijs. Zie [WhatsApp-tarieven voor internationale authenticatie](/docs/knowledge-base/whatsapp/authentication-international-rates) voor hoe verzending naar een ander land dan je primaire locatie de prijs kan wijzigen, en [Kosten en facturering](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing) voor wanneer een verzending in rekening wordt gebracht. De tarieven staan op [WhatsApp-prijzen](/products/whatsapp/pricing).

## Aandachtspunten

- **De standaardtemplates van Bird worden niet bezorgd in negen landen.** `bird_otp` en `bird_otp_authifly` versturen vanaf de eigen WhatsApp Business Accounts van Bird, en die accounts bezorgen geen authenticatieberichten in Egypte, India, Indonesië, Maleisië, Nigeria, Pakistan, Saudi-Arabië, Zuid-Afrika of de Verenigde Arabische Emiraten. Zo'n verzending wordt geweigerd met `422` [`E15063`](/docs/api/errors/E15063) `WhatsAppDestinationRestricted` voordat er iets in rekening wordt gebracht. Een template die je op je eigen account hebt aangemaakt en vanaf je eigen nummer verstuurt, bereikt deze landen gewoon. [Verify](/docs/guides/verify/countries#where-whatsapp-cannot-carry-a-passcode) bereikt ze ook, door de verificatiecode zelfstandig naar een ander kanaal te verplaatsen.
- **Een verzending met een eigen template vereist `from`, en die moet op hetzelfde WhatsApp Business Account staan als de template.** Een afzender op een ander account wordt geweigerd met `422` [`E15023`](/docs/api/errors/E15023) `WhatsAppSenderWABAMismatch` voordat er iets in rekening wordt gebracht.
- **Alleen een taalversie die goedgekeurd en live is, kan verstuurd worden.** Een concept-, in behandeling zijnde, afgewezen of gepauzeerde taalversie niet.
- **Meta kan een template op eigen initiatief hercategoriseren.** Er is geen opt-out, en het verplaatst de prijs- en bezorgregels die bij de categorie horen.
- **De categorie van de template en de categorie van de taalversie kunnen uiteenlopen.** Zie [WhatsApp-templates](/docs/guides/whatsapp/templates#listing-templates-from-the-api) voor hoe het verzendpad dit oplost.
- **Een geïmporteerde authenticatietemplate kan niet gedupliceerd worden.** Bird kan de door WhatsApp gegenereerde tekst niet teruglezen naar de instellingen waaruit een nieuwe template wordt opgebouwd; dat is `422` [`E15024`](/docs/api/errors/E15024) `WhatsAppTemplateContentNotDuplicable`. Maak in plaats daarvan een nieuwe aan met een eigen beveiligingsaanbeveling en codeverlooptijd.

## Volgende stappen

- [WhatsApp-templates](/docs/guides/whatsapp/templates): de catalogus doorzoeken en het gedeelde send-by-template-contract
- [Utility-templates](/docs/guides/whatsapp/templates/utility): orderupdates, afspraakherinneringen en accountmeldingen
- [WhatsApp-bedrijfsverificatie](/docs/knowledge-base/whatsapp/business-verification): hoe verificatie werkt en wat het verder ontgrendelt

## Related resources

- [Connecting WhatsApp to Bird: from buying a number to a live channel](/learn/whatsapp/connecting-whatsapp-to-bird) (video)
- [What is the 24-hour customer service window on WhatsApp?](/explained/whatsapp/what-is-the-24-hour-customer-service-window) (answer)
- [WhatsApp message builder](/tools/whatsapp-message-builder) (tool)
- [WhatsApp](/products/whatsapp) (product)

[Get an implementation brief](/learn/workspace?topic=whatsapp)
