Définir des actions (Dialogflow)

Les actions sont des points d'entrée dans votre application qui définissent l'appel et la découverte pour votre application. Vous déclarez les actions dans un fichier JSON appelé package d'actions. que vous importez ensuite dans votre projet de développement lorsque vous souhaitez tester ou soumettre votre projet Actions pour approbation. Un package d'action est un fichier JSON définit les actions de votre projet Actions.

Pour définir des actions dans votre package d'actions, vous devez créer un intent qui définit la manière l'action est appelée et le point de terminaison de traitement correspondant lorsque l'intent est déclenché. Vous pouvez créer les types d'actions suivants:

  • Action par défaut:chaque projet Actions doit comporter un intent d'accueil qui agit comme point d'entrée pour que les utilisateurs démarrent des conversations. L'intent d'accueil est déclenché lorsque les utilisateurs appellent explicitement une action en prononçant son nom (par (par exemple, "Hey Google, parle à ExampleAction"). Cet intent d'accueil est identifié par le nom de l'intent actions.intent.MAIN.
  • Actions supplémentaires pour les liens profonds:vous pouvez créer des actions supplémentaires dans votre package Action avec des intents que vous définissez vous-même. Cela permet aux utilisateurs d'appeler une fonctionnalité spécifique en prononçant le nom d'une action (par exemple: "Hey Google, parle à ExampleAction pour trouver des chaussures").

Consultez la section Intents et appels pour découvrir comment ces modèles d'appel fonctionnent.

Définir une action par défaut

Chaque package d'action doit comporter un seul intent qui gère le Intent actions.intent.MAIN. Cet intent est déclenché lorsque les utilisateurs appellent votre par nom d'action (par exemple, "Hey Google, parle à ExampleAction").

Pour générer un fichier de package d'action récurrent nommé action.json, utilisez la méthode procédez comme suit:

  1. Téléchargez la CLI gactions.
  2. Créez un répertoire local pour les fichiers sources de votre projet d'action.
  3. Exécutez les commandes suivantes dans le terminal:

    $ cd PROJECT_DIRECTORY
    $ gactions init

Une fois le fichier du package d'action généré, remplacez le contenu de l'espace réservé par votre valeurs. Voici un exemple de action.json avec des modifications pour 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"
}

Définir des actions supplémentaires

Vous pouvez fournir des actions supplémentaires qui font office de points d'entrée. Cela permet aux utilisateurs de clarifier leur intention en leur permettant de spécifier plus de détails sur ce qu'ils à faire (par exemple, "Hey Google, parle à ExampleAction pour trouver de chaussures).

Pour définir des actions supplémentaires:

  1. Dans le tableau actions, spécifiez une action pour chaque point d'entrée.

    Par exemple, le code suivant affiche une autre expression "buy" Action définissant: <ph type="x-smartling-placeholder">
      </ph>
    • Un nom d'intent com.example.ExampleAction.BUY
    • parameters pour analyser l'entrée utilisateur lorsque cet intent est déclenché. Cela peut s'avérer utile si vous avez besoin de données spécifiques de la phrase d'action les utilisateurs appellent l'action.
    • queryPatterns qui définissent ce que les utilisateurs doivent dire pour déclencher l'intent. Les formats de requête peuvent inclure des types schema.org. qui définissent les paramètres à analyser.
    {
      "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. Spécifiez le traitement de cet intent en spécifiant un conversationName. correspondant à un élément de l'objet conversations.

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

Voici un exemple de package Action complet:

{
  "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"
}