El siguiente contenido procede de la documentación sobre el producto Webhooks. Consulta dicha documentación si no conoces este producto.
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/v21.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" }