Ce document a été mis à jour.
La traduction en Français (France) n’est pas encore terminée.
Anglais mis à jour : 17 juin

Démarrer

Ce document explique comment appeler la prise en charge d’Instagram par l’API Messenger (également appelée API de messagerie Instagram dans nos Politiques développeur) avec votre application et récupérer les messages d’un compte professionnel Instagram. Nous partons du principe que vous connaissez bien l’API Graph et Facebook Login.

Avant de commencer

Vous devrez avoir accès aux éléments suivants :

Développeur·ses qui ne connaissent pas la plateforme Messenger

  • Suivez le guide détaillé ci-dessous pour générer un token d’accès de Page et configurer des webhooks.
  • Découvrez les différentes fonctionnalités de la plateforme et adoptez celles dont vous avez besoin.

Développeur·ses qui connaissent la plateforme Messenger

  • Les tokens d’accès et les webhooks fonctionnent de façon similaire. La prise en charge d’Instagram par l’API Messenger requiert l’autorisation instagram_manage_messages dans le token d’accès de Page et un abonnement aux webhooks du sujet Instagram.
  • La plupart des fonctionnalités sont identiques à celles de l’API Messenger. Consultez les détails de la liste de fonctionnalités et adoptez celles dont vous avez besoin.

Flux de connexion

Vous pouvez utiliser Facebook Login ou Business Login pour Instagram pour demander aux utilisateur·ices de votre application les autorisations nécessaires.

Le flux Business Login pour Instagram permet aux personnes d’effectuer les opérations suivantes pendant le flux de connexion :

  • Convertir leur compte Instagram en compte professionnel Instagram
  • Créer une Page Facebook pour leur entreprise
  • Connecter cette Page à leur compte professionnel Instagram

Pour implémenter Business Login pour Instagram, consultez notre guide Business Login pour Instagram , puis revenez à ce guide.

1. Obtenir un token d’accès utilisateur·ice

Assurez-vous que vous êtes connecté·e à votre compte de développeur·se Facebook, puis accédez à votre application et lancez la fenêtre modale Facebook Login. N’oubliez pas que votre compte de développeur·se Facebook doit être autorisé à exécuter des tâches avec au moins un niveau d’accès « Modéré » sur la Page Facebook associée au compte Instagram que vous souhaitez interroger.

Une fois la fenêtre modale lancée, cliquez sur OK pour accorder les autorisations instagram_basic, instagram_manage_messages et pages_manage_metadata à votre application.

L’API doit renvoyer un token d’accès utilisateur·ice. Enregistrez ce token pour que votre application puisse l’utiliser pour les prochaines requêtes. Si vous utilisez l’Explorateur de l’API Graph, il sera enregistré automatiquement et affiché dans le champ Token d’accès pour information :

2. Obtenir les Pages de l’utilisateur·ice

Interrogez le point de terminaison GET /me/accounts (ce qui se traduit par GET /{user-id}/accounts, qui exécute la commande GET sur le nœud Utilisateur Facebook, selon votre token d’accès).

curl -i -X GET \
 "https://graph.facebook.com/v9.0/me/accounts?access_token={access-token}"

Cette commande doit renvoyer une collection de Pages Facebook dans lesquelles l’utilisateur·ice Facebook actuel peut effectuer les tâches MANAGE, CREATE_CONTENT, MODERATE et ADVERTISE :

{
  "data": [
    {
      "access_token": "EAAJjmJ...",
      "category": "App Page",
      "category_list": [
        {
          "id": "2301",
          "name": "App Page"
        }
      ],
      "name": "Metricsaurus",
      "id": "134895793791914",  // capture the Page ID
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    }
  ]
}

Enregistrez l’ID de la Page Facebook connectée au compte Instagram que vous souhaitez interroger. N’oubliez pas que les utilisateur·ices de votre application peuvent être autorisé·es à effectuer des tâches sur plusieurs pages, et que vous devrez donc à terme introduire une logique capable de déterminer le bon ID de Page à enregistrer (ou concevoir une UI dans laquelle les utilisateur·ices de votre application peuvent eux-mêmes et elles-mêmes identifier la bonne Page).

3. Obtenir le token d’accès de Page

Pour effectuer différents appels à l’API Instagram Messaging, vous devrez utiliser le token d’accès de Page associé au compte professionnel Instagram concerné, précédemment octroyé via le processus Facebook Login.

Envoyez une requête GET au point de terminaison /{page-id} avec votre token d’accès utilisateur·ice. Par exemple :

curl -i -X GET "https://graph.facebook.com/{page-id}?
  fields=access_token&
  access_token={user-access-token}"  

En cas de réussite, votre app reçoit la réponse suivante :

{
  "access_token":"{page-access-token}",
  "id":"{page-id}"              
}  
  • Si vous avez utilisé un token d’accès utilisateur·ice de courte durée, le token d’accès de Page n’est valide qu’une heure.
  • Si vous avez utilisé un token d’accès utilisateur·ice de longue durée, le token d’accès de Page n’a pas de date d’expiration.

Pour générer un token d’accès de Page de longue durée, vous pouvez suivre ce guide.

3a. Obtenir le token d’accès de Page via l’outil Instagram Developer Dashboard

Cet outil (Tableau de bord des développeur·ses Instagram) sera déployé pour l’ensemble des équipes de développement dans les semaines à venir. Si vous ne voyez pas les paramètres associés dans l’Espace App, suivez les étapes 1 à 5 ci-dessus pour générer des tokens d’accès de Page.

Si vous êtes propriétaire des éléments (compte Instagram et Page Facebook) que vous souhaitez intégrer à la prise en charge d’Instagram par l’API Messenger, servez-vous de l’outil de configuration d’Instagram disponible dans l’Espace App de développement, qui vous permet de créer facilement des tokens d’accès de Page et des webhooks. Vous trouverez cet outil dans l’Espace App de développement → Messenger → Paramètres Instagram. Vous pourrez continuer à configurer des tokens et des webhooks comme auparavant, mais cet outil facilitera la configuration de votre environnement.

4. Activer les outils connectés dans les paramètres du contrôle des messages

Pour gérer les messages Instagram via l’API, les comptes professionnels Instagram doivent activer les outils connectés dans les paramètres du contrôle des messages.

5. Obtenir les objets de la messagerie d’un compte professionnel Instagram

Utilisez l’ID de Page que vous avez enregistré et le token d’accès de Page pour interroger le point de terminaison GET /{page-id}/conversations?platform=instagram :

curl -i -X GET \
 "https://graph.facebook.com/v9.0/17841405822304914/conversations?platform=instagram&access_token={access-token}"  

Cette commande doit renvoyer les ID de tous les objets de fil de discussion de l’utilisateur·ice Instagram :

{
  "data": [
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTM2MDk5MDc1MzYyOTgx"
    },
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTYzMzQ2MzE5NjM1NDcy"
    },
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MTk3MTY0NjI2NzAyMjMw"
    },
    {
      "id": "aWdfZAG06MTpJR01lc3NhZA2VUaHJlYWQ6OTAwMTAxNDYyOTkyODI6MzQwMjgyMzY2ODQxNzEwMzAwOTQ5MTI4MzkzNDI5MDYzMzkyNjU0"
    }
}

Si vous parvenez à exécuter cette requête finale, vous devez être en mesure d’exécuter des requêtes à l’aide de n’importe quel point de terminaison de la prise en charge d’Instagram par l’API Messenger. Consultez nos différents guides et documents de référence pour découvrir à quoi sert chaque point de terminaison et quelle autorisation il requiert.

Étapes suivantes

  • Continuez à développer votre application pour qu’elle puisse utiliser les autres points de terminaison dont elle a besoin, et gardez une trace des autorisations requises pour chaque point de terminaison.
  • Achevez la configuration des webhooks afin que votre application puisse recevoir des notifications en temps réel quand un utilisateur ou une utilisatrice envoie un message au compte professionnel Instagram.
  • Suivez le processus Contrôle app et demandez une approbation pour toutes les autorisations dont votre application aura besoin, afin que les utilisateur·ices de l’application puissent accorder ces autorisations pendant que votre application se trouve en production.

Assistance pour les équipes chargées du développement