Questa guida mostra il pattern di ricevuta dell’Opzione B: il messaggio WhatsApp include un header documento PDF e variabili nel corpo che descrivono la ricevuta.
Usa questo pattern quando il cliente deve ricevere il documento della ricevuta direttamente in WhatsApp invece di aprire una pagina di ricevuta.
Prima di iniziare
Ti serve:
- Un canale WhatsApp collegato in Switchbord.
- Un modello Utility approvato con un header
DOCUMENT, ad esempio payment_receipt_document.
- Un URL PDF pubblico HTTPS. Meta deve poter recuperarlo.
- Un id evento a monte stabile per l’idempotenza.
L’URL del documento deve essere HTTPS e raggiungibile da Meta. Non usare URL solo interni, localhost, URL con scadenza che espirano prima dell’invio, o URL contenenti segreti riutilizzabili.
Struttura del modello
Un tipico modello di ricevuta documento ha un header documento e un corpo come:
L’header documento riceve:
Invio diretto tramite API
Risposta prevista:
Builder per webhook in entrata
Per mappare un evento di pagamento esterno su questo modello:
- Apri Impostazioni → Integrazioni → Webhook e API.
- Crea un nuovo webhook in entrata.
- Seleziona il modello Utility approvato
payment_receipt_document.
- Mappa i campi:
- Incolla un payload di esempio ed esegui l’anteprima dry-run.
- Crea il webhook. Le nuove configurazioni restano disabilitate e in dry-run di default finché la promozione live non è supportata.
Payload di esempio:
Variabili del corpo con nome
Il mapper dei webhook in entrata e il compilatore transazionale interno di Switchbord supportano i parametri del corpo con nome di Meta e li compilano in voci parameter_name. La route pubblica POST /api/v1/template-sends attualmente accetta solo variabili del corpo posizionali, quindi i chiamanti API diretti dovrebbero usare chiavi numeriche del corpo o un array.
Validazione
Switchbord valida l’header del documento prima di accodare l’invio:
link deve essere un URL HTTPS valido.
filename, se fornito, deve essere non vuoto.
- Le variabili del corpo richieste devono risolvere a stringhe non vuote.
- Il modello selezionato deve essere Utility approvato.
- La chiave di idempotenza deve essere stabile per i tentativi ripetuti.
Risoluzione dei problemi
Riferimenti correlati