Il seguente contenuto proviene dalla documentazione sul prodotto Webhooks. Consulta la documentazione sui webhook se non hai familiarità con questi prodotti.
Per ricevere notifiche webhook in tempo reale, devono essere soddisfatte le condizioni seguenti:
Se le autorizzazioni dell'app non hanno l'accesso avanzato, l'app non riceve notifiche webhook.
media
.-1
.comments
e live_comments
, l'app deve aver completato correttamente l'analisi dell'app (accesso avanzato). Crea un endpoint che accetti ed elabori i webhook. Durante la configurazione, seleziona l'oggetto API Instagram Graph, clicca su Configura e attiva l'iscrizione a uno o più campi di Instagram.
Campo | Descrizione | Autorizzazioni richieste |
---|---|---|
Commenti su un contenuto multimediale di IG di proprietà dell'utente Instagram della tua app.
| ||
Commenti su un contenuto multimediale di IG in diretta di proprietà dell'utente Instagram della tua app. | ||
@menzioni dell'utente Instagram della tua app in un commento. | ||
Metriche che descrivono le interazioni su una storia. Inviate 1 ora dopo la scadenza della storia. |
L'app deve abilitare le iscrizioni alla Pagina collegata all'account dell'utente dell'app inviando una richiesta POST
al segmento Page Subscribed Apps e attivando l'iscrizione a un qualsiasi campo della Pagina.
POST /{page-id}/subscribed_apps ?access_token={access-token} &subscribed_fields={fields}
Segnaposto del valore | Descrizione del valore |
---|---|
| ID della Pagina collegata all'account dell'utente dell'app. |
| Token d'accesso della Pagina dell'utente dell'app. |
| Un campo della Pagina (ad esempio |
La tua app non riceve notifiche di modifiche a un campo a meno che tu non configuri le iscrizioni alla Pagina nella Dashboard gestione app e attivi l'iscrizione al campo.
curl -i -X POST \
"https://graph.facebook.com/v21.0
/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..."
{ "success": true }
Se attivi l'iscrizione al campo story_insights
, inviamo al tuo endpoint una notifica webhook contenente le metriche di interazione degli utenti su una Storia dopo che è scaduta.
[ { "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" } ]
Se attivi l'iscrizione al campo mentions
, inviamo al tuo endpoint una notifica webhook ogni volta che un utente Instagram @menziona un account Instagram business o creator in un commento o una didascalia.
Ecco un esempio di payload di notifica webhook dei commenti inviato per un account Instagram business (17841405726653026
):
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "comment_id": "17894227972186120", "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Per ottenere il contenuto del commento, usa la proprietà comment_id
per interrogare il segmento 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" }
Quando ottieni la risposta, analizza il payload per la proprietà text
per determinare se rispondere al commento. Per rispondere, utilizza i valori delle proprietà caption_id
e media_id
del payload di notifica webhook per interrogare l'endpoint 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" }
Se attivi l'iscrizione al campo mentions
, inviamo al tuo endpoint una notifica webhook ogni volta che un utente @menziona un account Instagram business o creator in un commento o una didascalia su un oggetto multimediale non di proprietà di uno di tali account.
Ecco un esempio di notifica webhook di una @menzione in una didascalia inviata per un account Instagram business (17841405726653026
):
[ { "entry": [ { "changes": [ { "field": "mentions", "value": { "media_id": "17918195224117851" } } ], "id": "17841405726653026", "time": 1520622968 } ], "object": "instagram" } ]
Per ottenere il contenuto della didascalia, usa la proprietà media_id
per interrogare il segmento 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" }
Quando ottieni la risposta, analizza il payload per la proprietà caption
per determinare se rispondere al commento. Per rispondere, utilizza la proprietà media_id
del webhook per interrogare il segmento 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" }