Definisci azioni (Dialogflow)

Le azioni sono punti di ingresso nella tua app che definiscono la chiamata e il rilevamento per la tua app. Dichiari le azioni in un file JSON noto come pacchetto di azioni. che caricherai in un secondo momento nel tuo progetto sviluppatore quando vuoi testare invia il tuo progetto Actions per l'approvazione. Un pacchetto Action è un file JSON che definisce le azioni nel progetto Actions.

Per definire le azioni nel pacchetto Azioni, devi creare un intent che definisca come viene richiamata l'Azione e l'endpoint di evasione corrispondente quando viene attivato l'intent. Puoi creare i seguenti tipi di azioni:

  • Azione predefinita: ogni progetto Actions deve avere un intent di benvenuto che agisca come punto di accesso per consentire agli utenti di avviare conversazioni. L'intento di benvenuto è si attiva quando gli utenti richiamano esplicitamente un'azione pronunciando il nome (ad ad esempio "Hey Google, parla con ExampleAction"). Questo intento di benvenuto viene identificato il nome dell'intent actions.intent.MAIN.
  • Azioni aggiuntive per i link diretti: puoi creare azioni aggiuntive in il tuo pacchetto Action con intent che definisci personalmente. Questo consente agli utenti per richiamare una funzionalità specifica pronunciando il nome di un'azione insieme a un intent Ad esempio: "Hey Google, parla con ExampleAction per trovare un paio di scarpe").

Per ulteriori informazioni su come, consulta la sezione Intent e chiamate funzionano questi modelli di chiamata.

Definisci un'azione predefinita

Ogni pacchetto di azioni deve avere un solo intent che gestisca i Intenzione actions.intent.MAIN. Questo intent viene attivato quando gli utenti richiamano il tuo Azione in base al nome (ad esempio "Hey Google, parla con ExampleAction").

Per generare un file del pacchetto di azioni boilerplate denominato action.json, utilizza la seguenti passaggi:

  1. Scarica l'interfaccia a riga di comando di gactions.
  2. Crea una directory locale per i file di origine del progetto di azione.
  3. Esegui questi comandi nel terminale:

    $ cd PROJECT_DIRECTORY
    $ gactions init

Una volta generato il file del pacchetto azioni, sostituisci il contenuto del segnaposto con il e i relativi valori. Ecco un esempio di action.json con modifiche per ExampleAction:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}

Definisci azioni aggiuntive

Puoi fornire Azioni aggiuntive che fungano da punti di ingresso. Questo consente agli utenti possono chiarire le intenzioni degli utenti consentendo loro di specificare più dettagli vuoi fare (ad esempio, "Hey Google, parla con ExampleAction per trovarmi scarpe".).

Per definire le Azioni aggiuntive:

  1. Nell'array actions, specifica un'azione per ogni punto di ingresso.

    Ad esempio, il seguente codice mostra un'ulteriore "acquisto" Azione che definisce:
    • Un nome intent di com.example.ExampleAction.BUY
    • parameters per analizzare l'input dell'utente quando viene attivato questo intent. Questo è utile se hai bisogno di dati specifici della frase Azione quando gli utenti richiamano l'azione.
    • queryPatterns che definiscono ciò che gli utenti devono dire per attivare l'intento. I pattern di query possono includere tipi di schema.org che definiscono i parametri da analizzare.
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [
          {
            "name": "color",
            "type": "org.schema.type.Color"
          }
        ],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      }
    }
          
  2. Specifica il completamento per questo intent specificando un conversationName che corrisponde a un elemento nell'oggetto conversations.

    {
      "conversations": {
        "ExampleAction": {
          "name": "ExampleAction",
          "url": "https://www.example.com/ExampleAction"
        }
      }
    }
        

Di seguito è riportato un esempio di pacchetto di azioni completo:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    },
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [
          {
            "name": "color",
            "type": "org.schema.type.Color"
          }
        ],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}