Para recibir notificaciones de webhooks en directo, se deben reunir las condiciones siguientes:
Si los permisos de la aplicación no tienen un nivel de acceso avanzado, la aplicación no recibe notificaciones de webhooks.
media
.-1
.comments
y live_comments
. Crea un extremo que acepte y procese webhooks. Durante la configuración, selecciona el objeto API Graph de Instagram, haz clic en Configurar y suscríbete a uno o varios campos de Instagram.
Campo | Descripción | Permisos necesarios |
---|---|---|
Comentarios en contenido multimedia de Instagram propiedad del usuario de Instagram de la aplicación. Los valores de | ||
Comentarios en contenido multimedia publicado de Instagram propiedad del usuario de Instagram de la aplicación. | ||
@menciones del usuario de Instagram de la aplicación en un comentario. | ||
Métricas que describen las interacciones en una historia. Se envían una hora después de que caduque la historia. |
La aplicación debe activar las suscripciones de página en la página conectada a la cuenta del usuario de la aplicación. Para ello, es necesario enviar una solicitud POST
al perímetro de aplicaciones suscritas a una página y suscribirse a cualquier campo de la página.
POST /{page-id}/subscribed_apps ?access_token={access-token} &subscribed_fields={fields}
Marcador de posición del valor | Descripción del valor |
---|---|
| Identificador de la página conectada a la cuenta del usuario de la aplicación. |
| Identificador de acceso a la página del usuario de la aplicación. |
| Un campo de página (p. ej., |
La aplicación no recibe notificaciones de cambios en un campo a menos que configures suscripciones de página en el panel de aplicaciones y te suscribas a ese campo.
curl -i -X POST \
"https://graph.facebook.com/v19.0
/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..."
{ "success": true }
Si te suscribes al campo story_insights
, enviamos al extremo una notificación de webhook con métricas de las interacciones de los usuarios en una historia después de que esta caduque.
[ { "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 te suscribes al campo mentions
, enviamos al extremo una notificación de webhook cuando un usuario de Instagram @menciona una cuenta empresarial o de creador de Instagram en un comentario o un texto.
Por ejemplo, a continuación se incluye un ejemplo de carga útil de notificaciones de webhooks de comentarios enviadas para una cuenta empresarial de Instagram (17841405726653026
):
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "comment_id": "17894227972186120", "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Para obtener el contenido del comentario, utiliza la propiedad comment_id
a fin de enviar una consulta al perímetro 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" }
Al recibir la respuesta, analiza la carga útil de la propiedad text
a fin de determinar si quieres responder al comentario. Para responder, utiliza los valores de las propiedades caption_id
y media_id
de la carga útil de notificaciones de webhooks a fin de enviar una consulta al extremo 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 te suscribes al campo mentions
, enviamos al extremo una notificación de webhook cuando un usuario @menciona una cuenta empresarial o de creador de Instagram en un comentario o un texto de un objeto multimedia que no es propiedad de la empresa ni del creador.
Por ejemplo, a continuación se incluye un ejemplo de notificación de webhook de @menciones en textos enviada para una cuenta empresarial de Instagram (17841405726653026
):
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Para obtener el contenido del texto, utiliza la propiedad media_id
a fin de enviar una consulta al perímetro 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" }
Al recibir la respuesta, analiza la carga útil de la propiedad caption
a fin de determinar si quieres responder al comentario. Para responder, utiliza la propiedad media_id
del webhook a fin de enviar una consulta al perímetro 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" }