Qu'est-ce qu'un menu persistant ?
Un menu persistant vous permet d'afficher un menu permanent avec les actions principales de votre entreprise, telles que les horaires d'ouverture, les emplacements des magasins, les produits ou d'autres options fréquemment utilisées. Le menu est toujours visible lors d'une conversation avec votre bot Messenger Facebook.

Types de boutons pris en charge
Le menu persistant prend en charge les types de boutons suivants :
-
Boutons URL (
web_url) -
Boutons de rappel (
postback)
Créer un menu persistant
Utilisez la fonction suivante pour créer un menu persistant pour une page Facebook :
response = fb_set_persistent_menu(group_id, buttons)
Paramètres
| Paramètre | Description |
|---|---|
| group_id | Identifiant du bot Facebook. Vous pouvez le trouver dans la section Canal de votre projet MaviBot. |
| buttons | Dictionnaire décrivant les boutons du menu. |
Structure du dictionnaire des boutons
buttons = {
"default": [
["postback", "Bouton 1", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
]
}
La clé default est obligatoire. Elle définit les boutons affichés pour les utilisateurs dont la langue n'a pas de menu personnalisé.
Chaque bouton est décrit par un tableau :
["type_bouton", "Texte du bouton", "Valeur"]
Formats de boutons pris en charge
Bouton de rappel
["postback", "Texte du bouton", "texte_rappel"]
| Valeur | Description |
|---|---|
| postback | Type de bouton. |
| Texte du bouton | Texte affiché sur le bouton. |
| texte_rappel | Texte envoyé au bot lorsque le bouton est cliqué. |
Bouton URL
["web_url", "Texte du bouton", "https://exemple.com"]
| Valeur | Description |
|---|---|
| web_url | Type de bouton. |
| Texte du bouton | Texte affiché sur le bouton. |
| URL | Site Web ouvert lorsque le bouton est cliqué. |
Localisation
Vous pouvez afficher différents menus en fonction de la langue de l'utilisateur.
Ajoutez simplement des clés supplémentaires au dictionnaire des boutons.
Exemple :
buttons = {
"default": [
["postback", "Bouton 1", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
],
"en_EN": [
["postback", "Bouton", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
]
}
Dans cet exemple, les utilisateurs avec la langue en_EN recevront un menu différent.
Langues 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
Créer un menu persistant pour un utilisateur spécifique
Pour créer un menu visible uniquement par l'utilisateur pour lequel la fonction est appelée, passez 1 comme troisième paramètre.
response = fb_set_persistent_menu(group_id, buttons, 1)
Remarque
Les menus persistants au niveau de l'utilisateur sont mis à jour immédiatement.
Les menus persistants au niveau de la page peuvent prendre jusqu'à 24 heures pour être mis à jour.
Facebook limite également les mises à jour des menus au niveau de l'utilisateur à 10 requêtes par utilisateur toutes les 10 minutes.
Désactiver le composeur
Vous pouvez désactiver le composeur Messenger afin que les utilisateurs puissent interagir avec le bot uniquement via le menu persistant.
Cela est utile lorsque le bot ne doit autoriser que des actions prédéfinies.
Désactiver le composeur pour tous les utilisateurs
response = fb_set_persistent_menu(group_id, buttons, "", 1)
Désactiver le composeur pour un utilisateur spécifique
response = fb_set_persistent_menu(group_id, buttons, 1, 1)
Paramètres
| Paramètre | Description |
|---|---|
| group_id | Identifiant du bot Facebook. |
| buttons | Dictionnaire des boutons. |
| 3ème paramètre | Définir sur 1 pour appliquer le menu uniquement à l'utilisateur actuel. Laisser vide pour l'appliquer à la page. |
| 4ème paramètre | Définir sur 1 pour désactiver le composeur Messenger. |
Valeurs de retour
Si la fonction s'exécute avec succès :
{"result":"success"}
Sinon, une description de l'erreur est renvoyée.
Exemple :
Erreur lors de l'analyse des données des boutons
ou
{
"error": {
"message": "(#100) param persistent_menu[0][call_to_actions] must be non-empty.",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "AJtVczu7TEJJxbMfnO"
}
}
Exemples
Créer un menu pour tous les utilisateurs
buttons = {
"default": [
["postback", "Bouton 1", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
],
"en_EN": [
["postback", "Bouton", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons)
Créer un menu pour tous les utilisateurs et désactiver le composeur
buttons = {
"default": [
["postback", "Bouton 1", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
],
"en_EN": [
["postback", "Bouton", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons, "", 1)
Créer un menu pour l'utilisateur actuel
buttons = {
"default": [
["postback", "Bouton 1", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons, 1)
Créer un menu utilisateur et désactiver le composeur
buttons = {
"default": [
["postback", "Bouton 1", "texte_rappel 1"],
["postback", "Bouton 2", "texte_rappel 2"],
["web_url", "Site Web", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons, 1, 1)
Supprimer un menu persistant
Supprimer le menu au niveau de la page
response = fb_delete_persistent_menu(group_id)
Réponse réussie :
{"result":"success"}
Erreur possible :
Bot non trouvé
Supprimer un menu au niveau de l'utilisateur
response = fb_delete_persistent_menu(group_id, 1)
Réponse réussie :
{"result":"success"}
Erreur possible :
Bot non trouvé