API Facebook*

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

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

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

Постоянное меню состоит из набора кнопок . В постоянном меню поддерживаются следующие типы кнопок: ● кнопки-ссылки URL (web_url) ● колбек-кнопки (postback)

Добавление меню постоянного на уровне страницы

response = fb_set_persistent_menu("group_id", buttons)

где: group_id - идентификатор бота в facebook, можно посмотреть в меню Каналы в сейлбот buttons - словарь с кнопками

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

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

Типы кнопок и их описание: - колбек-кнопки postback: ["postback", "Отображаемый текст кнопки", "Текст, который придет в бот"] - кнопки-ссылки web_url ["web_url", "Отображаемый текст ссылки", "Ссылка"]

Как настроить меню с учетом локализации клиента

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

Например, добавим кнопки для русской локали:

buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://salebot.ai/"]], "ru_RU": [["postback", "Кнопа", "callback_text 1"], ["postback", "Кнопа 2", "callback_text 2"], ["web_url", "Ссылка", "https://salebot.pro/"]]}

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

Список всех доступных локалей: 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

Перечень локалей, применяемы в Facebook

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

Для этого в функции fb_set_persistent_menu укажите третий параметр, равный 1, т.е.: response = fb_set_persistent_menu('group_id', buttons, 1)

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

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

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

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

Для того, чтобы постоянное меню было единственным способом взаимодействия человека с вашим ботом Messenger, необходимо отключить композитор. Для чего это может быть нужно? Это полезно, если ваш бот направлен на конкретную цель или набор параметров.

Как это сделать? Для этого в функцию нужно передать в качестве четвертого параметра цифру 1: - отключить композитор на уровне страницы (для всех пользователей): response = fb_set_persistent_menu('group_id', buttons, '', 1) - отключить композитор для пользователя, для которого вызвана функция: response = fb_set_persistent_menu('group_id', buttons, 1, 1) где: group_id - идентификатор бота в Facebook*, можно посмотреть в меню Каналы в Salebot buttons - словарь с кнопками

Меню в Facebook

В случае успешного исполнения функция возвращает: {"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"}}

ПРИМЕРЫ:

Добавление меню для всех пользователей, а также для РФ добавить перевод:

buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://salebot.ai/"]], "ru_RU": [["postback", "Кнопа", "callback_text 1"], ["postback", "Кнопа 2", "callback_text 2"], ["web_url", "Ссылка", "https://salebot.pro/"]]}
response = fb_set_persistent_menu('123456789', buttons)

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

buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://salebot.ai/"]], "ru_RU": [["postback", "Кнопа", "callback_text 1"], ["postback", "Кнопа 2", "callback_text 2"], ["web_url", "Ссылка", "https://salebot.pro/"]]}
response = fb_set_persistent_menu('123456789', buttons, '', 1)

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

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

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

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

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

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'

Last updated

Was this helpful?