Qu'est-ce qu'un menu persistant

Un menu persistant vous permet de créer et d'envoyer un menu des principales fonctions de votre entreprise, telles que les horaires d'ouverture, les emplacements des magasins et les produits. Il sera toujours visible lors d'une conversation entre une personne et votre entreprise dans Messenger.

Boutons pris en charge :

Le menu persistant se compose d'un ensemble de boutons. Les types de boutons suivants sont pris en charge dans le menu persistant :

● Boutons URL (web_url)
● Boutons de rappel (postback)

Comment ajouter un menu persistant pour une page spécifique

response = fb_set_persistent_menu("group_id", buttons), où :
group_id - ID du bot Facebook (disponible dans le menu "Canal" de MaviBot)
buttons - un dictionnaire contenant les boutons

Exemple de structuration du dictionnaire de boutons :
buttons = {"default": [["postback", "Bouton 1", "texte_rappel 1"], ["postback", "Bouton 2", "texte_rappel 2"], ["web_url", "Lien du site", "https://mavibot.ai/"]]}

default - une clé obligatoire qui définit le tableau de boutons à afficher par défaut dans le menu, indépendamment de la localisation de l'utilisateur.
La valeur doit être un tableau de boutons. Chaque bouton est décrit comme un tableau distinct au format suivant :
["type_bouton", "Texte d'affichage du bouton", "Texte de rappel envoyé au bot"]

Types de boutons et leur description :
&#xNAN;- bouton de rappel :
["postback", "Texte d'affichage du bouton", "Texte de rappel envoyé au bot"]
&#xNAN;- bouton URL :
["web_url", "Texte d'affichage du lien", "https://example.com"]

Comment configurer le menu en fonction de la localisation de l'utilisateur

Vous pouvez configurer des boutons pour différentes régions en ajoutant des clés supplémentaires au dictionnaire de boutons correspondant à des locales spécifiques.

Par exemple, pour ajouter des boutons pour la locale anglaise :

buttons = {"default": [["postback", "Bouton 1", "texte_rappel 1"], ["postback", "Bouton 2", "texte_rappel 2"], ["web_url", "Lien du site", "https://mavibot.ai/"]], "en_EN": [["postback", "Bouton", "texte_rappel 1"], ["postback", "Bouton 2", "texte_rappel 2"], ["web_url", "Lien", "https://mavibot.ai/"]]}

Remarque : Dans ce cas, la clé représente la locale pour laquelle les boutons seront affichés.

Locales prises en charge :
af_ZA, ar_AR, as_IN, az_AZ, be_BY, bg_BG, bn_IN, br_FR, bs_BA, ca_ES, cb_IQ, co_FR, cs_CZ, cx_PH, cy_GB, da_DK, de_DE, el_GR, en_GB, en_UD, en_US, es_ES, es_LA, et_EE, eu_ES, fa_IR, ff_NG, fi_FI, fo_FO, fr_CA, fr_FR, fy_NL, ga_IE, gl_ES, gn_PY, gu_IN, ha_NG, he_IL, hi_IN, hr_HR, hu_HU, hy_AM, id_ID, is_IS, it_IT, ja_JP, ja_KS, jv_ID, ka_GE, kk_KZ, km_KH, kn_IN, ko_KR, ku_TR, lt_LT, lv_LV, mg_MG, mk_MK, ml_IN, mn_MN, mr_IN, ms_MY, mt_MT, my_MM, nb_NO, ne_NP, nl_BE, nl_NL, nn_NO, or_IN, pa_IN, pl_PL, ps_AF, pt_BR, pt_PT, qz_MM, ro_RO, ru_RU, rw_RW, sc_IT, si_LK, sk_SK, sl_SI, so_SO, sq_AL, sr_RS, sv_SE, sw_KE, sz_PL, ta_IN, te_IN, tg_TJ, th_TH, tl_PH, tr_TR, tz_MA, uk_UA, ur_PK, uz_UZ, vi_VN, zh_CN, zh_HK, zh_TW

Comment ajouter un menu persistant pour un utilisateur spécifique

Pour ce faire, définissez le troisième paramètre de la fonction fb_set_persistent_menu sur 1, comme ceci : response = fb_set_persistent_menu('group_id', buttons, 1)

Ce menu sera disponible pour l'utilisateur pour lequel la fonction a été appelée.

REMARQUE . La mise à jour d'un menu persistant au niveau de l'utilisateur prend effet en temps réel.

Cependant, la mise à jour d'un menu persistant au niveau de la page peut prendre jusqu'à 24 heures.

Les paramètres au niveau de l'utilisateur sont limités à un taux de 10 appels par utilisateur toutes les 10 minutes.

Comment désactiver toutes les communications sauf le menu persistant

Pour faire du menu persistant le seul moyen pour un utilisateur d'interagir avec votre bot Messenger, vous devez désactiver le composeur.

Pourquoi feriez-vous cela ?

C'est utile lorsque votre bot est conçu pour un objectif spécifique ou un ensemble d'options prédéfini.

Comment faire ?

Pour désactiver le composeur, passez 1 comme quatrième paramètre dans la fonction :

pour désactiver le composeur au niveau de la page (pour tous les utilisateurs) :
response = fb_set_persistent_menu('group_id', buttons, '', 1)
pour désactiver le composeur pour l'utilisateur pour lequel la fonction est appelée :
response = fb_set_persistent_menu('group_id', buttons, 1, 1)
où :
group_id - ID du bot Facebook (disponible dans le menu "Canal" de MaviBot)
buttons - un dictionnaire contenant les boutons

En cas de succès, la fonction retourne :
{"result":"success"}

Sinon, elle retourne une description de l'erreur.
'Error parse buttons data' - erreur dans le dictionnaire de boutons
{"error":{"message":"(#100) param persistent_menu[0][call_to_actions] must be non-empty.","type":"OAuthException","code":100,"fbtrace_id":"AJtVczu7TEJJxbMfnO"}}

EXEMPLES :

Ajout d'un menu pour tous les utilisateurs :

buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://mavibot.ai/"]], "en_EN": [["postback", "Button", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Link", "https://mavibot.ai/"]]}
response = fb_set_persistent_menu('123456789', buttons)

Ajout d'un menu pour tous les utilisateurs et faire de ce menu le seul moyen de communication pour tout le monde :

buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://mavibot.ai/"]], "en_EN": [["postback", "Button", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Link", "https://mavibot.ai/"]]}
response = fb_set_persistent_menu('123456789', buttons, '', 1)

Ajout d'un menu pour l'utilisateur qui est entré dans le bloc appelant la fonction :

buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://mavibot.ai/"]]}
response = fb_set_persistent_menu('123456789', buttons, 1)

Ajout d'un menu pour l'utilisateur qui est entré dans le bloc appelant la fonction, et faire de ce menu le seul moyen de communication pour tous les utilisateurs :

buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://mavibot.ai/"]]}
response = fb_set_persistent_menu('123456789', buttons, 1, 1)

Supprimer le menu persistant au niveau de la page (pour tous les utilisateurs) :

response = fb_delete_persistent_menu('group_id')

En cas de succès, la fonction retourne :
{"result":"success"}

Sinon, elle retourne une description de l'erreur.
'Bot not found'

Supprimer le menu persistant au niveau de l'utilisateur :

response = fb_delete_persistent_menu('group_id', 1)

En cas de succès, la fonction retourne :
{"result":"success"}

Sinon, elle retourne une description de l'erreur.

"Bot not found"