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