Interações da API

Se não estiver a usar uma das opções de integração, tem de escrever código que interaja diretamente com o utilizador final. Também tem de interagir diretamente com a API do Dialogflow para cada interação de conversa a fim de enviar expressões do utilizador final e receber correspondências de intenções. O diagrama seguinte mostra o fluxo de processamento quando interage com a API.

Diagrama que mostra o fluxo da API
  1. O utilizador final escreve ou diz uma expressão.
  2. O seu serviço envia esta expressão do utilizador final para o Dialogflow numa mensagem de pedido de deteção de intenção.
  3. O Dialogflow envia uma mensagem de resposta de intenção de deteção para o seu serviço. Esta mensagem contém informações sobre a intenção correspondente, a ação, os parâmetros e a resposta definida para a intenção.
  4. O seu serviço realiza ações conforme necessário, como consultas de bases de dados ou chamadas de API externas.
  5. O seu serviço envia uma resposta ao utilizador final.
  6. O utilizador final vê ou ouve a resposta.

Configuração e autenticação do projeto

Antes de chamar a API, tem de configurar um projeto da GCP e a autenticação. Pode seguir os passos no Início rápido da configuração.

Construção de agentes

Na maioria dos casos, deve usar a consola do Dialogflow ES (visite a documentação, abra a consola) para criar agentes. Pode seguir os passos na página de início rápido da consola para criar um agente. Também pode usar a API Dialogflow para criar agentes para cenários avançados. Muitas páginas de conceitos focam-se na utilização da consola para criar agentes, mas também fornecem links para tipos de API relevantes.

REST, gRPC e bibliotecas de clientes

Pode aceder à API Dialogflow através de REST, gRPC ou uma das bibliotecas cliente fornecidas. Para ver os detalhes destas opções, consulte a vista geral da utilização da API.

Sessões

Uma sessão representa uma conversa entre um agente do Dialogflow e um utilizador final. Cria uma sessão no início de uma conversa e usa-a para cada interação da conversa. Quando a conversa terminar, deixa de usar a sessão.

Não deve usar a mesma sessão para conversas simultâneas com diferentes utilizadores finais. O Dialogflow mantém os contextos atualmente ativos para cada sessão ativa. Os dados da sessão são armazenados pelo Dialogflow durante 20 minutos.

Cada sessão é determinada como única por um ID da sessão gerado pelo seu sistema. Cria uma nova sessão fornecendo um novo ID da sessão num pedido de deteção de intenção. Um ID da sessão é uma string com um tamanho máximo de 36 bytes. O seu sistema é responsável por gerar IDs de sessão exclusivos. Podem ser números aleatórios, identificadores do utilizador final com hash ou quaisquer outros valores que seja conveniente gerar.

Detetar intenção

Quando usa a API para interações, o seu serviço interage diretamente com o utilizador final. Para cada interação de conversa, o seu serviço envia expressões do utilizador final para o Dialogflow chamando o método detectIntent ou streamingDetectIntent do tipo Sessions. O Dialogflow responde com informações sobre a intenção correspondente, a ação, os parâmetros e a resposta definidos para a intenção. O seu serviço realiza as ações necessárias (por exemplo, consultas de base de dados ou chamadas de API externas) e envia uma mensagem ao utilizador final. Este processo continua até a conversa terminar.

Pode encontrar exemplos de chamadas para a intenção de deteção na página do guia de início rápido da API e nas páginas de instruções.