# Template di autenticazione WhatsApp

Un template di autenticazione consegna un codice di verifica monouso. Meta ne fornisce il testo quando crei il template. Al momento dell'invio, indica il codice come parametro body.

## Prima di inviare

Scegli se usare un template gestito da Bird o crearne uno sul tuo account business.

Inviare i template preconfigurati del catalogo di Bird, `bird_otp` e `bird_otp_authifly`, non richiede alcuna verifica da parte tua. Questi template risiedono sui WhatsApp Business Account di Bird, e il percorso di invio gestito non controlla mai lo stato di verifica della tua azienda.

Quando l'account business collegato riporta `not_verified`, Bird rifiuta la creazione o la duplicazione di template di autenticazione con `412` [`E15043`](/docs/api/errors/E15043) `WhatsAppTemplateBusinessNotVerified`. Controlla l'account collegato e il suo ultimo stato sincronizzato. Consulta [Verifica business WhatsApp](/docs/knowledge-base/whatsapp/business-verification) per il processo di verifica e la gestione degli stati.

La creazione di template utility e marketing non è soggetta a questo requisito: puoi continuare a crearli e modificarli indipendentemente dal tuo stato di verifica.

Crea i template nella dashboard, con la [CLI di `bird`](/docs/cli), oppure tramite il [server MCP](/docs/ai/mcp-server). Consulta [Creazione di template WhatsApp](/docs/guides/whatsapp/authoring-templates) per il flusso completo.

## Inviare un codice di verifica

`POST /v1/whatsapp/messages` con un oggetto `template` che indica uno slug del catalogo:

**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](/it-it/documentazione/guides/whatsapp/templates/authentication.ts.md) · [Python](/it-it/documentazione/guides/whatsapp/templates/authentication.py.md) · [Go](/it-it/documentazione/guides/whatsapp/templates/authentication.go.md) · [PHP](/it-it/documentazione/guides/whatsapp/templates/authentication.php.md) · [CLI](/it-it/documentazione/guides/whatsapp/templates/authentication.cli.md) · [MCP](/it-it/documentazione/guides/whatsapp/templates/authentication.mcp.md) · [cURL](/it-it/documentazione/guides/whatsapp/templates/authentication.curl.md)

Quattro regole sono specifiche di questa categoria:

- **Ometti `from`.** Un template gestito da Bird sceglie il proprio mittente in base alla categoria e alla regione, quindi impostare `from` restituisce `422` [`E15018`](/docs/api/errors/E15018) `WhatsAppSenderNotAllowed`. È l'opposto di un invio libero, che richiede `from`: vale la pena ricordarlo se arrivi dalle pagine sui messaggi interattivi.
- **`to` deve essere un numero di telefono E.164.** Un template di autenticazione non può essere inviato a un ID utente con ambito aziendale: restituisce `422` [`E15014`](/docs/api/errors/E15014) `WhatsAppRecipientNotSupportedForTemplate`.
- **Il corpo accetta esattamente un parametro posizionale, il codice.** Zero parametri, o un parametro con nome, restituisce `422` [`E15003`](/docs/api/errors/E15003) `WhatsAppTemplateParameterMismatch`. L'autenticazione è l'unica categoria in cui Meta usa parametri posizionali; tutte le altre usano parametri con nome.
- **Non serve una finestra di assistenza clienti.** Gli invii tramite template non richiedono una finestra aperta, ed è proprio il motivo per cui esiste un template per codici di verifica: deve raggiungere qualcuno che non ti ha mai scritto.

Leggi le lingue disponibili per `bird_otp` o `bird_otp_authifly` dal catalogo dei template. Se la lingua richiesta non è disponibile, l'invio fallisce anziché sostituirla con un'altra lingua.

## Il pulsante copia codice

Meta scrive autonomamente il corpo di un template di autenticazione, come preset con un singolo segnaposto per il codice, quindi fornisci flag anziché testo. Il componente pulsante è facoltativo nell'invio: se non ne includi uno, Bird lo aggiunge per te, con lo stesso codice del corpo. Puoi anche fornirlo tu:

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

In entrambi i casi, esattamente un pulsante raggiunge WhatsApp, ed è il pulsante copia codice: toccandolo si copia il codice negli appunti. Bird supporta solo `copy_code`; gli altri due comportamenti che Meta documenta per i template di autenticazione, one-tap e zero-tap autofill, non sono disponibili su Bird.

La creazione del pulsante di un template segue la stessa struttura: un pulsante `otp`, e il template non accetta altri tipi di pulsante. Fornisci `add_security_recommendation` (un booleano mostrato nel corpo) e `code_expiration_minutes` (da 1 a 90, mostrato nel footer) anziché scrivere testo.

## Cosa consente Meta in un template di autenticazione

Meta fissa la struttura di un template di autenticazione e ne rivede il contenuto: nessun URL, media o emoji in nessuna parte del template, e un limite di 15 caratteri per il parametro del codice. La categoria cambia anche il modo in cui WhatsApp consegna il messaggio, inviandolo solo al dispositivo principale del destinatario. Consulta [Linee guida per i template](/docs/knowledge-base/whatsapp/template-guidelines) per la struttura fissa, i limiti di caratteri e il processo di revisione completo.

## Costi

Categoria e destinazione determinano il prezzo. Consulta [Tariffe internazionali di autenticazione WhatsApp](/docs/knowledge-base/whatsapp/authentication-international-rates) per capire come l'invio verso un paese diverso dalla tua sede principale possa modificarlo, e [Costi e fatturazione](/docs/guides/whatsapp/sending-whatsapp#cost-and-billing) per sapere quando un invio viene addebitato. I valori delle tariffe si trovano su [Prezzi WhatsApp](/products/whatsapp/pricing).

## Aspetti da tenere d'occhio

- **I template preconfigurati di Bird non consegnano verso nove paesi.** `bird_otp` e `bird_otp_authifly` inviano dai WhatsApp Business Account di Bird, e quegli account non trasportano messaggi di autenticazione verso Egitto, India, Indonesia, Malesia, Nigeria, Pakistan, Arabia Saudita, Sudafrica o Emirati Arabi Uniti. Un invio di questo tipo viene rifiutato `422` [`E15063`](/docs/api/errors/E15063) `WhatsAppDestinationRestricted` prima che venga addebitato qualsiasi costo. Un template creato sul tuo account e inviato dal tuo numero raggiunge questi paesi normalmente. [Verify](/docs/guides/verify/countries#where-whatsapp-cannot-carry-a-passcode) li raggiunge ugualmente, spostando il codice di verifica su un altro canale in autonomia.
- **Un invio con template creato da te richiede `from`, che deve trovarsi sullo stesso WhatsApp Business Account del template.** Un mittente su un account diverso viene rifiutato `422` [`E15023`](/docs/api/errors/E15023) `WhatsAppSenderWABAMismatch` prima che venga addebitato qualsiasi costo.
- **Solo una lingua la cui versione è approvata e attiva può essere inviata.** Una lingua in bozza, in attesa, rifiutata o sospesa non può esserlo.
- **Meta può ricategorizzare un template di propria iniziativa.** Non è possibile rifiutare, e la modifica sposta le regole di prezzo e consegna legate alla categoria.
- **La categoria del template e la categoria della sua lingua possono divergere.** Consulta [Template WhatsApp](/docs/guides/whatsapp/templates#listing-templates-from-the-api) per capire come il percorso di invio risolve questa situazione.
- **Un template di autenticazione importato non può essere duplicato.** Bird non è in grado di rileggere il testo generato da WhatsApp per ricavarne le impostazioni da cui costruire un nuovo template: restituisce `422` [`E15024`](/docs/api/errors/E15024) `WhatsAppTemplateContentNotDuplicable`. Creane uno nuovo con la propria raccomandazione di sicurezza e la propria scadenza del codice.

## Passaggi successivi

- [Template WhatsApp](/docs/guides/whatsapp/templates): esplorazione del catalogo e contratto condiviso di invio tramite template
- [Template utility](/docs/guides/whatsapp/templates/utility): aggiornamenti sugli ordini, promemoria per appuntamenti e avvisi sull'account
- [Verifica aziendale WhatsApp](/docs/knowledge-base/whatsapp/business-verification): come funziona la verifica e cos'altro sblocca

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