Cosa contiene un file Flow JSON di WhatsApp
Il Flow JSON ha due proprietà obbligatorie: version e screens. Ogni schermata ha un id, un titolo facoltativo mostrato nella barra superiore e un layout di tipo SingleColumnLayout i cui figli sono componenti: testo, input, elenchi di selezione, selettori di data, opt-in e un pulsante Footer.
La navigazione è nelle azioni. Un Footer con navigate apre la schermata successiva; nell'ultima schermata, contrassegnata come terminal, un Footer con complete chiude il Flow e invia il payload alla vostra azienda con il flow token. Dal Flow JSON 4.0, qualsiasi schermata può leggere i campi di una schermata precedente con ${screen.SCREEN_ID.form.field}, quindi i template mantengono vuoti i payload di navigate e raccolgono ogni risposta nel payload finale di complete.
- version: la versione del Flow JSON, "7.3" in ogni template.
- screens: l'elenco ordinato delle schermate; la prima senza un percorso in entrata è la schermata di ingresso.
- routing_model e data_api_version: solo per i Flow che chiamano il vostro endpoint dati.
- terminal e success: contrassegnano l'ultima schermata e se concludere lì conta come successo.
Flow con o senza endpoint dati
Tutti e dodici i template sono privi di endpoint. Funzionano senza un server: le opzioni sono scritte nel JSON, Meta genera il modello di instradamento e ricevete le risposte sul vostro webhook quando il cliente completa il Flow. Meta consiglia i Flow senza endpoint ogni volta che non servono dati in tempo reale, perché si aprono più in fretta e si costruiscono più rapidamente.
Aggiungete un endpoint dati quando la schermata dipende da dati in tempo reale: fasce di appuntamento disponibili, un prezzo che cambia, disponibilità di magazzino o una verifica sull'account del cliente. In tal caso le schermate usano data_exchange, il Flow richiede data_api_version e un routing_model, e il vostro endpoint deve decifrare ogni richiesta e rispondere entro il timeout di Meta. Questa è la parte che costruiamo e ospitiamo per i clienti.
Limiti di caratteri e regole dei componenti da rispettare
La maggior parte dei Flow respinti fallisce su piccole regole. Le etichette sono brevi: 20 caratteri per un campo di testo, un'area di testo o un menu a discesa, 30 per un gruppo di pulsanti di opzione o caselle di controllo, 40 per un selettore di data e 35 per il pulsante Footer. I titoli delle opzioni sono limitati a 30 caratteri e le descrizioni a 300. Le intestazioni accettano 80 caratteri e il testo del corpo 4.096.
Per schermata potete usare fino a 50 componenti, un Footer, due link incorporati, tre immagini e cinque opt-in. Gli id delle schermate possono contenere solo lettere e trattini bassi, e SUCCESS è riservato. Le etichette arabe contano caratteri, non byte, quindi un'etichetta araba di 20 caratteri va bene. Il validatore controlla tutto questo e indica la schermata da correggere.
Flow in arabo e RTL per i clienti del GCC
Ogni template ha una versione araba nativa con le stesse schermate e gli stessi nomi di campo, così il codice del vostro webhook gestisce entrambe le lingue senza modifiche. WhatsApp impagina i Flow arabi da destra a sinistra sul telefono del cliente; l'anteprima mostra la stessa direzione.
La libreria include casi d'uso importanti nel Golfo: iscrizioni alle offerte di Ramadan ed Eid con un orario del messaggio dopo l'iftar, prenotazione di un tavolo al ristorante, richieste di visita immobiliare e una checklist di documenti KYC che chiede ai clienti di non inviare foto dei documenti d'identità nella chat.
Come inviare un Flow ai clienti
Dopo aver pubblicato un Flow, inviatelo come messaggio interattivo di tipo flow con il suo Flow ID, un flow token da voi generato, un breve testo del pulsante e la prima schermata. La libreria vi fornisce il payload del messaggio per ogni template. I messaggi interattivi funzionano solo entro la finestra di assistenza clienti di 24 ore; per raggiungere i clienti per primi, collegate il Flow a un modello di messaggio (template) approvato con un pulsante Flow.
Quando il cliente finisce, WhatsApp gli mostra un riepilogo delle sue risposte e voi ricevete il payload completo sul vostro webhook. Rispondete con un messaggio di conferma che dica cosa succede dopo e come modificare o annullare.
