# API Instagram

### Qu’est-ce qu’un menu persistant

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

Un menu persistant vous permet de créer et d’envoyer un menu des principales fonctions de votre entreprise, telles que les horaires d’ouverture, les emplacements des magasins et les produits. Il sera toujours visible pendant la conversation d’une personne avec votre entreprise dans Messenger.

#### Boutons pris en charge :

Le menu persistant se compose d’un ensemble de boutons. Les types de boutons suivants sont pris en charge dans le menu persistant :

● Boutons URL (web\_url)\
● Boutons de rappel (postback)

### Comment ajouter un menu persistant

**response = ig\_set\_persistent\_menu(login, buttons),** où :\
**login** - votre identifiant Instagram (peut être trouvé dans le **"Channel"** menu MaviBot)\
**buttons** - un dictionnaire contenant des boutons

**Exemple de structure du dictionnaire de boutons** :\
buttons = {"default": \[\["postback", "Button 1", "callback\_text 1"], \["postback", "Button 2", "callback\_text 2"], \["web\_url", "Site link", "<https://mavibot.ai/"]]}\\>
**default** - une clé obligatoire qui définit le tableau de boutons à afficher par défaut dans le menu, quelle que soit la localisation de l’utilisateur.\
La valeur doit être un tableau de boutons. Chaque bouton est décrit comme un tableau séparé au format suivant :

\["button\_type", "Texte affiché du bouton", "Texte de rappel envoyé au bot"]

**Types de boutons et leur description :**\
\&#xNAN;*- bouton de rappel :*\
\["postback", "Texte affiché du bouton", "Texte de rappel envoyé au bot"]\
\&#xNAN;*- bouton URL :*\
\["web\_url", "Texte affiché du lien", "<https://example.com>"]

### Comment configurer le menu en fonction de la localisation de l’utilisateur

Vous pouvez configurer des boutons pour différentes régions en ajoutant des clés supplémentaires au dictionnaire de boutons correspondant à des paramètres régionaux spécifiques.

Par exemple, pour ajouter des boutons pour la locale anglaise :

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" %}
Remarque : dans ce cas, la clé représente la locale pour laquelle les boutons seront affichés.
{% endhint %}

**Locales prises en charge**:\
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

**Exemple de requête :**

```
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)
```

En cas d’exécution réussie, la fonction renvoie :\
{"result":"success"}

Sinon, une description de l’erreur est renvoyée :

**"Error parse buttons data"** indique une erreur dans le dictionnaire des boutons.\
{"error":{"message":"(#100) param persistent\_menu\[0]\[call\_to\_actions] must be non-empty.","type":"OAuthException","code":100,"fbtrace\_id":"AJtVczu7TEJJxbMfnO"}}

### Comment supprimer un menu permanent

**response = ig\_delete\_persistent\_menu('login')**, où login - nom du compte

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

En cas d’exécution réussie, la fonction renvoie :

{"result":"success"}

Sinon, une description de l’erreur est renvoyée :

**"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/fr/chatbot/messageries/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.
