Il seguente contenuto proviene dalla documentazione sul prodotto Webhooks. Fai riferimento alla documentazione relativa a Webhooks se non hai familiarità con Webhooks.
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/v19.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" }