Webhooks ti consente di ricevere notifiche HTTP in tempo reale relative a modifiche a oggetti specifici nel social graph di Meta. Ad esempio, potremmo inviarti una notifica quando uno degli utenti della tua app cambia il suo indirizzo e-mail o commenta sulla tua Pagina Facebook. In questo modo, non dovrai eseguire query sull'API Graph per modifiche a oggetti che potrebbero o meno essere avvenute, riducendo il rischio di raggiungere il tuo rate limiting.
I passaggi di configurazione di Webhooks per i pagamenti e di Webhooks per Messenger presentano alcune piccole differenze. Se stai configurando un webhook per uno di questi prodotti, fai riferimento alla rispettiva documentazione per le istruzioni di configurazione.
Il social graph di Meta include molti tipi di oggetti, come gli oggetti User e gli oggetti Page, quindi quando configuri un webhook devi prima scegliere un tipo di oggetto. Dal momento che oggetti differenti hanno campi differenti, devi attivare l'iscrizione a campi specifici per quel tipo di oggetto. Quando si verifica una modifica al valore di qualsiasi campo oggetto per cui hai attivato l'iscrizione, ti invieremo una notifica.
Le notifiche vengono inviate come richieste HTTP POST e contengono un payload JSON che descrive la modifica. Ad esempio, supponiamo che tu abbia configurato un webhook User
e abbia attivato l'iscrizione al campo Photos
. Se uno degli utenti della tua app carica una foto, ti invieremo una notifica simile alla seguente:
{ "entry": [ { "time": 1520383571, "changes": [ { "field": "photos", "value": { "verb": "update", "object_id": "10211885744794461" } } ], "id": "10210299214172187", "uid": "10210299214172187" } ], "object": "user" }
I webhook sono inviati tramite HTTPS, quindi il tuo server deve essere abilitato a ricevere ed elaborare le richieste HTTPS e deve avere un certificato TLS/SSL valido installato. I certificati autofirmati non sono supportati.
I webhook non richiedono l'Analisi dell'app. Tuttavia, per ricevere notifiche webhook delle modifiche agli oggetti quando la tua app è in modalità live, quest'ultima deve aver ricevuto le autorizzazioni necessarie per accedere a tali oggetti. Consulta Autorizzazioni di seguito.
Di norma, prima che un'app possa essere pubblicata, deve essere sottoposta all'Analisi dell'app. Durante l'analisi, le app possono richiedere l'approvazione per autorizzazioni specifiche, che controllano i tipi di dati a cui l'app può accedere utilizzando l'API Graph.
Nonostante il prodotto Webhooks non richieda l'Analisi dell'app, rispetta comunque le autorizzazioni. Questo significa che, anche se configuri un webhook e attivi l'iscrizione a campi specifici di un tipo di oggetto, non riceverai notifiche per alcuna modifica agli oggetti di quel tipo, a meno che:
Le app in modalità sviluppo possono ricevere solo notifiche di test inviate dalla Dashboard gestione app o notifiche inviate da persone che hanno un ruolo nell'app.
Tieni presente che la modalità sviluppo ha un comportamento diverso per gli eventi webhook di Messenger. Consulta la documentazione Webhooks per Messenger per maggiori dettagli.
Per usare i webhook, devi configurare un endpoint su un server sicuro (HTTPS), quindi aggiungere e configurare il prodotto Webhooks nella dashboard della tua app. Nel resto di questi documenti viene spiegato come completare entrambi i passaggi.
Pronti? Iniziamo!