API do Facebook
O que é um menu persistente
Um menu persistente permite criar e enviar um menu com as principais funções da sua empresa, como horário de funcionamento, locais das lojas e produtos. Ele ficará sempre visível durante a conversa de uma pessoa com sua empresa no Messenger.

Botões suportados:
O menu persistente consiste em um conjunto de botões. Os seguintes tipos de botões são suportados no menu persistente:
● Botões de URL (web_url) ● Botões de callback (postback)
Como adicionar um menu persistente para uma página específica
response = fb_set_persistent_menu("group_id", buttons), em que: group_id - ID do bot do Facebook, (pode ser encontrado no "Channel" menu MaviBot) buttons - um dicionário contendo botões
Exemplo de como estruturar o dicionário de botões: buttons = {"default": [["postback", "Botão 1", "callback_text 1"], ["postback", "Botão 2", "callback_text 2"], ["web_url", "Link do site", "https://mavibot.ai/"]]}
padrão - uma chave obrigatória que define o array de botões a serem exibidos no menu por padrão, независимо da localização do usuário. O valor deve ser um array de botões. Cada botão é descrito como um array separado no seguinte formato: ["button_type", "Texto exibido do botão", "Texto de callback enviado ao bot"]
Tipos de botões e sua descrição: - botão de callback: ["postback", "Texto exibido no botão", "Texto de callback enviado ao bot"] - botão de URL: ["web_url", "Texto do link", "https://example.com"]
Como configurar o menu com base na localização do usuário
Você pode definir botões para diferentes regiões adicionando chaves extras ao dicionário de botões correspondentes a locais específicos.
Por exemplo, para adicionar botões para a localidade em inglês:
buttons = {"default": [["postback", "Botão 1", "callback_text 1"], ["postback", "Botão 2", "callback_text 2"], ["web_url", "Link do site", "https://mavibot.ai/"]], "en_EN": [["postback", "Botão", "callback_text 1"], ["postback", "Botão 2", "callback_text 2"], ["web_url", "Link", "https://mavibot.ai/"]]}
Observação: Nesse caso, a chave representa a localidade para a qual os botões serão exibidos.
Localidades suportadas: 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
Como adicionar um menu persistente para um usuário específico
Para fazer isso, defina o terceiro parâmetro da função fb_set_persistent_menu como 1, assim: response = fb_set_persistent_menu('group_id', buttons, 1)
Esse menu ficará disponível para o usuário para o qual a função foi chamada.
OBSERVAÇÃO . Atualizar um menu persistente de nível de usuário entra em vigor em tempo real. No entanto, a atualização de um menu persistente de nível de página pode levar até 24 horas.
As configurações de nível de usuário são limitadas a uma taxa de 10 chamadas por usuário a cada 10 minutos.
Como desativar todas as comunicações, exceto o menu persistente
Para fazer do menu persistente a única forma de um usuário interagir com seu bot do Messenger, você precisa desativar o compositor.
Por que você faria isso?
Isso é útil quando o seu bot foi projetado para um propósito específico ou um conjunto predefinido de opções.
Como fazer isso?
Para desativar o compositor, passe 1 como o quarto parâmetro na função:
para desativar o compositor no nível da página (para todos os usuários): response = fb_set_persistent_menu('group_id', buttons, '', 1) para desativar o compositor para o usuário para o qual a função é chamada: response = fb_set_persistent_menu('group_id', buttons, 1, 1) onde: group_id - ID do bot do Facebook, (pode ser encontrado no "Channel" menu MaviBot) buttons - um dicionário contendo botões
Se tiver sucesso, a função retorna: {"result":"success"}
Caso contrário, ela retorna uma descrição do erro. 'Error parse buttons data' - erro no dicionário de botões {"error":{"message":"(#100) param persistent_menu[0][call_to_actions] must be non-empty.","type":"OAuthException","code":100,"fbtrace_id":"AJtVczu7TEJJxbMfnO"}}
EXEMPLOS:
Adicionando um menu para todos os usuários:
Adicionando um menu para todos os usuários e tornando esse menu o único método de comunicação para todos:
Adicionando um menu para o usuário que entrou no bloco que chama a função:
Adicionando um menu para o usuário que entrou no bloco que chama a função, e tornando esse menu o único método de comunicação para todos os usuários:
Excluir o menu persistente no nível da página (para todos os usuários):
response = fb_delete_persistent_menu('group_id')
Se tiver sucesso, a função retorna: {"result":"success"}
Caso contrário, ele retorna uma descrição do erro. 'Bot not found'
Excluir o menu persistente no nível do usuário:
response = fb_delete_persistent_menu('group_id', 1)
Se tiver sucesso, a função retorna: {"result":"success"}
Caso contrário, ele retorna uma descrição do erro.
"Bot não encontrado"
Atualizado