Contenuti avanzati con Dialogflow Messenger

Questa guida spiega come inviare contenuti avanzati a Messenger Dialogflow.

Passaggio 1: crea uno strumento addRichContent nell'agente

Crea un strumento funzione chiamato addRichContent con i seguenti dati:

Input dello strumento:

properties: {}
type: object

Output dello strumento:

properties:
  status:
    type: string
  reason:
    type: string
type: object

Passaggio 2: spiega all'agente come utilizzare questo strumento

Spiega all'agente come utilizzare lo strumento nelle istruzioni e negli esempi.

Ad esempio, aggiungi qualcosa di simile alle istruzioni:

-  Greet  the  user
-  Ask  the  user  what  their  favorite  color  is.
   At  the  same  time  run  ${TOOL:  addRichContent}  to  display  buttons
   for  blue,  red,  yellow,  and  green.
-  Thank  the  user

Ad esempio, crea un esempio simile al seguente:

Screenshot di esempio

Tieni presente che la sintassi per i contenuti avanzati è la stessa che utilizzi se si restituisce un payload personalizzato in un agente virtuale basato sul flusso.

Passaggio 3: definisci il codice JavaScript

Nel codice della pagina che ospita df-messenger, devi creare codice JavaScript che definisce una funzione che indica a df-messenger di eseguire il rendering dei contenuti avanzati. Devi anche registrare questa funzione con df-messenger, in modo che sappia di eseguirla quando l'agente virtuale ne ha bisogno.

Assicurati che la variabile dfMessenger sia dichiarata e punta alla tua istanza di df-messenger.

Ecco un codice di esempio che puoi utilizzare a questo scopo:

const dfMessenger = document.querySelector('df-messenger');

function  addRichContent(customPayload)  {
  dfMessenger.renderCustomCard(customPayload.richContent);

  // add error handling

  return  Promise.resolve({  status:  "OK",  reason:  null  });
}

// substitute your own tool id

const  toolId  =  'projects/PROJECT_ID/locations/LOCATION/agents/AGENT_ID/tools/TOOL_ID'
dfMessenger.registerClientSideFunction(toolId,  addRichContent.name,  addRichContent);