Dokumen ini menunjukkan kepada Anda cara menambahkan Menu Persisten secara terprogram ke pengalaman berkirim pesan Anda.
Aplikasi Messenger from Meta untuk Android (v276+) tidak akan lagi mendukung menu persisten bertumpuk. Halaman yang berisi item menu bertingkat akan ditampilkan sebagai daftar datar di semua permukaan (web, iOS, dan Android (v276+)). Kami yakin ini akan menciptakan pengalaman yang lebih baik bagi orang-orang di Messenger. Dukungan untuk menu bersarang akan dihapus dari API Profil Messenger dan API Pengaturan Pengguna Khusus di Graph API v8.0, dengan perubahan sela selama 2 tahun pada semua versi.
Cara KerjanyaMenu Persisten memungkinkan Anda untuk membuat dan mengirim menu dari fitur utama bisnis Anda, seperti jam operasi, lokasi toko, dan produk, yang selalu terlihat dalam percakapan Messenger seseorang dengan bisnis Anda. Saat seseorang mengeklik item di menu, notifikasi webhook |
Jika ada pengaturan Perintah, perintah tersebut akan diprioritaskan daripada Menu Persisten.
Agar menu persisten muncul, hal berikut harus terpenuhi:
pages_messaging
.Menu persisten terdiri atas array tombol. Jenis tombol berikut didukung di menu persisten:
web_url
: Tentukan bahwa item adalah tombol URL.postback
: Tentukan bahwa item adalah tombol postback.Untuk mengatur menu persisten, kirim permintaan POST
ke API Profil Messenger untuk mengatur properti persistent_menu
profil Messenger bot Anda.
Sebagai pengganti menu level bersarang yang tidak berlaku lagi, kami mengizinkan hingga 20 tombol di array call_to_actions
untuk Graph API v8.0+.
{
"persistent_menu": [
{
"locale": "default",
"composer_input_disabled": false,
"call_to_actions": [
{
"type": "postback",
"title": "Talk to an agent",
"payload": "CARE_HELP"
},
{
"type": "postback",
"title": "Outfit suggestions",
"payload": "CURATION"
},
{
"type": "web_url",
"title": "Shop now",
"url": "https://www.originalcoastclothing.com/",
"webview_height_ratio": "full"
}
]
}
]
}
Fitur ini tidak berlaku lagi di v8.0+.
Anda dapat menonaktifkan komposer sehingga hanya menu persisten yang digunakan seseorang berinteraksi dengan bot Messenger Anda. Ini bermanfaat kalau bot Anda memiliki tujuan yang sangat spesifik atau terdapat beberapa opsi.
Untuk melakukan ini, atur "composer_input_disabled":true
saat Anda membuat menu persisten.
Anda dapat menyediakan teks tombol default dan dilokalkan untuk menu persisten yang akan ditampilkan dalam lokale seseorang.
Untuk melakukan ini, tentukan objek terpisah di susunan persistent_menu
untuk setiap lokale. Untuk menentukan lokale setiap objek, atur properti locale
ke lokale yang didukung:
{
"locale":"default",
"call_to_actions":[...]
},
{
"locale: "zh_CN",
"call_to_actions":[...]
}
Tanggal 4 Desember 2019, kami melakukan penyempurnaan pada menu persisten untuk mendukung perubahan dinamis guna lebih mempersonalisasi pengalaman percakapan.
Anda dapat mengganti menu Persisten level halaman dengan pengaturan level pengguna. Ini memungkinkan aplikasi Anda untuk mengontrol secara dinamis:
Untuk mengaktifkan atau menonaktifkan pengaturan level pengguna, endpoint yang berbeda, custom_user_settings
, akan digunakan. Endpoint ini mendukung panggilan POST, GET, dan DELETE.
Konfigurasi yang sama tersedia untuk menu persisten level Halaman berlaku di level pengguna. Perbedaan utamanya adalah bahwa param psid
diperlukan untuk menunjukkan kepada pengguna tempat penggantian ini diterapkan.
CATATAN: Pembaruan menu persisten level pengguna terjadi secara realtime, sedangkan pembaruan menu persisten level halaman bisa memakan waktu hingga 24 jam.
Pengaturan level pengguna dibatasi tarif hingga 10 panggilan per pengguna per 10 menit.
Ini akan menggantikan pengaturan level halaman saat ini untuk pengguna ini.
curl -X POST -H "Content-Type: application/json" -d '{
"psid": "<PSID>",
"persistent_menu": [
{
"locale": "default",
"composer_input_disabled": false,
"call_to_actions": [
{
"type": "postback",
"title": "Talk to an agent",
"payload": "CARE_HELP"
},
{
"type": "postback",
"title": "Outfit suggestions",
"payload": "CURATION"
},
{
"type": "web_url",
"title": "Shop now",
"url": "https://www.originalcoastclothing.com/",
"webview_height_ratio": "full"
}
]
}
]
}' "https://graph.facebook.com/v21.0
/me/custom_user_settings?access_token=<PAGE_ACCESS_TOKEN>"
Ini akan mengambil pengaturan level pengguna dan halaman saat ini. Jika tidak ada pengaturan level pengguna, hanya pengaturan level halaman yang akan ditampilkan.
curl -X GET "https://graph.facebook.com/v21.0
/me/custom_user_settings?psid=<PSID>&access_token=<PAGE_ACCESS_TOKEN>"
Hasil
{ "data": [ { "user_level_persistent_menu": [ { "locale": "default", "composer_input_disabled": false, "call_to_actions": [ { "type": "postback", "title": "Talk to an agent", "payload": "CARE_HELP" }, { "type": "postback", "title": "Outfit suggestions", "payload": "CURATION" }, { "type": "web_url", "title": "Shop now", "url": "https://www.originalcoastclothing.com/", "webview_height_ratio": "full" } ] } ], "page_level_persistent_menu": [ Original Page Menu... ] } ] }
Ini akan menghapus pengaturan level pengguna, meninggalkan menu level Halaman jika diatur.
curl -X DELETE 'https://graph.facebook.com/v21.0
/me/custom_user_settings?psid=<PSID>¶ms=[%22persistent_menu%22]&access_token=<PAGE_ACCESS_TOKEN>'
Mungkin ada kasus di mana lebih disukai untuk menonaktifkan menu persisten untuk bot Anda di Plugin Obrolan. Untuk menonaktifkannya, tambahkan "disabled_surfaces": ["CUSTOMER_CHAT_PLUGIN"]
saat menetapkan menu persisten Anda:
{
"persistent_menu":[
{
"locale":"default",
"disabled_surfaces": ["CUSTOMER_CHAT_PLUGIN"],
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"My Account",
"type":"postback",
"payload":"PAYBILL_PAYLOAD"
}
]
}
]
}
Seperti tombol, item menu dapat menghasilkan tampilan web atau postback. Ingatlah bahwa menu level kedua tidak didukung.
Gunakan menu untuk titik masuk ke fungsi bot Anda.
Jadilah deskriptif: menu Anda memberi tahu orang apa yang dapat dilakukan bot Anda. Hal ini secara instan memberi tahu pengguna hal apa saja yang bisa disampaikan ke bot Anda di masa mendatang.
Bersikaplah selektif untuk mewakili fungsi inti bot Anda dan coba batasi item menu hingga 5 untuk pengalaman pengguna terbaik.
Jangan mengharapkan menu untuk berisi data khusus pengguna: ini sama untuk semua orang yang menggunakan bot Anda, meskipun dapat dilokalkan.
Jangan meletakkan tombol "Menu" di dalam menu yang mengirimi pengguna pesan yang berisi menu. Cukup letakkan konten tersebut langsung dalam menu — itulah kegunaannya!
Jangan meletakkan tindakan generik seperti "Mulai Ulang" dalam menu.
Jangan menggunakan kemewahan menu utama untuk sekunder, info bergaya "kolofon" seperti tentang, ketentuan layanan, kebijakan privasi, atau "didukung oleh", yang gagal memaparkan fungsi utama bot Anda.