API Facebook

Что такое постоянное меню

Постоянное меню позволяет вам создать и отправить меню основных функций вашего бизнеса, таких как часы работы, адреса магазинов и продукты. Оно всегда будет видно во время разговора человека с вашей компанией в Messenger.

Поддерживаемые кнопки:

Постоянное меню состоит из набора кнопок. В постоянном меню поддерживаются следующие типы кнопок:

● URL-кнопки (web_url) ● Кнопки обратного вызова (postback)

Как добавить постоянное меню для конкретной страницы

response = fb_set_persistent_menu("group_id", buttons)где: group_id - ID бота Facebook, (можно найти в "Channel" меню MaviBot) buttons - словарь, содержащий кнопки

Пример структуры словаря кнопок: buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://mavibot.ai/"]]}

по умолчанию - обязательный ключ, который определяет массив кнопок, отображаемых в меню по умолчанию, независимо от локализации пользователя. Значение должно быть массивом кнопок. Каждая кнопка описывается как отдельный массив в следующем формате: ["button_type", "Текст кнопки", "Текст callback, отправляемый боту"]

Типы кнопок и их описание: - кнопка обратного вызова: ["postback", "Текст кнопки", "Текст обратного вызова, отправляемый боту"] - URL-кнопка: ["web_url", "Текст ссылки", "https://example.com"]

Как настроить меню в зависимости от локализации пользователя

Вы можете настроить кнопки для разных регионов, добавив в словарь кнопок дополнительные ключи, соответствующие конкретным локалям.

Например, чтобы добавить кнопки для английской локали:

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

circle-info

Примечание: в этом случае ключ представляет локаль, для которой будут отображаться кнопки.

Поддерживаемые локали: 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

Как добавить постоянное меню для конкретного пользователя

Чтобы сделать это, установите третий параметр функции fb_set_persistent_menu в 1, вот так: response = fb_set_persistent_menu('group_id', buttons, 1)

Это меню будет доступно пользователю, для которого была вызвана функция.

circle-info

ПРИМЕЧАНИЕ . Обновление постоянного меню уровня пользователя вступает в силу в реальном времени. Однако обновление постоянного меню уровня страницы может занять до 24 часов.

Настройки уровня пользователя ограничены частотой 10 вызовов на пользователя каждые 10 минут.

Как отключить все коммуникации, кроме постоянного меню

Чтобы постоянное меню стало единственным способом, которым пользователь может взаимодействовать с вашим Messenger-ботом, нужно отключить composer.

Зачем это делать?

Это полезно, когда ваш бот предназначен для определённой цели или заранее заданного набора опций.

Как это сделать?

Чтобы отключить composer, передайте 1 в качестве четвёртого параметра функции:

чтобы отключить composer на уровне страницы (для всех пользователей): response = fb_set_persistent_menu('group_id', buttons, '', 1) чтобы отключить composer для пользователя, для которого вызывается функция: response = fb_set_persistent_menu('group_id', buttons, 1, 1) где: group_id - ID бота Facebook, (можно найти в "Channel" меню MaviBot) buttons - словарь, содержащий кнопки

При успешном выполнении функция возвращает: {"result":"success"}

В противном случае она возвращает описание ошибки. 'Error parse buttons data' - ошибка в словаре кнопок {"error":{"message":"(#100) param persistent_menu[0][call_to_actions] must be non-empty.","type":"OAuthException","code":100,"fbtrace_id":"AJtVczu7TEJJxbMfnO"}}

ПРИМЕРЫ:

Добавление меню для всех пользователей:

Добавление меню для всех пользователей и сделав это меню единственным способом общения для всех:

Добавление меню для пользователя, который вошёл в блок, вызывающий функцию:

Добавление меню для пользователя, который вошёл в блок, вызывающий функцию, и сделать это меню единственным способом общения для всех пользователей:

Удалить постоянное меню на уровне страницы (для всех пользователей):

response = fb_delete_persistent_menu('group_id')

При успешном выполнении функция возвращает: {"result":"success"}

В противном случае она возвращает описание ошибки. 'Bot not found'

Удалить постоянное меню на уровне пользователя:

response = fb_delete_persistent_menu('group_id', 1)

При успешном выполнении функция возвращает: {"result":"success"}

В противном случае она возвращает описание ошибки.

"Bot not found"

Последнее обновление