Blog

Usando a API de Diálogos com o DialogFlow do Google

A configuração da comunicação com o DialogFlow pode ser feita de 3 diferentes formas, a mais simples e direta é utilizando o arquivo JSON fornecidos pelo Google.

Inicializando via Service Account (JSON)

  • Diálogo – Inicializar
    Passar como parâmetro no mapa:
    • service_account_json (Letras) – Caminho completo do arquivo JSON, ou conteúdo completo do arquivo JSON de configuração do acesso à conta;
    • expire_at (Data) – Data e hora limite de validade do token, opcional;
    • access_token (Letras) – Token de acesso se tiver em branco será gerado um novo.

Inicializando via Service Account (Parâmetros)

  • Diálogo – Inicializar
    • project (Letras)
    • client_id (Letras)
    • private_key (Letras);
    • client_email (Letras);
    • expire_at (Data) – Data e hora limite de validade do token, opcional;
    • access_token (Letras) – Token de acesso se tiver em branco será gerado um novo.

Inicializando via Open Auth (e-mail)

  • Diálogo – Inicializar
    Passar como parâmetro no mapa:
    • project (Letras)
    • client_id (Letras)
    • client_secret (Letras)
    • redirect_uri (Letras) – Caminho completo do fluxo web que irá tratar o retorno.
    • refresh_token (Letras) – Opcional se ainda não estiver autenticado.
    • expire_at (Data) – Data e hora limite de validade do token;
    • access_token (Letras) – Token de acesso se tiver em branco será gerado um novo
  • Obter a URL de autenticação passando o cliente previamente inicializado.
  • Redirecionar o usuário para o endereço apontado para concluir a autorização via conta do Google.

Recebendo requisições do DialogFlow (Fullfilment)

Após concluir o processo de autenticação e autorização você pode enviar requisições ao DialogFlow, se ele estiver configurado para envio de consultas via Fullfilment (webhook) você deve criar um Fluxo Web no Maker para receber essas requisições e retornar as respostas esperadas.

O uso desse recurso requer que algumas exigências sejam atendidas:

  • A comunicação deve ser realizada via HTTPS (HTTP Seguro);
  • O fluxo não pode demorar mais que 3 a 5 segundos para responder;
  • A resposta deve seguir o padrão esperado pelo DialogFlow.

O fluxo WEB receberá o JSON da requisição no corpo da requisição, assim, ele não será declarado como parâmetro de entrada.

Para obter o JSON da requisição utilize a função “Obter CORPO (Body) da Requisição“, ela retornará o JSON completo enviado pelo DialogFlow.

Leave a comment