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 (assistantouchatCompletion).- 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.
- Para Assistentes (
- Opções:
triggerType: Tipo de trigger para iniciar o bot (alloukeyword).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 (trueoufalse).stopBotFromMe: Define se o bot deve parar quando o próprio usuário envia uma mensagem (trueoufalse).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.

