Skip to main content
A Evolution API permite a criação e gerenciamento de bots utilizando a tecnologia OpenAI, permitindo interações automatizadas e personalizadas através de assistentes virtuais ou modelos de chat completions. A seguir, você encontrará instruções detalhadas sobre como configurar credenciais, criar bots, gerenciar sessões e definir configurações padrão, incluindo o uso de reconhecimento de fala (speech-to-text).

1. Criação de Credenciais do OpenAI

Antes de criar bots, é necessário configurar as credenciais da API do OpenAI. Isso é feito utilizando o endpoint /openai/creds/{{instance}}.

Endpoint para Criação de Credenciais

Endpoint

Corpo da Requisição

Aqui está um exemplo de como cadastrar uma nova credencial do OpenAI:

Explicação dos Parâmetros

  • name: Nome identificador da credencial.
  • apiKey: Chave da API fornecida pelo OpenAI.

2. Criação de Bots com OpenAI

Após configurar as credenciais, você pode criar vários bots que utilizam o sistema de triggers para iniciar as interações. Isso pode ser feito através do endpoint /openai/create/{{instance}}.

Endpoint para Criação de Bots

Endpoint

Corpo da Requisição

Aqui está um exemplo de como criar um bot utilizando OpenAI:

Explicação dos Parâmetros

  • enabled: Ativa (true) ou desativa (false) o bot.
  • openaiCredsId: ID da credencial cadastrada anteriormente.
  • botType: Tipo do bot (assistant ou chatCompletion).
    • Para Assistentes (assistant):
      • assistantId: ID do assistente OpenAI.
      • functionUrl: URL que será chamada caso o assistente necessite realizar uma ação.
    • Para Chat Completion (chatCompletion):
      • model: Modelo do OpenAI a ser utilizado (ex.: gpt-4).
      • systemMessages: Mensagens que configuram o comportamento do bot.
      • assistantMessages: Mensagens iniciais do bot.
      • userMessages: Mensagens de exemplo do usuário.
      • maxTokens: Número máximo de tokens utilizados na resposta.
  • Opções:
    • triggerType: Tipo de trigger para iniciar o bot (all ou keyword).
    • triggerOperator: Operador utilizado para avaliar o trigger (contains, equals, startsWith, endsWith, regex, none).
    • triggerValue: Valor utilizado no trigger (por exemplo, uma palavra-chave ou regex).
    • expire: Tempo em minutos após o qual o bot expira, reiniciando se a sessão expirou.
    • keywordFinish: Palavra-chave que encerra a sessão do bot.
    • delayMessage: Delay (em milissegundos) para simular a digitação antes de enviar uma mensagem.
    • unknownMessage: Mensagem enviada quando a entrada do usuário não é reconhecida.
    • listeningFromMe: Define se o bot deve escutar as mensagens enviadas pelo próprio usuário (true ou false).
    • stopBotFromMe: Define se o bot deve parar quando o próprio usuário envia uma mensagem (true ou false).
    • keepOpen: Mantém a sessão aberta, evitando que o bot seja reiniciado para o mesmo contato.
    • debounceTime: Tempo (em segundos) para juntar várias mensagens em uma só.
    • ignoreJids: Lista de JIDs de contatos que não ativarão o bot.

3. Gerenciamento de Sessões do OpenAI

Você pode gerenciar as sessões do bot, alterando o status entre aberta, pausada ou fechada para cada contato específico.

Endpoint para Gerenciamento de Sessões

Endpoint

Corpo da Requisição

Aqui está um exemplo de como gerenciar o status da sessão:

Explicação dos Parâmetros

  • remoteJid: JID (identificador) do contato no WhatsApp.
  • status: Status da sessão (opened, paused, closed).

4. Configurações Padrão do OpenAI

Você pode definir configurações padrão que serão aplicadas caso os parâmetros não sejam passados durante a criação do bot. Inclui também a opção de usar reconhecimento de fala (speech-to-text).

Endpoint para Configurações Padrão

Endpoint

Corpo da Requisição

Aqui está um exemplo de configuração padrão:

Explicação dos Parâmetros

  • openaiCredsId: ID da credencial do OpenAI a ser usada como padrão.
  • expire: Tempo em minutos após o qual o bot expira.
  • keywordFinish: Palavra-chave que encerra a sessão do bot.
  • delayMessage: Delay para simular a digitação antes de enviar uma mensagem.
  • unknownMessage: Mensagem enviada quando a entrada do usuário não é reconhecida.
  • listeningFromMe: Define se o bot deve escutar as mensagens enviadas pelo próprio usuário.
  • stopBotFromMe: Define se o bot deve parar quando o próprio usuário envia uma mensagem.
  • keepOpen: Mantém a sessão aberta, evitando que o bot seja reiniciado para o mesmo contato.
  • debounceTime: Tempo para juntar várias mensagens em uma só.
  • ignoreJids: Lista de JIDs de contatos que não ativarão o bot.
  • openaiIdFallback: ID do bot de fallback que será utilizado caso nenhum trigger seja ativado.
  • speechToText: Define se a funcionalidade de reconhecimento de fala (speech-to-text) deve ser ativada usando a credencial definida por padrão.

Webhook com speechToText

Quando o parâmetro speechToText está ativado, a Evolution API converte automaticamente os áudios recebidos em texto utilizando a credencial do OpenAI. A transcrição do áudio é então incluída no webhook enviado pela API.

Exemplo de Webhook com speechToText

Considerações Finais

A integração da Evolution API com o OpenAI oferece uma maneira poderosa de automatizar interações no WhatsApp, utilizando a inteligência artificial para fornecer respostas dinâmicas e personalizadas. Com as configurações corretas, você pode criar assistentes virtuais altamente eficientes, gerenciar sessões e definir configurações padrão, incluindo o uso de reconhecimento de fala para converter áudios em texto automaticamente.