Visão geral do SDK do Actions (Dialogflow)

O Actions on Google permite ampliar a funcionalidade do Google Assistente com o Actions. As ações permitem que os usuários realizem tarefas por meio de uma interface de conversa que pode variar de um comando rápido para acender algumas luzes ou uma conversa mais longa, como jogar um jogo de perguntas e respostas.

O SDK do Actions é um método para desenvolver o fulfillment de conversas sem usar o Dialogflow. Ao usar o SDK do Actions, você usa um pacote de ação para mapear intents para o fulfillment. Você também precisa fornecer padrões de consulta no pacote de ações para definir frases de exemplo que seus usuários podem dizer.

CLI do gactions

Ao desenvolver com o SDK do Actions, use a interface de linha de comando (CLI) gactions para testar e atualizar o projeto do Actions. A CLI gactions também ajuda a criar e gerenciar o pacote de ações para a ação de conversa.

Criar ações no pacote de ações

Você cria ações no pacote de ações mapeando intents para fulfillment. Uma ação define um ponto de entrada para iniciar conversas com um identificador exclusivo chamado de intent. As intents são mapeadas para fulfillments, que a processam.

Por exemplo, digamos que você queira criar um projeto com ações para comprar alguns produtos, verificar o status de pedidos e mostrar transações diárias. Para definir intents que são acionados, basta dizer:

  • "Ok Google, falar com a ExampleAction."
  • "Ok Google, falar com a ExampleAction para comprar sapatos."
  • "Ok Google, falar com a ExampleAction para verificar meu pedido."
  • "Ok Google, falar com a ExampleAction para me mostrar as ofertas de hoje."

O arquivo JSON do pacote de ações pode ter esta aparência:

{
  "actions": [
    {
      "name": "MAIN",
      "intent": {
        "name": "actions.intent.MAIN"
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "BUY",
      "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"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "ORDER_STATUS",
      "intent": {
        "name": "com.example.ExampleAction.ORDER_STATUS",
        "trigger": {
          "queryPatterns": [
            "check on my order",
            "see order updates",
            "check where my order is"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    },
    {
      "name": "DAILY_DEALS",
      "intent": {
        "name": "com.example.ExampleAction.DAILY_DEALS",
        "trigger": {
          "queryPatterns": [
            "hear about daily deals",
            "buying some daily deals",
            "get today's deals"
          ]
        }
      },
      "fulfillment": {
        "conversationName": "ExampleAction"
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  }
}

Criar e implantar um webhook de fulfillment

Quando uma ação no seu projeto é invocada, o Actions on Google chama seu fulfillment para iniciar uma conversa com os usuários para realizar a ação.

Em todas as solicitações para o webhook de fulfillment, você recebe a entrada do usuário como uma string de texto. Para processar o intent, você normalmente analisa a entrada de texto e retorna uma resposta. Essa troca ocorre até que a conversa da sua ação seja finalizada.

Fazer upload do pacote de ações

Depois de criar o pacote do Action e implantar o fulfillment, é possível fazer upload dele para o Console do Actions. O Console do Actions usa os projetos do Action para agrupar sua ação de conversa com metadados, como o status de revisão e o nome de exibição no diretório do Assistente. O projeto também permite definir metadados sobre a ação, além de gerenciar e acompanhar a ação por meio do processo de aprovação.

Depois de criar um projeto, você pode fazer upload do pacote de ações que define todas as ações usando a CLI gactions.

Enviar seu projeto para aprovação e disponibilizá-lo aos usuários

Amostras

Para explorar projetos concluídos, consulte as amostras do SDK do Actions para Node.js e Java.