Was ist ein Persistent Menu?
Ein Persistent Menu ermöglicht es Ihnen, ein dauerhaftes Menü mit den wichtigsten Aktionen Ihres Unternehmens anzuzeigen, wie z. B. Öffnungszeiten, Filialstandorte, Produkte oder andere häufig genutzte Optionen. Das Menü ist während einer Unterhaltung mit Ihrem Facebook-Messenger-Bot stets sichtbar.

Unterstützte Schaltflächentypen
Das Persistent Menu unterstützt die folgenden Schaltflächentypen:
-
URL-Schaltflächen (
web_url) -
Callback-Schaltflächen (
postback)
Ein Persistent Menu erstellen
Verwenden Sie die folgende Funktion, um ein Persistent Menu für eine Facebook-Seite zu erstellen:
response = fb_set_persistent_menu(group_id, buttons)
Parameter
| Parameter | Beschreibung |
|---|---|
| group_id | Facebook-Bot-ID. Sie finden diese im Bereich Channel Ihres MaviBot-Projekts. |
| buttons | Dictionary, das die Menüschaltflächen beschreibt. |
Struktur des Schaltflächen-Dictionarys
buttons = {
"default": [
["postback", "Button 1", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
]
}
Der Schlüssel default ist erforderlich. Er definiert die Schaltflächen, die für Benutzer angezeigt werden, deren Gebietsschema kein benutzerdefiniertes Menü hat.
Jede Schaltfläche wird durch ein Array beschrieben:
["button_type", "Button text", "Value"]
Unterstützte Schaltflächenformate
Callback-Schaltfläche
["postback", "Button text", "callback_text"]
| Wert | Beschreibung |
|---|---|
| postback | Schaltflächentyp. |
| Button text | Auf der Schaltfläche angezeigter Text. |
| callback_text | Text, der an den Bot gesendet wird, wenn die Schaltfläche geklickt wird. |
URL-Schaltfläche
["web_url", "Button text", "https://example.com"]
| Wert | Beschreibung |
|---|---|
| web_url | Schaltflächentyp. |
| Button text | Auf der Schaltfläche angezeigter Text. |
| URL | Website, die geöffnet wird, wenn die Schaltfläche geklickt wird. |
Lokalisierung
Sie können je nach Gebietsschema des Benutzers unterschiedliche Menüs anzeigen.
Fügen Sie einfach zusätzliche Schlüssel zum Schaltflächen-Dictionary hinzu.
Beispiel:
buttons = {
"default": [
["postback", "Button 1", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
],
"en_EN": [
["postback", "Button", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
]
}
In diesem Beispiel erhalten Benutzer mit dem Gebietsschema en_EN ein anderes Menü.
Unterstützte Gebietsschemata
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
Ein Persistent Menu für einen bestimmten Benutzer erstellen
Um ein Menü zu erstellen, das nur für den Benutzer sichtbar ist, für den die Funktion aufgerufen wird, übergeben Sie 1 als dritten Parameter.
response = fb_set_persistent_menu(group_id, buttons, 1)
Hinweis
Persistent Menüs auf Benutzerebene werden sofort aktualisiert.
Persistent Menüs auf Seitenebene können bis zu 24 Stunden für die Aktualisierung benötigen.
Facebook begrenzt außerdem Aktualisierungen von Menüs auf Benutzerebene auf 10 Anfragen pro Benutzer alle 10 Minuten.
Den Composer deaktivieren
Sie können den Messenger-Composer deaktivieren, sodass Benutzer nur über das Persistent Menu mit dem Bot interagieren können.
Dies ist nützlich, wenn der Bot nur vordefinierte Aktionen zulassen soll.
Den Composer für alle Benutzer deaktivieren
response = fb_set_persistent_menu(group_id, buttons, "", 1)
Den Composer für einen bestimmten Benutzer deaktivieren
response = fb_set_persistent_menu(group_id, buttons, 1, 1)
Parameter
| Parameter | Beschreibung |
|---|---|
| group_id | Facebook-Bot-ID. |
| buttons | Schaltflächen-Dictionary. |
| 3. Parameter | Setzen Sie ihn auf 1, um das Menü nur auf den aktuellen Benutzer anzuwenden. Lassen Sie ihn leer, um es auf die Seite anzuwenden. |
| 4. Parameter | Setzen Sie ihn auf 1, um den Messenger-Composer zu deaktivieren. |
Rückgabewerte
Wenn die Funktion erfolgreich abgeschlossen wird:
{"result":"success"}
Andernfalls wird eine Fehlerbeschreibung zurückgegeben.
Beispiel:
Error parse buttons data
oder
{
"error": {
"message": "(#100) param persistent_menu[0][call_to_actions] must be non-empty.",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "AJtVczu7TEJJxbMfnO"
}
}
Beispiele
Ein Menü für alle Benutzer erstellen
buttons = {
"default": [
["postback", "Button 1", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
],
"en_EN": [
["postback", "Button", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons)
Ein Menü für alle Benutzer erstellen und den Composer deaktivieren
buttons = {
"default": [
["postback", "Button 1", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
],
"en_EN": [
["postback", "Button", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons, "", 1)
Ein Menü für den aktuellen Benutzer erstellen
buttons = {
"default": [
["postback", "Button 1", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons, 1)
Ein Benutzermenü erstellen und den Composer deaktivieren
buttons = {
"default": [
["postback", "Button 1", "callback_text 1"],
["postback", "Button 2", "callback_text 2"],
["web_url", "Website", "https://mavibot.ai/"]
]
}
response = fb_set_persistent_menu("123456789", buttons, 1, 1)
Ein Persistent Menu löschen
Das Menü auf Seitenebene löschen
response = fb_delete_persistent_menu(group_id)
Erfolgreiche Antwort:
{"result":"success"}
Möglicher Fehler:
Bot not found
Ein Menü auf Benutzerebene löschen
response = fb_delete_persistent_menu(group_id, 1)
Erfolgreiche Antwort:
{"result":"success"}
Möglicher Fehler:
Bot not found