¿Qué es un menú persistente

Un menú persistente te permite crear y enviar un menú con las funciones principales de tu negocio, como horarios de atención, ubicaciones de tiendas y productos. Siempre estará visible durante la conversación de una persona con tu empresa en Messenger.

Botones compatibles:

El menú persistente consta de un conjunto de botones. En el menú persistente se admiten los siguientes tipos de botones:

● Botones de URL (web_url)
● Botones de devolución de llamada (postback)

Cómo agregar un menú persistente

response = ig_set_persistent_menu(login, buttons),, donde:
login - tu inicio de sesión de Instagram (se puede encontrar en el menú "Canal" de MaviBot)
buttons - un diccionario que contiene los botones

Ejemplo de cómo estructurar el diccionario de botones:
buttons = {"default": [["postback", "Botón 1", "texto_de_devolución_1"], ["postback", "Botón 2", "texto_de_devolución_2"], ["web_url", "Enlace del sitio", "https://mavibot.ai/"]]}\\
default - una clave obligatoria que define el array de botones que se mostrarán en el menú por defecto, independientemente de la localización del usuario.
El valor debe ser un array de botones. Cada botón se describe como un array separado en el siguiente formato:

["tipo_de_botón", "Texto de visualización del botón", "Texto de devolución de llamada enviado al bot"]

Tipos de botones y su descripción:
&#xNAN;- botón de devolución de llamada:
["postback", "Texto de visualización del botón", "Texto de devolución de llamada enviado al bot"]
&#xNAN;- botón de URL:
["web_url", "Texto de visualización del enlace", "https://example.com"]

Cómo configurar el menú según la localización del usuario

Puedes configurar botones para diferentes regiones agregando claves adicionales al diccionario de botones correspondientes a configuraciones regionales específicas.

Por ejemplo, para agregar botones para la configuración regional en inglés:

buttons = {"default": [["postback", "Botón 1", "texto_de_devolución_1"], ["postback", "Botón 2", "texto_de_devolución_2"], ["web_url", "Enlace del sitio", "https://mavibot.ai/"]], "en_EN": [["postback", "Botón", "texto_de_devolución_1"], ["postback", "Botón 2", "texto_de_devolución_2"], ["web_url", "Enlace", "https://mavibot.ai/"]]}

Nota: En este caso, la clave representa la configuración regional para la cual se mostrarán los botones.

Configuraciones regionales compatibles:
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

Ejemplo de una solicitud:

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 = ig_set_persistent_menu('login', buttons)

En caso de ejecución exitosa, la función devuelve:
{"result":"success"}

De lo contrario, se devuelve una descripción del error:

"Error parse buttons data" indica un error en el diccionario de botones.
{"error":{"message":"(#100) param persistent_menu[0][call_to_actions] must be non-empty.","type":"OAuthException","code":100,"fbtrace_id":"AJtVczu7TEJJxbMfnO"}}

Cómo eliminar un menú permanente

response = ig_delete_persistent_menu('login'), donde login - nombre de la cuenta

En caso de ejecución exitosa, la función devuelve:

{"result":"success"}

De lo contrario, se devuelve una descripción del error:

"Bot not found"