Isi file Flow JSON WhatsApp
Flow JSON memiliki dua properti wajib: version dan screens. Setiap layar memiliki id, title opsional yang tampil di bilah atas, dan layout bertipe SingleColumnLayout yang berisi komponen: teks, input, daftar pilihan, pemilih tanggal, opt-in, dan satu tombol Footer.
Navigasi diatur lewat aksi. Footer dengan navigate membuka layar berikutnya; pada layar terakhir yang ditandai terminal, Footer dengan complete menutup Flow dan mengirim payload ke bisnis Anda beserta flow token. Sejak Flow JSON 4.0, setiap layar dapat membaca kolom dari layar sebelumnya dengan ${screen.SCREEN_ID.form.field}, sehingga template ini membiarkan payload navigate kosong dan mengumpulkan semua jawaban di payload complete terakhir.
- version: versi Flow JSON, yaitu "7.3" di setiap template.
- screens: daftar layar berurutan; layar pertama yang tidak memiliki rute masuk adalah layar awal.
- routing_model dan data_api_version: hanya untuk Flow yang memanggil data endpoint Anda.
- terminal dan success: menandai layar terakhir dan apakah menyelesaikan Flow di layar tersebut dihitung sebagai berhasil.
Flow dengan atau tanpa data endpoint
Kedua belas template ini tanpa endpoint. Template berjalan tanpa server: pilihan ditulis langsung di JSON, Meta membuat routing model, dan Anda menerima jawaban di webhook saat pelanggan menyelesaikan Flow. Meta merekomendasikan Flow tanpa endpoint selama data real-time tidak diperlukan, karena Flow terbuka lebih cepat dan lebih singkat dibuat.
Tambahkan data endpoint jika layar bergantung pada data real-time: slot janji temu yang tersedia, harga yang berubah, stok, atau pengecekan akun pelanggan. Dalam kasus itu, layar menggunakan data_exchange, Flow memerlukan data_api_version dan routing_model, dan endpoint Anda harus mendekripsi setiap permintaan serta menjawab dalam batas waktu Meta. Bagian inilah yang kami bangun dan kelola untuk klien.
Batas karakter dan aturan komponen yang perlu dipatuhi
Sebagian besar Flow ditolak karena aturan kecil. Label dibatasi singkat: 20 karakter untuk input teks, text area, atau dropdown, 30 untuk grup radio atau checkbox, 40 untuk pemilih tanggal, dan 35 untuk tombol Footer. Judul opsi dibatasi 30 karakter dan deskripsi 300. Heading menampung 80 karakter dan teks isi 4.096.
Per layar Anda dapat menggunakan hingga 50 komponen, satu Footer, dua tautan tersemat, tiga gambar, dan lima opt-in. Id layar hanya boleh berisi huruf dan garis bawah, dan SUCCESS dicadangkan. Label bahasa Arab dihitung per karakter, bukan per byte, sehingga label Arab 20 karakter tidak masalah. Validator memeriksa semua aturan ini dan menunjukkan layar yang perlu diperbaiki.
Flow Arab dan RTL untuk pelanggan negara Teluk (GCC)
Setiap template memiliki versi bahasa Arab asli dengan layar dan nama kolom yang sama, sehingga kode webhook Anda menangani kedua bahasa tanpa perubahan. WhatsApp menampilkan Flow berbahasa Arab dari kanan ke kiri di ponsel pelanggan; pratinjau menampilkan arah yang sama.
Pustaka ini mencakup kasus penggunaan yang penting di kawasan Teluk: pendaftaran penawaran Ramadan dan Idul Fitri dengan waktu pesan setelah buka puasa (iftar), reservasi meja restoran, permintaan kunjungan properti, dan daftar periksa dokumen KYC yang meminta pelanggan tidak mengirim foto KTP atau ID di chat.
Cara mengirim Flow ke pelanggan
Setelah Anda mempublikasikan Flow, kirim sebagai pesan flow interaktif dengan Flow ID, flow token yang Anda buat, teks tombol singkat, dan layar pertama. Pustaka ini menyediakan payload pesan untuk setiap template. Pesan interaktif hanya berfungsi dalam jendela layanan pelanggan 24 jam; untuk menjangkau pelanggan lebih dulu, lampirkan Flow ke template pesan yang sudah disetujui dengan tombol Flow.
Saat pelanggan selesai, WhatsApp menampilkan ringkasan jawaban mereka dan Anda menerima payload lengkap di webhook. Balas dengan pesan konfirmasi yang menjelaskan langkah selanjutnya serta cara mengubah atau membatalkan.
