Webhook

Panoramica

I webhook abilitano l'attivazione dell'iscrizione per le app di integrazione personalizzata agli eventi in Workplace e la ricezione degli aggiornamenti in tempo reale. Quando si verifica una modifica in Workplace, il sistema invia una richiesta HTTPS POST a un URL di callback per ogni app di integrazione personalizzata per cui è stata attivata l'iscrizione al relativo argomento del webhook.

In tal modo, le app risultano più efficienti, poiché conoscono esattamente il momento in cui si verifica una modifica, e non devono fare affidamento su richieste continue, o addirittura periodiche, all'API Graph per ottenere i contenuti più recenti.

Il supporto dei webhook per Workplace è fornito dallo stesso framework alla base di Webhooks per API Graph.

Attivazione dell'iscrizione agli argomenti del webhook

La finestra di dialogo Modifica integrazione personalizzata fornisce le tab per ciascuno degli argomenti del webhook disponibili per le app su Workplace.

La sezione Webhook nella finestra di dialogo Modifica integrazione personalizzata

Per aggiungere una nuova iscrizione al webhook su un determinato argomento, fornisci un URL di callback e un token di verifica, quindi seleziona i campi relativi all'iscrizione necessari per la funzionalità che verrà fornita dall'app.

Puoi attivare l'iscrizione di un solo URL per ogni argomento del webhook, ma puoi utilizzare lo stesso URL per più argomenti.

Gestione delle richieste di verifica

Quando aggiungi una nuova iscrizione o ne modifichi una esistente, i server di Meta effettueranno una richiesta GET all'URL di callback per la verifica della validità del server di callback.

Una stringa della query verrà aggiunta a questo URL con i seguenti parametri:

  • hub.mode: la stringa "subscribe" viene passata in questo parametro
  • hub.challenge: una stringa casuale
  • hub.verify_token: il valore verify_token specificato al momento della creazione dell'iscrizione

Ogni volta che l'endpoint riceve una richiesta di verifica, deve:

  • verificare che il valore hub.verify_token corrisponda alla stringa impostata nel campo Verifica token in fase di configurazione del webhook;
  • rispondere con il valore hub.challenge.

Sicurezza dei webhook

Tutte le chiamate del webhook agli URL di callback definiti dallo sviluppatore vengono effettuate tramite HTTPS, garantendo la sicurezza a livello di trasporto per i payload del webhook.

Per garantire una maggiore sicurezza, viene incluso X-Hub-Signature-256 di un'intestazione HTTP in ogni payload POST, che dovresti utilizzare per la verifica della provenienza del payload da un server di Meta.

Per i dettagli completi di questo comportamento, consulta la documentazione sul framework dei webhook.

Tutte le chiamate del webhook agli URL di callback definiti dallo sviluppatore vengono effettuate tramite HTTPS, garantendo la sicurezza a livello di trasporto per i payload del webhook.

Attivazione dell'iscrizione ai webhook tramite una chiamata API

Le chiamate API per leggere o modificare le iscrizioni ai webhook devono essere effettuate usando un token dell'app piuttosto che il consueto token dell'integrazione personalizzata. È possibile generare un token dell'app concatenando l'ID dell'app, il simbolo '|' e la chiave segreta.

Ad esempio:

DatiStringa

ID app

504221332732118

Chiave segreta

d76ab3f35f3ff5aa6ffdc8637a660d2ea7

Token dell'app

504221332732118|d76ab3f35f3ff5aa6ffdc8637a660d2ea7

Ottieni le iscrizioni attive ai webhook (usando il token dell'app)

GET graph.facebook.com
  /{app-id}/subscriptions
    &access_token={your_app_token}

Aggiungi una nuova iscrizione webhook (usando il token dell'app)

POST graph.facebook.com
  /{app-id}/subscriptions
    ?object=page
    &fields=mention,messages
    &callback_url={your-url}
    &verify_token={your-verify-token}
    &access_token={your_app_token}

Risoluzione dei problemi della Pagina/Iscrizioni dell'app

Nel caso in cui i webhook non vengano ricevuti come previsto, è consigliabile controllare che l'iscrizione tra la pagina e l'app sia configurata correttamente. La configurazione dovrebbe essere automatica, ma in alcuni casi potrebbero esserci dei problemi. Ad esempio, in caso di errore con la consegna dei webhook per un periodo prolungato, l'iscrizione può essere rimossa. Per le app di terzi, questo comporterà la generazione di un avviso nella Dashboard gestione app.

Per controllare l'iscrizione, sono disponibili le seguenti chiamate API:

Ottieni l'iscrizione dell'app/della pagina corrente (usando il token della pagina)

GET graph.facebook.com
  /me/subscribed_apps?access_token={your_page_token}

Per creare nuovamente l'iscrizione, sono disponibili le seguenti chiamate API:

Crea di nuovo l'iscrizione dell'app/della pagina corrente (usando il token della pagina)

POST graph.facebook.com
  /me/subscribed_apps?access_token={your_page_token}
	{"subscribed_fields": ["messages"...]}

Argomenti del webhook

L'attività su Workplace viene raggruppata in argomenti. Ogni argomento dispone di un numero di campi che mappano gli eventi su un determinato argomento. Le app possono attivare l'iscrizione per gli aggiornamenti del webhook su ogni argomento e per i campi specifici all'interno di ogni argomento.

Al momento, Workplace fornisce i webhook per i seguenti argomenti e gruppi:

Pagina

Per maggiori informazioni, consulta i Documenti di riferimento sull'argomento della Pagina.

Campo relativo all'iscrizioneComportamento

mention

Si attiva quando una pagina di integrazione personalizzata (bot) viene menzionata in un gruppo.

messages

Si attiva quando a una pagina di integrazione personalizzata (bot) viene inviato un messaggio su Workplace Chat.

message_deliveries

Si attiva quando viene consegnato un messaggio inviato da una Pagina di integrazione personalizzata (bot).

messaging_postbacks

Si attiva quando viene premuto un pulsante di postback in Work Chat.

message_reads

Si attiva quando un messaggio di una Pagina di integrazione personalizzata (bot) viene letto dal destinatario.

Gruppi

Per maggiori informazioni, consulta i Documenti di riferimento sull'argomento del gruppo.

Campo relativo all'iscrizioneComportamento

posts

Si attiva quando viene aggiunto, aggiornato o eliminato un post in un gruppo.

comments

Si attiva ogni volta che viene aggiunto, aggiornato o eliminato un nuovo commento in un gruppo.

membership

Si attiva quando cambiano i membri di un gruppo.

membership_requests

Si attiva quando un utente richiede l'iscrizione a un gruppo.

Utente

Per maggiori informazioni, consulta i Documenti di riferimento sugli argomenti per l'utente.

Campo relativo all'iscrizioneComportamento

status

Si attiva quando un utente pubblica o modifica un aggiornamento di stato sul proprio profilo. Questo include i post sul diario dell'utente.

events

Si attiva ogni volta che un utente crea, accetta o rifiuta un evento.

message_sends

Si attiva ogni volta che un utente invia un messaggio di Workplace Chat.

message_unsends

Si attiva ogni volta che un utente rimuove un messaggio di Workplace Chat per tutti i partecipanti alla conversazione.

timeline_comments

Si attiva ogni volta che è presente un commento su un post nel diario di un utente.

Sicurezza

Per maggiori informazioni, consulta i Documenti di riferimento sull'argomento della sicurezza.

admin_activity

Gli eventi attivati quando un amministratore viene aggiunto o rimosso da una community di Workplace

EventoComportamento

admin_set_to_unclaimed

Un amministratore ha impostato lo stato dell'account di un utente su unclaimed (non reclamato) dal Pannello di amministrazione o tramite l'API Account Management.

admin_force_log_out

Un amministratore ha forzato l'uscita di un utente su tutti i dispositivi dal Pannello di amministrazione.

admin_deactivate

Un amministratore ha disattivato un account dal Pannello di amministrazione oppure tramite l'API Account Management.

admin_activate_account

Un amministratore ha attivato un account dal Pannello di amministrazione oppure tramite l'API Account Management.

force_password_reset

Un amministratore ha forzato la reimpostazione della password di un utente dal Pannello di amministrazione.

admin_create_account

Un amministratore ha creato un account dal Pannello di amministrazione.

compromised_credentials

Gli eventi attivati quando si sospetta che le password di Workplace di alcuni account utente in una community possano essere a rischio.

EventoComportamento

found_compromised_credentials

Workplace ha rilevato delle credenziali compromesse.

files

Gli eventi attivati quando si rileva attività relativa ai file su Workplace.

EventoComportamento

group_file_upload

Un utente ha caricato un file su un gruppo.

group_file_download

Un utente ha scaricato un file da un gruppo.

file_upload_malware_found

È stato rilevato un malware in un file scaricato.

groups

Gli eventi attivati quando una persona crea o si unisce a un gruppo per più aziende in Workplace.

EventoComportamento

mcg_join

Un utente della community si è unito a un gruppo per più aziende (MCG).

mcg_create

Un utente della community ha creato un MCG.

integrations

Gli eventi attivati quando un amministratore crea o modifica le proprietà di un'integrazione.

EventoComportamento

custom_integration_create

Un amministratore ha creato un'integrazione personalizzata.

custom_integration_edit

Un amministratore ha modificato un'integrazione personalizzata.

custom_integration_delete

Un amministratore ha eliminato un'integrazione personalizzata.

custom_integration_token_reset

Un amministratore ha generato un nuovo token d'accesso per un'integrazione personalizzata.

content_app_install

Un utente ha creato un'integrazione dei contenuti.

content_app_uninstall

Un utente ha disinstallato un'integrazione dei contenuti.

invites

Gli eventi attivati quando una persona si unisce a Workplace tramite invito automatico.

EventoComportamento

coworker_invite_sent

Un utente ha invitato un collega a unirsi alla community.

self_invite_sent

Un utente ha richiesto un'e-mail di invito per sé stesso.

passwords

Gli eventi si attivano quando una persona modifica la propria password o richiede la reimpostazione della password.

EventoComportamento

password_change

La password di un utente è stata modificata a seguito del completamento del ripristino della password o tramite le impostazioni account.

password_reset_request

È stato avviato il flusso di recupero della password di un utente ed è stato inviato un codice all'indirizzo e-mail dell'utente.

password_reset_wrong_code

Un utente ha inserito un codice di recupero per la reimpostazione della password errato.

password_reset_success

È stato completato correttamente il flusso di recupero della password di un utente.

sessions

Gli eventi si attivano quando una persona accede o esce da Workplace.

EventoComportamento

log_in

L'utente ha effettuato l'accesso a Workplace con password o SSO, su www o app mobili.

log_out

L'utente è uscito da Workplace con password o SSO, su www o app mobili.

Non include la disconnessione forzata avviata dall'amministratore (consulta admin_force_log_out).

two_factor

Gli eventi attivati quando una persona abilita o disabilita l'autenticazione a due fattori.

EventoComportamento

two_factor_enable

Un utente ha abilitato l'autenticazione a due fattori dalla tab Impostazioni. Non acquisisce il momento in cui una persona conferma un particolare cellulare, ma indica che la funzione è stata abilitata.

two_factor_disable

Un utente ha disabilitato l'autenticazione a due fattori dalla tab Impostazioni. Non acquisisce il momento in cui una persona disabilita un particolare cellulare, ma indica che la funzione è stata disabilitata.

add_two_factor_phone

Un utente ha aggiunto e confermato un telefono utilizzato per l'autenticazione a due fattori.

two_factor_code_success

Un utente ha immesso un codice per l'autenticazione a due fattori valido all'accesso a Workplace tramite il sito web o da dispositivo mobile.

two_factor_code_failure

Un utente ha immesso un codice per l'autenticazione a due fattori non valido all'accesso a Workplace tramite il sito web o da dispositivo mobile.

two_factor_code_success_m

Un utente ha immesso un codice per l'autenticazione a due fattori valido all'accesso a Workplace tramite app mobile per iOS o Android.

two_factor_code_failure_m

Un utente ha immesso un codice per l'autenticazione a due fattori non valido all'accesso a Workplace tramite app mobile per iOS o Android.

reseller_events

Eventi correlati a un rivenditore.

EventoComportamento

reseller_user_added

Consente a un utente senza ruolo amministratore nell'azienda di un rivenditore di vedere la console di quel rivenditore.

reseller_user_removed

Impedisce a un utente senza ruolo amministratore nell'azienda di un rivenditore di vedere la console di quel rivenditore.

reseller_invite_sent

Un rivenditore invita un'azienda a collegarsi alla propria azienda.

reseller_invite_accepted

Un'azienda invitata a collegarsi a un rivenditore accetta l'invito.

reseller_invite_declined

Un'azienda invitata a collegarsi a un rivenditore rifiuta l'invito.

Link

Per maggiori informazioni, consulta i Documenti di riferimento sull'argomento dei link.

EventoComportamento

preview

I metadati relativi all'utente che ha richiesto l'accesso ai link condivisibili.

collection

I metadati per un link condiviso su Workplace per la generazione di un'anteprima.

Area risorse

Per maggiori informazioni, consulta i Documenti sull'API Graph relativi alle categorie dell'Area risorse.

Campo relativo all'iscrizioneComportamento

categories

Si attiva quando viene aggiunto, aggiornato o eliminato il contenuto dell'Area risorse oppure quando viene aggiornato il pubblico con l'accesso in lettura.

comments

Si attiva ogni volta che viene aggiunto, aggiornato o eliminato un commento nell'Area risorse.

quicklinks

Si attiva quando viene aggiunto, aggiornato o eliminato un link rapido all'Area risorse.