Le contenu qui suit provient de la documentation relative au produit Webhooks. Si vous ne connaissez pas Webhooks, veuillez consulter la documentation correspondante.
Grâce aux webhooks pour Instagram, vous recevez des notifications en temps réel quand quelqu’un commente les objets multimédias des utilisateur·ices de votre application ou les @mentionne, ou quand les stories de vos utilisateur·ices expirent.
Pour recevoir en direct les notifications des webhooks, les conditions suivantes doivent être remplies :
Si les autorisations de l’application n’ont pas un niveau d’accès Avancé, l’application ne reçoit aucune notification des webhooks.
media
.-1
.comments
et live_comments
. Créez un point de terminaison qui accepte et traite les webhooks. Pendant la configuration, sélectionnez l’objet API Graph pour Instagram, cliquez sur Configurer, et abonnez-vous à un ou plusieurs champs Instagram.
Champ | Description | Autorisations requises |
---|---|---|
Commente un objet Contenu multimédia Instagram appartenant à un utilisateur ou une utilisatrice Instagram de votre application. Les valeurs | ||
Commente un objet Contenu multimédia Instagram en direct appartenant à un utilisateur ou une utilisatrice Instagram de votre application. | ||
@mentionne dans un commentaire un utilisateur ou une utilisatrice Instagram de votre application. | ||
Indicateurs décrivant les interactions sur une story. Envoyés 1 heure après l’expiration de la story. |
Votre application doit activer les abonnements de Page sur la Page connectée au compte de l’utilisateur·ice de l’application. Pour ce faire, l’application doit envoyer une requête POST
à l’arête relative aux applications abonnées à la Page et activer un abonnement à l’un des champs de Page.
POST /{page-id}/subscribed_apps ?access_token={access-token} &subscribed_fields={fields}
Espace réservé | Description de la valeur |
---|---|
| ID de la Page connectée au compte de l’utilisateur·ice de l’application. |
| Token d’accès de Page de l’utilisateur·ice de l’application. |
| Champ de Page (exemple : |
Votre application ne reçoit de notifications pour les changements apportés à un champ que si vous configurez les abonnements de Page dans l’Espace app et vous abonnez à ce champ.
curl -i -X POST \
"https://graph.facebook.com/v21.0
/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..."
{ "success": true }
Si vous vous abonnez au champ story_insights
, vous recevez une notification du webhook sur votre point de terminaison contenant les indicateurs d’interaction utilisateur·ice sur une story après l’expiration de la story.
[ { "entry": [ { "changes": [ { "field": "story_insights", "value": { "media_id": "18023345989012587", "exits": 1, "replies": 0, "reach": 17, "taps_forward": 12, "taps_back": 0, "impressions": 28 } } ], "id": "17841405309211844", // Instagram Business or Creator Account ID "time": 1547687043 } ], "object": "instagram" } ]
Si vous vous abonnez au champ mentions
, vous recevez une notification du webhook sur votre point de terminaison à chaque fois qu’un utilisateur ou une utilisatrice d’Instagram @mentionne un compte Instagram professionnel ou Creator dans un commentaire ou une légende.
Voici un exemple de charge utile d’une notification de commentaire du webhook envoyée pour un compte business Instagram (17841405726653026
) :
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "comment_id": "17894227972186120", "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Pour obtenir le contenu du commentaire, utilisez la propriété comment_id
pour exécuter une requête sur l’arête GET /{ig-user-id}/mentioned_comment
:
GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_comment.comment_id(17894227972186120)
{ "mentioned_comment": { "timestamp": "2018-03-20T00:05:29+0000", "text": "@bluebottle challenge?", "id": "17894227972186120" }, "id": "17841405726653026" }
Quand vous obtenez la réponse, repérez la propriété text
dans la charge utile pour déterminer si vous voulez répondre au commentaire. Pour répondre, utilisez les valeurs de propriété caption_id
et media_id
de la charge utile de la notification du webhook pour exécuter une requête sur le point de terminaison POST /{ig-user-id}/mentions
:
curl -i -X POST \ -d "comment_id=17894227972186120" \ -d "media_id=17918195224117851" \ -d "message=Challenge%20accepted!" \ -d "access_token={access-token}" \ "https://graph.facebook.com/17841405726653026/mentions"
{ "id": "17911496353086895" }
Si vous vous abonnez au champ mentions
, vous recevez une notification du webhook sur votre point de terminaison à chaque fois qu’un utilisateur ou une utilisatrice @mentionne un compte Instagram professionnel ou Creator dans un commentaire ou une légende d’un contenu multimédia qui n’appartient pas audit compte.
Voici un exemple de notification de @mention d’un webhook dans une légende envoyée pour un compte business Instagram (17841405726653026
) :
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Pour obtenir le contenu de la légende, utilisez la propriété media_id
pour exécuter une requête sur l’arête GET /{ig-user-id}/mentioned_media
:
GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_media.media_id(17918195224117851){caption,media_type}
{ "mentioned_media": { "caption": "@bluebottle There can be only one!", "media_type": "IMAGE", "id": "17918195224117851" }, "id": "17841405726653026" }
Quand vous obtenez la réponse, analysez la propriété caption
dans la charge utile pour déterminer si vous voulez répondre au commentaire. Pour répondre, utilisez la propriété media_id
de la charge utile de la notification du webhook pour envoyer une requête à l’arête POST /{ig-user-id}/mentions
:
curl -i -X POST \ -d "media_id=17918195224117851" \ -d "message=MacLeod%20agrees!" \ -d "access_token={access-token}" \ "https://graph.facebook.com/17841405726653026/mentions"
{ "id": "17911496353086895" }