Panoramica
Invia un template v2 approvato da Meta a un numero di telefono. A differenza dell'invio v1 (contact_id), l'invio v2 accetta to e country_code, body_params opzionali per i placeholder {{N}}, pulsanti URL dinamici o COPY_CODE, media header per destinatario e otp_code per template AUTHENTICATION. Endpoint: POST /api/v2/whatsapp/templates/{TEMPLATE_ID}/send — senza slash finale.
POST /api/v2/whatsapp/templates/{TEMPLATE_ID}/send
Autenticati con Authorization: Bearer <token>. Invia un body JSON con to, country_code e i campi opzionali sotto.
curl --request POST \
'https://app.buzzbip.com/api/v2/whatsapp/templates/1289/send' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_JWT' \
--data '{
"to": "21696816277",
"country_code": "TN",
"body_params": ["Sam", "ORD-2026-00041"]
}'Note d'uso
⚠️ Nota: il conteggio di body_params deve corrispondere esattamente ai placeholder {{N}} nel corpo del template. Altrimenti HTTP 400. ⚠️ Nota: otp_code non può essere combinato con body_params o buttons. Usalo solo con template AUTHENTICATION.
Suggerimento: gli endpoint v2 non usano slash finali. Usa /api/v2/whatsapp/templates/{id}/send non /api/v2/whatsapp/templates/{id}/send/
Note di integrazione
Integrando questo endpoint Buzzbip, usa https://app.buzzbip.com come host di produzione. Ottieni un JWT da POST /api/login_check e invia Authorization: Bearer su ogni richiesta. Verifica che User.hasApiAccess sia abilitato nell'admin Buzzbip. Le route WhatsApp v2 non usano slash finali. Implementa retry con backoff in caso di rate limit. Conserva le credenziali lato server e riautenticati prima della scadenza JWT (3600 s).
Sicurezza
Best practice: credenziali solo lato server, TLS obbligatorio, monitoraggio autenticazioni fallite. Separa account staging e produzione. Documenta template e automazioni. Redigi numeri e contenuti nei log condivisi.
Prossimi passi
Pagine correlate: api/v2/whatsapp-media api/v2/whatsapp-templates guides/whatsapp-v2-use-cases guides/whatsapp-common-gotchas
