Menu Persisten

Dokumen ini menunjukkan kepada Anda cara menambahkan Menu Persisten secara terprogram ke pengalaman berkirim pesan Anda.

Menu Persisten Bersarang

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 Kerjanya

Menu 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 postback dikirimkan untuk Anda tanggapi. Notifikasi webhook berisi informasi tentang item apa yang dipilih dan oleh siapa. Tindakan pemilihan item ini akan membuka jendela pesan standar. Anda memiliki waktu 24 jam untuk menanggapi orang tersebut.

Jika ada pengaturan Perintah, perintah tersebut akan diprioritaskan daripada Menu Persisten.

Persyaratan

Agar menu persisten muncul, hal berikut harus terpenuhi:

  • Orang itu harus menjalankan Messenger v106 ke atas di iOS atau Android.
  • Halaman Facebook yang dilanggani bot Messenger harus diterbitkan.
  • Bot Messenger harus diatur ke "publik" di pengaturan aplikasi.
  • Bot Messenger harus memiliki izin pages_messaging.
  • Bot Messenger harus memiliki set tombol mulai.

Tombol Didukung

Menu persisten terdiri atas array tombol. Jenis tombol berikut didukung di menu persisten:

Mengatur Menu Persisten

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"
                }
            ]
        }
    ]
}

Menu Persisten Bertumpuk

Fitur ini tidak berlaku lagi di v8.0+.

Menonaktifkan Komposer

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.

Pelokalan

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":[...]
}

Menu level pengguna

Fitur baru

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:

  • Tombol klik untuk bertindak pada menu untuk pengguna.
  • Visibilitas komposer untuk pengguna.

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.

Contoh Permintaan POST

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/v19.0/me/custom_user_settings?access_token=<PAGE_ACCESS_TOKEN>"

Contoh Permintaan GET

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/v19.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...
        ]  
      }
  ]
}

Contoh Permintaan DELETE

Ini akan menghapus pengaturan level pengguna, meninggalkan menu level Halaman jika diatur.

curl -X DELETE 'https://graph.facebook.com/v19.0/me/custom_user_settings?psid=<PSID>&params=[%22persistent_menu%22]&access_token=<PAGE_ACCESS_TOKEN>'

Menonaktifkan Menu Persisten

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:

Contoh Muatan API Profil Messenger

{
  "persistent_menu":[
    {
      "locale":"default",
      "disabled_surfaces": ["CUSTOMER_CHAT_PLUGIN"],
      "composer_input_disabled": false,      
      "call_to_actions":[
        {
          "title":"My Account",
          "type":"postback",
          "payload":"PAYBILL_PAYLOAD"
        }
      ]
    }
  ]
}

Praktik Terbaik

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.

Dukungan Developer