Kalıcı Menü Nedir?

Kalıcı Menü, işletmenizin ana eylemlerini (çalışma saatleri, mağaza konumları, ürünler veya sık kullanılan diğer seçenekler gibi) görüntülemenizi sağlayan kalıcı bir menüdür. Menü, Facebook Messenger botunuzla yapılan bir konuşma sırasında her zaman görünür.

Desteklenen Düğme Türleri

Kalıcı Menü aşağıdaki düğme türlerini destekler:

  • URL düğmeleri (web_url)
  • Geri bildirim düğmeleri (postback)

Kalıcı Menü Oluşturma

Bir Facebook sayfası için Kalıcı Menü oluşturmak üzere aşağıdaki işlevi kullanın:

response = fb_set_persistent_menu(group_id, buttons)

Parametreler

Parametre Açıklama
group_id Facebook Bot Kimliği. MaviBot projenizin Kanal bölümünde bulabilirsiniz.
buttons Menü düğmelerini açıklayan sözlük.

Düğme Sözlüğü Yapısı

buttons = {
    "default": [
        ["postback", "Düğme 1", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ]
}

default anahtarı zorunludur. Yerel ayarı özel bir menüye sahip olmayan kullanıcılar için görüntülenen düğmeleri tanımlar.

Her düğme bir dizi ile tanımlanır:

["button_type", "Düğme metni", "Değer"]

Desteklenen Düğme Biçimleri

Geri Bildirim Düğmesi

["postback", "Düğme metni", "callback_metni"]
Değer Açıklama
postback Düğme türü.
Düğme metni Düğmede görüntülenen metin.
callback_metni Düğmeye tıklandığında bota gönderilen metin.

URL Düğmesi

["web_url", "Düğme metni", "https://ornek.com"]
Değer Açıklama
web_url Düğme türü.
Düğme metni Düğmede görüntülenen metin.
URL Düğmeye tıklandığında açılan web sitesi.

Yerelleştirme

Kullanıcının yerel ayarına bağlı olarak farklı menüler görüntüleyebilirsiniz.

Düğme sözlüğüne ek anahtarlar eklemeniz yeterlidir.

Örnek:

buttons = {
    "default": [
        ["postback", "Düğme 1", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ],
    "en_EN": [
        ["postback", "Düğme", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ]
}

Bu örnekte, en_EN yerel ayarına sahip kullanıcılar farklı bir menü alacaktır.

Desteklenen Yerel Ayar Kodları

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

Belirli Bir Kullanıcı için Kalıcı Menü Oluşturma

Yalnızca işlevin çağrıldığı kullanıcıya görünür bir menü oluşturmak için üçüncü parametre olarak 1 değerini iletin.

response = fb_set_persistent_menu(group_id, buttons, 1)

Not

Kullanıcı düzeyindeki Kalıcı Menüler hemen güncellenir.

Sayfa düzeyindeki Kalıcı Menülerin güncellenmesi 24 saate kadar sürebilir.

Facebook ayrıca kullanıcı düzeyindeki menü güncellemelerini her 10 dakikada bir kullanıcı başına 10 istek ile sınırlar.


Kompozitörü Devre Dışı Bırakma

Messenger kompozitörünü devre dışı bırakarak kullanıcıların botla yalnızca Kalıcı Menü aracılığıyla etkileşime girmesini sağlayabilirsiniz.

Bu, botun yalnızca önceden tanımlanmış eylemlere izin vermesi gerektiğinde kullanışlıdır.

Tüm Kullanıcılar için Kompozitörü Devre Dışı Bırakma

response = fb_set_persistent_menu(group_id, buttons, "", 1)

Belirli Bir Kullanıcı için Kompozitörü Devre Dışı Bırakma

response = fb_set_persistent_menu(group_id, buttons, 1, 1)

Parametreler

Parametre Açıklama
group_id Facebook Bot Kimliği.
buttons Düğme sözlüğü.
3. parametre Menüyü yalnızca geçerli kullanıcıya uygulamak için 1 olarak ayarlayın. Sayfaya uygulamak için boş bırakın.
4. parametre Messenger kompozitörünü devre dışı bırakmak için 1 olarak ayarlayın.

Dönüş Değerleri

İşlev başarıyla tamamlanırsa:

{"result":"success"}

Aksi takdirde, bir hata açıklaması döndürülür.

Örnek:

Düğme verileri ayrıştırma hatası

veya

{
  "error": {
    "message": "(#100) param persistent_menu[0][call_to_actions] must be non-empty.",
    "type": "OAuthException",
    "code": 100,
    "fbtrace_id": "AJtVczu7TEJJxbMfnO"
  }
}

Örnekler

Tüm Kullanıcılar için Menü Oluşturma

buttons = {
    "default": [
        ["postback", "Düğme 1", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ],
    "en_EN": [
        ["postback", "Düğme", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ]
}

response = fb_set_persistent_menu("123456789", buttons)

Tüm Kullanıcılar için Menü Oluşturma ve Kompozitörü Devre Dışı Bırakma

buttons = {
    "default": [
        ["postback", "Düğme 1", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ],
    "en_EN": [
        ["postback", "Düğme", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ]
}

response = fb_set_persistent_menu("123456789", buttons, "", 1)

Geçerli Kullanıcı için Menü Oluşturma

buttons = {
    "default": [
        ["postback", "Düğme 1", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ]
}

response = fb_set_persistent_menu("123456789", buttons, 1)

Kullanıcı Menüsü Oluşturma ve Kompozitörü Devre Dışı Bırakma

buttons = {
    "default": [
        ["postback", "Düğme 1", "callback_metni 1"],
        ["postback", "Düğme 2", "callback_metni 2"],
        ["web_url", "Web Sitesi", "https://mavibot.ai/"]
    ]
}

response = fb_set_persistent_menu("123456789", buttons, 1, 1)

Kalıcı Menüyü Silme

Sayfa Düzeyindeki Menüyü Silme

response = fb_delete_persistent_menu(group_id)

Başarılı yanıt:

{"result":"success"}

Olası hata:

Bot bulunamadı

Kullanıcı Düzeyindeki Menüyü Silme

response = fb_delete_persistent_menu(group_id, 1)

Başarılı yanıt:

{"result":"success"}

Olası hata:

Bot bulunamadı