Interações da API

Se você não estiver usando uma das opções de integração, escreva um código que interaja diretamente com o usuário final. Você também precisa interagir diretamente com a API do Dialogflow em cada turno da conversa para enviar expressões do usuário final e receber correspondências de intent. O diagrama a seguir mostra o fluxo de processamento ao interagir com a API.

Diagrama mostrando o fluxo da API
  1. O usuário final digita ou fala uma expressão.
  2. O serviço envia essa expressão de usuário final para o Dialogflow em uma mensagem de solicitação de intent de detecção.
  3. O Dialogflow, por sua vez, envia uma mensagem de resposta com intent de detecção ao seu serviço. Essa mensagem contém informações sobre a intent correspondida, a ação, os parâmetros e a resposta definida para a intent.
  4. O serviço toma as medidas necessárias, como consultas de banco de dados ou chamadas de API externas.
  5. O serviço envia uma resposta para o usuário final.
  6. O usuário final vê ou ouve a resposta.

Configuração e autenticação do projeto

Antes de chamar a API, você precisa configurar um projeto e uma autenticação do GCP. É possível seguir as etapas no Guia de início rápido de configuração.

Construção de agentes

Na maioria dos casos, é necessário usar o console do Dialogflow ES (acesse a documentação, abra o console) para criar agentes. Siga as etapas na página de início rápido do Console para criar um agente. Também é possível usar a API do Dialogflow para criar agentes para cenários avançados. Muitas páginas de conceito se concentram no uso do console para criar agentes, mas também fornecem links para tipos de API relevantes.

REST, gRPC e bibliotecas de cliente

Acesse a API do Dialogflow via REST, gRPC ou uma das bibliotecas de cliente fornecidas. Para saber mais sobre essas opções, consulte a visão geral do uso da API.

Sessões

Uma sessão representa uma conversa entre um agente do Dialogflow e um usuário final. Você cria uma sessão no início de uma conversa e a usa a cada fala. Depois que a conversa terminar, você deixará de usar a sessão.

Não use a mesma sessão para conversas simultâneas com diferentes usuários finais. No momento, o Dialogflow mantém os contextos ativos para cada sessão ativa. Ele armazena os dados da sessão por 20 minutos.

Cada sessão é determinada de forma exclusiva por um ID de sessão gerado pelo sistema. Crie uma nova sessão fornecendo um novo ID de sessão em uma solicitação de detecção de intent. Um ID de sessão é uma string de no máximo 36 bytes. Seu sistema é responsável por gerar IDs de sessão exclusivos. Eles podem ser números aleatórios, identificadores de usuário final com hash ou qualquer outro valor conveniente para a geração.

Detectar intent

Quando você usa a API para interações, seu serviço interage diretamente com o usuário final. Para cada fala na conversa, o serviço envia expressões de usuário final para o Dialogflow chamando o método detectIntent ou streamingDetectIntent do tipo Sessions. O Dialogflow responde com informações sobre a intent correspondente, a ação, os parâmetros e a resposta definida para a intent. Seu serviço executa ações conforme necessário (por exemplo, consultas de banco de dados ou chamadas de API externas) e envia uma mensagem para o usuário final. Esse processo continua até que a conversa termine.

Veja exemplos de como chamar a intent de detecção no guia de início rápido da API e nas páginas de instruções.