I modelli si inviano per nome: POST /v1/messages con type: "template" e template: { name, language, components }. Il modello deve essere approvato in Meta; components contiene le sue variabili. Se è tuo e non è approvato, ti restituiamo 422 TEMPLATE_NOT_APPROVED prima di chiamare Meta; se non l'abbiamo ancora sincronizzato, lo lasciamo passare.
curl -X POST https://api.waiaconnect.com/v1/messages \
-H "Authorization: Bearer wc_live_YOUR_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"connectionId":"conn_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","to":"5493511234567","type":"template","template":{"name":"hello_world","language":"es","components":[]}}'
# The template must already be APPROVED in Meta. `components` carries its variables.Da dove viene il name: da GET /v1/templates (campi name + language di ogni riga), oppure dalla sezione Modelli del pannello. È il nome in Meta, non il titolo che gli hai dato a schermo, e funziona solo se quella riga è in APPROVED.
Fuori dalla finestra di servizio di 24h, Meta esige un modello approvato. Se mandi comunque testo libero, il POST risponde 202 e il rifiuto arriva dopo, nello stato del messaggio: failed con lastErrorCode: WINDOW_24H_EXPIRED (il 131047 di Meta). Non è un errore HTTP.
La finestra di 24 ore: puoi scrivere liberamente solo entro le 24h dall'ultimo messaggio del cliente. Dopo ti serve un modello approvato. È il motivo per cui esistono.