# API Instagram

### Что такое постоянное меню

<div data-with-frame="true"><figure><img src="/files/13b946d973d9b9dac7a5d1436b77e9f92aeba291" alt="" width="230"><figcaption></figcaption></figure></div>

Постоянное меню позволяет вам создать и отправить меню основных функций вашего бизнеса, таких как часы работы, адреса магазинов и продукты. Оно всегда будет видно во время разговора человека с вашей компанией в Messenger.

#### Поддерживаемые кнопки:

Постоянное меню состоит из набора кнопок. В постоянном меню поддерживаются следующие типы кнопок:

● URL-кнопки (web\_url)\
● Кнопки обратного вызова (postback)

### Как добавить постоянное меню

**response = ig\_set\_persistent\_menu(login, buttons),** где:\
**login** - ваш логин Instagram (можно найти в **"Channel"** меню MaviBot)\
**buttons** - словарь, содержащий кнопки

**Пример структуры словаря кнопок**:\
buttons = {"default": \[\["postback", "Button 1", "callback\_text 1"], \["postback", "Button 2", "callback\_text 2"], \["web\_url", "Site link", "<https://mavibot.ai/"]]}\\>
**по умолчанию** - обязательный ключ, который определяет массив кнопок, отображаемых в меню по умолчанию, независимо от локализации пользователя.\
Значение должно быть массивом кнопок. Каждая кнопка описывается как отдельный массив в следующем формате:

\["button\_type", "Текст кнопки", "Текст обратного вызова, отправляемый боту"]

**Типы кнопок и их описание:**\
\&#xNAN;*- кнопка обратного вызова:*\
\["postback", "Текст кнопки", "Текст обратного вызова, отправляемый боту"]\
\&#xNAN;*- URL-кнопка:*\
\["web\_url", "Текст ссылки", "<https://example.com>"]

### Как настроить меню в зависимости от локализации пользователя

Вы можете настроить кнопки для разных регионов, добавив в словарь кнопок дополнительные ключи, соответствующие конкретным локалям.

Например, чтобы добавить кнопки для английской локали:

buttons = {"default": \[\["postback", "Button 1", "callback\_text 1"], \["postback", "Button 2", "callback\_text 2"], \["web\_url", "Site link", "<https://mavibot.ai/>"]], **"en\_EN"**: \[\["postback", "Button", "callback\_text 1"], \["postback", "Button 2", "callback\_text 2"], \["web\_url", "Link", "<https://mavibot.ai/"]]}>

{% hint style="info" %}
Примечание: в этом случае ключ представляет локаль, для которой будут отображаться кнопки.
{% endhint %}

**Поддерживаемые локали**:\
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

**Пример запроса:**

```
buttons = {"default": [["postback", "Button 1", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Site link", "https://mavibot.ai/"]], "en_EN": [["postback", "Button", "callback_text 1"], ["postback", "Button 2", "callback_text 2"], ["web_url", "Link", "https://mavibot.ai/"]]}
response = ig_set_persistent_menu('login', buttons)
```

В случае успешного выполнения функция возвращает:\
{"result":"success"}

В противном случае возвращается описание ошибки:

**"Error parse buttons data"** указывает на ошибку в словаре кнопок.\
{"error":{"message":"(#100) param persistent\_menu\[0]\[call\_to\_actions] must be non-empty.","type":"OAuthException","code":100,"fbtrace\_id":"AJtVczu7TEJJxbMfnO"}}

### Как удалить постоянное меню

**response = ig\_delete\_persistent\_menu('login')**, где login - имя аккаунта

<div data-with-frame="true"><figure><img src="/files/054ffd035b6d6f2462447f225e8d9faf77bc3757" alt=""><figcaption></figcaption></figure></div>

В случае успешного выполнения функция возвращает:

{"result":"success"}

В противном случае возвращается описание ошибки:

**"Bot not found"**


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/ru/chatbot/messendzhery/instagram/api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
