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ı