Facebook Messenger
-
Un account sviluppatore Facebook
-
Un'applicazione Facebook
-
Una pagina Facebook
-
Un token di accesso alla pagina
-
ID segreto applicazione
-
URL webhook
-
Token di verifica
Per eseguire il tuo assistente digitale (o una competenza autonoma) su Facebook Messenger, devi prima impostare una pagina Facebook e un'app Facebook. Per ulteriori informazioni, consulta la documentazione sulla piattaforma di messaggistica Facebook.
In poche parole, ecco come funziona. La pagina Facebook ospita il tuo assistente digitale. Gli utenti chat con l'assistente digitale tramite questa pagina quando utilizzano la finestra di chat in un browser desktop. Quando utilizzano un dispositivo mobile, gli utenti interagiscono con il tuo assistente digitale direttamente tramite Facebook Messenger stesso. In questo scenario, l'app Facebook consente al tuo assistente digitale di ottenere i messaggi gestiti da Facebook Messenger.
Per creare un canale Facebook Messenger, sono necessari artifact generati sia da Oracle Digital Assistant che da Facebook Messenger.
Da Oracle Digital Assistant, avrai bisogno di:
- l'URL del webhook che collega il tuo assistente digitale a Facebook Messenger
- il token di verifica che consente a Facebook Messenger di identificare l'assistente digitale
Da Facebook Messenger avrai bisogno di:
- il token di accesso alla pagina
- ID segreto applicazione
Poiché è necessario trasferire questi artifact tra Digital Assistant e Facebook Messenger, sarà necessario passare da una piattaforma all'altra durante la configurazione del canale.
Passo 1: Impostare Facebook Messenger
Inizia generando il Segreto applicazione e il token di accesso alla pagina in Facebook Messenger.
- Accedi all'account dello sviluppatore di Facebook.
- Crea l'app Facebook che utilizzerai per il canale:
- Nel browser, è possibile andare all'indirizzo https://developers.facebook.com/apps/.
- Selezionare la scheda Applicazioni personali e fare clic su Crea applicazione.
- Nella pagina Dettagli applicazione della Creazione guidata applicazione immettere il nome che si desidera utilizzare per l'applicazione e l'indirizzo di posta elettronica che si desidera utilizzare come contatto per l'applicazione. Quindi fare clic su Successivo.
- Nella pagina Casi d'uso, in Filtra per, selezionare Messaggio aziendale. Quindi selezionare Coinvolgi con i clienti su Messenger da Meta e fare clic su Successivo.
- Fare clic sulle altre pagine della procedura guidata, quindi fare clic su Panoramica nella pagina Crea applicazione.
- Una volta creata l'applicazione, selezionarla (sul lato sinistro della pagina Applicazioni personali), quindi, nella sezione Impostazioni applicazione, selezionare Base.
- Copiare il valore del campo Segreto applicazione e incollarlo in un formato appropriato nel sistema.
Avrai bisogno del segreto app in un secondo momento per completare la configurazione del tuo canale Facebook.
- Nella sezione Pagina Applicazione fare clic su Crea nuova pagina.
- Nella pagina Crea pagina, compilare i campi obbligatori, quindi fare clic su Crea pagina.
Nota
Il nome della pagina deve contenere il nome dell'applicazione. - Generare un token di accedere:
- Selezionare Tools > Graph API Explorer.
- Nella sezione Token di accesso della pagina, selezionare il nome dell'app in App Meta.
- Per il campo Utente o pagina, selezionare Recupera token.
- Nella sezione Autorizzazioni fare clic su Aggiungi un'autorizzazione e selezionare le autorizzazioni riportate di seguito.
business_managementpages_manage_metadatapages_messagingpages_show_list
- Fare clic su Genera token di accesso.
- Copiare il token di accesso e incollarlo in un punto appropriato.
Questo token, che consente all'applicazione Facebook di accedere all'API di messaggistica di Facebook, consente di completare la definizione del canale in Digital Assistant.
Passo 2: Creare il canale in Digital Assistant
- In Digital Assistant, fare clic sui canali nel menu a sinistra, quindi scegliere Utenti.
-
Fare quindi clic su Aggiungi canale per aprire la finestra di dialogo Crea canale.
-
Dai un nome al tuo canale.
-
Scegliere Facebook Messenger come tipo di canale.
-
Nel campo Token di accesso pagina incollare il token di accesso alla pagina generato in precedenza nella procedura di impostazione di Facebook Messenger.
-
Nel campo Segreto applicazione incollare il segreto dell'applicazione copiato in precedenza nella procedura Imposta Facebook Messenger.
-
Fare clic su Crea.
-
Nella pagina Canali, copiare sia il token di verifica che l'URL WebHook e incollarli in un punto appropriato nel sistema. Avrai bisogno di questi per configurare il webhook di Facebook.

Descrizione dell'immagine fb-channel-complete.png
Passo 3: configurare il webhook di Facebook Messenger
In Facebook Messenger, definire l'URL di callback utilizzando l'URL del webhook generato da Digital Assistant nel passo precedente.
- Nella console di Facebook Messenger, vai al progetto che hai inizialmente creato per il webhook.
- Selezionare Impostazioni API Messenger per aprire la pagina Impostazione API Messenger.
- Nel campo URL richiamata incollare l'URL del webhook ottenuto dalla pagina Canali di Digital Assistant.
- Nel campo Verifica token della console Messenger incollare il token di verifica dalla pagina Canali di Digital Assistant.
- Nella sezione Campi webhook, selezionare gli eventi di callback messages e messaging_postbacks.
- Fare clic su Verifica e salva.
- Iscriviti alla pagina:
- Nella sezione Genera token di accesso della pagina Impostazione API Messenger, selezionare la pagina Facebook per il canale.
- Fare clic su Aggiungi sottoscrizione.
- Nella finestra di dialogo Modifica sottoscrizioni pagina, verificare che siano selezionati messaggi e messaging_postbacks e fare clic su Conferma.
Passaggio 4: abilitare il canale Facebook
Una volta completata la configurazione, sei pronto per attivare il canale Facebook.
- In Digital Assistant, selezionare il canale e attivare il controllo Canale abilitato.
- Fare clic su
e selezionare l'assistente digitale o lo skill che si desidera associare al canale.
Ora puoi testare il bot attraverso il canale.
Passo 5: Prova il tuo bot su Facebook Messenger
Con il Canale di Facebook e la configurazione di messaggistica completa, puoi testare il tuo bot utilizzando la tua pagina Facebook, Facebook Messenger (https://www.messenger.com/) e l'app Facebook Messenger sul tuo dispositivo.
- Andare a
https://www.messenger.com/. - Nell'interfaccia di Messenger, immettere il nome della pagina da cercare.
- Inizia a chattare con il tuo assistente digitale (o abilità autonoma).
Menu persistente
Facebook Messenger consente di creare un menu persistente accanto al campo Messaggio. Per ulteriori informazioni sulla funzione, vedere https://developers.facebook.com/docs/messenger-platform/send-messages/persistent-menu/.
Ecco un esempio che mostra le voci di menu persistenti per "Order Pizza" e "Order Pasta":
Crea una voce di menu persistente
Per aggiungere voci di menu persistenti di Facebook per un assistente digitale o uno skill autonomo, effettuare le operazioni riportate di seguito.
- Assicurarsi di disporre di tutti i prerequisiti, incluso un pulsante per iniziare.
Questi prerequisiti sono elencati qui: https://developers.facebook.com/docs/messenger-platform/send-messages/persistent-menu/#requirements
- Aggiungere un'azione per ogni voce di menu nell'array
call_to_actionsdel menu persistente di Facebook, come descritto in genere in https://developers.facebook.com/docs/messenger-platform/send-messages/persistent-menu/#set_menu. - Impostare le voci di menu persistenti con una chiamata POST nell'API della piattaforma Messenger.
L'URI della richiesta è
https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>, dove<PAGE_ACCESS_TOKEN>è il token di accesso alla pagina per l'applicazione Facebook.
Voci di menu persistenti per un assistente digitale
Di seguito è riportato il formato del POST nell'API della piattaforma di messaggistica per l'aggiunta di voci di menu persistenti di Facebook per un assistente digitale.
{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"menu item display name",
"type":"postback",
"payload":"{\"action\":\"system.textReceived\",\"variables\": {\"system.text\": \"utterance that contains the skill's invocation name\"}}"
}
]
}
]
}Per il payload, utilizzare un'azione system.textReceived che passa un'espressione da Facebook Messenger all'assistente digitale tramite una variabile system.text. Tale espressione dovrebbe contenere il nome di invocazione della competenza di destinazione (cioè essere un'invocazione esplicita) al fine di garantire un corretto instradamento.
Ecco un esempio di creazione di due voci di menu persistenti per la tua abilità in Facebook Messenger ("Order Pizza" e "Order Pasta"):
{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"Order Pizza",
"type":"postback",
"payload":"{\"action\":\"system.textReceived\",\"variables\": {\"system.text\": \"Order pizza from Pizza Joe \"}"
},
{
"title":"Order Pasta",
"type":"postback",
"payload":"{\"action\":\"system.textReceived\",\"variables\": {\"system.text\": \"Order pasta from Pizza Joe \"}"
}
]
}
]
}Voci di menu persistenti per una competenza autonoma
Di seguito è riportato il formato POST nell'API della piattaforma di messaggistica per l'aggiunta di voci di menu persistenti di Facebook per uno skill standalone.
{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"menu item display name",
"type":"postback",
"payload":"{\"action\":\"action name\",\"variables\": {}"
}
]
}
]
}Il payload è il nome dell'evento mappato al flusso che si desidera attivare nel flusso della finestra di dialogo dello skill.
E poi faresti riferimento a quell'azione di aiuto nel menu persistente di Facebook.
{
"persistent_menu":[
{
"locale":"default",
"composer_input_disabled": false,
"call_to_actions":[
{
"title":"Help",
"type":"postback",
"payload":"{\"action\":\"help\",\"variables\": {}"
}
]
}
]
}Funzioni supportate
I canali di Facebook Messenger in Digital Assistant supportano le seguenti funzionalità:
- testo (sia di invio che di ricezione)
- immagini (sia di invio che di ricezione)
- file (sia di invio che di ricezione)
- emoji (sia di invio che di ricezione)
- posizione, ma non più valida (sia di invio che di ricezione)
- collegamenti
- postback
- richieste di posizione
- proprietà personalizzate
- componenti carosello
- elencare i componenti
Se si intende indirizzare la propria abilità a più canali con diverse funzionalità di formattazione e sintassi, è possibile utilizzare il markup HTML di base nei messaggi. In tal caso, tale markup verrà automaticamente convertito nel formato di markdown di Facebook Messenger quando il messaggio viene trasmesso al canale. Questo è particolarmente utile se stai indirizzando le tue abilità ad altri canali oltre a Facebook Messenger. Vedere Formattazione di testo ricco nei canali.
Vincoli messaggio
I canali di Facebook Messenger in Digital Assistant hanno i seguenti vincoli di messaggio:
- Messaggi di testo
- Lunghezza massima del messaggio di testo: 640 caratteri. Se la lunghezza supera 640, il testo viene diviso su più messaggi.
- Lunghezza massima dell'etichetta di azione testo: 20 caratteri
- Tipi di azioni di testo consentiti: Postback, Call, URL
- Numero massimo di azioni di testo: 3. Se ci sono più azioni di testo, il messaggio viene convertito in più schede orizzontali, con lo stesso testo utilizzato come titolo su ogni scheda e ogni scheda contenente fino a 3 azioni.
- Schede orizzontali
- Lunghezza massima del titolo: 80 caratteri
- Lunghezza massima della descrizione: 80 caratteri
- Lunghezza massima dell'etichetta di azione della scheda: 20 caratteri
- Numero massimo di carte: 10
- Numero massimo di azioni carta: 3. Se il numero di azioni della scheda supera 3, la scheda viene duplicata per eseguire il rendering delle azioni della scheda rimanenti.
- Numero minimo di azioni carta: 0
- Numero massimo di azioni elenco carte: 0
- È richiesta almeno una descrizione, un'immagine o un'azione?: Sì
- Tipi di azioni della carta consentite: Postback, Call, URL, Condividi
- Tipi di azioni elenco carte consentite: N/D
- Schede verticali
- Non supportata
- Messaggi allegato
- Supportato?: Sì
- Azioni allegato consentite?: No
- Pulsanti di azione
- Lunghezza massima dell'etichetta di azione globale: 20 caratteri
- Numero massimo di azioni globali: 11
- Tipi di azioni globali consentiti: Postback
Estensioni canale Facebook Messenger
Per i canali di Facebook Messenger, è possibile estendere la funzionalità dei componenti di Common Response con funzionalità specifiche di Facebook.
Per accedere alle estensioni, utilizzare l'elemento channelCustomProperties nei metadati del componente Risposta comune e impostare le proprietà appropriate. Il codice ha il formato seguente:
...
channelCustomProperties:
- channel: "facebook"
properties:
PROPERTY_NAME: "PROPERTY_VALUE"
...Di seguito sono riportate le proprietà personalizzate disponibili per i canali di Facebook Messenger:
| Nome proprietà | Valori ammessi | Si applica a... | descrizione; |
|---|---|---|---|
top_element_style |
|
Elementi di risposta con i seguenti attributi:
|
Determina la modalità di visualizzazione dell'immagine della prima scheda. Per ulteriori informazioni, vedere https://developers.facebook.com/docs/messenger-platform/send-messages/template/list/#cover_image.
Se non viene specificato, Oracle Digital Assistant imposta per impostazione predefinita questa proprietà su |
image_aspect_ratio |
|
Elementi di risposta con i seguenti attributi:
|
Le proporzioni utilizzate per eseguire il rendering delle immagini. L'impostazione predefinita è horizontal (1.91:1). square imposta le proporzioni su 1:1 . Vedere https://developers.facebook.com/docs/messenger-platform/reference/template/generic#attachment |
sharable |
|
Elementi di risposta di tipo cards.
|
Impostare su true per abilitare il pulsante di condivisione nativa in Messenger per il messaggio del modello. L'impostazione predefinita è false. Vedere https://developers.facebook.com/docs/messenger-platform/reference/template/generic#attachment |
webview_height_ratio |
|
Uno degli elementi riportati di seguito.
|
Altezza della vista Web aperta quando si tocca il pulsante URL o si tocca l'altezza della scheda con la proprietà URL specificata. Vedere https://developers.facebook.com/docs/messenger-platform/reference/buttons/url#properties |
messenger_extensions |
|
Uno degli elementi riportati di seguito.
|
Messenger Extensions ti offre la possibilità di integrare strettamente le esperienze nella webview con l'esperienza di Messenger rendendo accessibili funzionalità aggiuntive nella webview. Vedere https://developers.facebook.com/docs/messenger-platform/reference/messenger-extensions-sdk |
fallback_url |
Un URL valido | Uno degli elementi riportati di seguito.
|
L'URL da utilizzare sui client che non supportano le estensioni Messenger. Se non viene definito, come fallback verrà utilizzato il valore url. Può essere specificato solo se messenger_extensions è true. Vedere https://developers.facebook.com/docs/messenger-platform/reference/buttons/url#properties |
webview_share_button |
|
Uno degli elementi riportati di seguito.
|
Impostare su hide per disabilitare il pulsante di condivisione nella webview (per informazioni riservate). Questa azione non ha effetto sulle condivisioni avviate dallo sviluppatore che utilizza le estensioni.
|
share_contents |
Segue il formato utilizzato nell'API di invio di Facebook Messenger |
|
Il messaggio che si desidera venga visualizzato dal destinatario della condivisione, se è diverso da quello a cui è allegato questo pulsante. Vedere https://developers.facebook.com/docs/messenger-platform/reference/buttons/share#properties |
Di seguito è riportato un esempio di proprietà personalizzate definite a livello di elemento di risposta (top_element_style) e a livello di schede (webview_height_ratio e fallback_url):
responseItems:
- type: "cards"
cardLayout: "vertical"
cards:
- title: "${pizzas.name}"
description: "${pizzas.description}"
imageUrl: "${pizzas.image}"
url: "${pizzas.moreInfo}"
iteratorVariable: "pizzas"
channelCustomProperties:
- channel: "facebook"
properties:
webview_height_ratio: "compact"
fallback_url: "http://www.oracle.com"
channelCustomProperties:
- channel: "facebook"
properties:
top_element_style: "large"
...Per informazioni più generali su channelCustomProperties, vedere Estensioni specifiche del canale.
