# API de Instagram

### Qué es un menú persistente

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

Un menú persistente te permite crear y enviar un menú de las funciones principales de tu negocio, como el horario comercial, las ubicaciones de las tiendas y los productos. Siempre estará visible durante la conversación de una persona con tu empresa en Messenger.

#### Botones compatibles:

El menú persistente consiste en un conjunto de botones. Los siguientes tipos de botones son compatibles en el menú persistente:

● Botones URL (web\_url)\
● Botones de devolución de llamada (postback)

### Cómo añadir un menú persistente

**response = ig\_set\_persistent\_menu(login, buttons),** donde:\
**login** - tu usuario de Instagram (se puede encontrar en el **"Canal"** menú de MaviBot)\
**buttons** - un diccionario que contiene botones

**Ejemplo de cómo estructurar el diccionario de botones**:\
buttons = {"default": \[\["postback", "Botón 1", "callback\_text 1"], \["postback", "Botón 2", "callback\_text 2"], \["web\_url", "Enlace del sitio", "<https://mavibot.ai/"]]}\\>
**default** - una clave obligatoria que define la matriz de botones que se mostrará en el menú de forma predeterminada, independientemente de la localización del usuario.\
El valor debe ser una matriz de botones. Cada botón se describe como una matriz separada en el siguiente formato:

\["tipo\_de\_boton", "Texto visible del botón", "Texto de callback enviado al bot"]

**Tipos de botones y su descripción:**\
\&#xNAN;*- botón de callback:*\
\["postback", "Texto visible del botón", "Texto de callback enviado al bot"]\
\&#xNAN;*- botón URL:*\
\["web\_url", "Texto visible del enlace", "<https://example.com>"]

### Cómo configurar el menú según la localización del usuario

Puedes configurar botones para diferentes regiones añadiendo claves adicionales al diccionario de botones correspondientes a locales específicos.

Por ejemplo, para añadir botones para la configuración regional en inglés:

buttons = {"default": \[\["postback", "Botón 1", "callback\_text 1"], \["postback", "Botón 2", "callback\_text 2"], \["web\_url", "Enlace del sitio", "<https://mavibot.ai/>"]], **"en\_EN"**: \[\["postback", "Botón", "callback\_text 1"], \["postback", "Botón 2", "callback\_text 2"], \["web\_url", "Enlace", "<https://mavibot.ai/"]]}>

{% hint style="info" %}
Nota: En este caso, la clave representa la configuración regional para la cual se mostrarán los botones.
{% endhint %}

**Locales compatibles**:\
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

**Ejemplo de una solicitud:**

```
buttons = {"default": [["postback", "Botón 1", "callback_text 1"], ["postback", "Botón 2", "callback_text 2"], ["web_url", "Enlace del sitio", "https://mavibot.ai/"]], "en_EN": [["postback", "Botón", "callback_text 1"], ["postback", "Botón 2", "callback_text 2"], ["web_url", "Enlace", "https://mavibot.ai/"]]}
response = ig_set_persistent_menu('login', buttons)
```

En caso de ejecución exitosa, la función devuelve:\
{"result":"success"}

De lo contrario, se devuelve una descripción del error:

**"Error al analizar los datos de los botones"** indica un error en el diccionario de botones.\
{"error":{"message":"(#100) param persistent\_menu\[0]\[call\_to\_actions] must be non-empty.","type":"OAuthException","code":100,"fbtrace\_id":"AJtVczu7TEJJxbMfnO"}}

### Cómo eliminar un menú permanente

**response = ig\_delete\_persistent\_menu('login')**, donde login - nombre de la cuenta

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

En caso de ejecución exitosa, la función devuelve:

{"result":"success"}

De lo contrario, se devuelve una descripción del error:

**"Bot no encontrado"**


---

# 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/es/chatbot/mensajeros/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.
