1. Creación de Credenciales de OpenAI
Antes de crear bots, es necesario configurar las credenciales de la API de OpenAI. Esto se realiza utilizando el endpoint/openai/creds/{{instance}}.
Endpoint para Creación de Credenciales
Endpoint
Cuerpo de la Solicitud
Aquí hay un ejemplo de cómo registrar una nueva credencial de OpenAI:Explicación de los Parámetros
name: Nombre identificador de la credencial.apiKey: Clave de la API proporcionada por OpenAI.
2. Creación de Bots con OpenAI
Después de configurar las credenciales, puede crear varios bots que utilizan el sistema de triggers para iniciar las interacciones. Esto puede hacerse a través del endpoint/openai/create/{{instance}}.
Endpoint para Creación de Bots
Endpoint
Cuerpo de la Solicitud
Aquí hay un ejemplo de cómo crear un bot utilizando OpenAI:Explicación de los Parámetros
enabled: Activa (true) o desactiva (false) el bot.openaiCredsId: ID de la credencial registrada anteriormente.botType: Tipo del bot (assistantochatCompletion).- Para Asistentes (
assistant):assistantId: ID del asistente OpenAI.functionUrl: URL que será llamada en caso de que el asistente necesite realizar una acción.
- Para Chat Completion (
chatCompletion):model: Modelo de OpenAI a utilizar (ej.:gpt-4).systemMessages: Mensajes que configuran el comportamiento del bot.assistantMessages: Mensajes iniciales del bot.userMessages: Mensajes de ejemplo del usuario.maxTokens: Número máximo de tokens utilizados en la respuesta.
- Para Asistentes (
- Opciones:
triggerType: Tipo de trigger para iniciar el bot (allokeyword).triggerOperator: Operador utilizado para evaluar el trigger (contains,equals,startsWith,endsWith,regex,none).triggerValue: Valor utilizado en el trigger (por ejemplo, una palabra clave o regex).expire: Tiempo en minutos después del cual el bot expira, reiniciándose si la sesión expiró.keywordFinish: Palabra clave que finaliza la sesión del bot.delayMessage: Retraso (en milisegundos) para simular la escritura antes de enviar un mensaje.unknownMessage: Mensaje enviado cuando la entrada del usuario no es reconocida.listeningFromMe: Define si el bot debe escuchar los mensajes enviados por el propio usuario (trueofalse).stopBotFromMe: Define si el bot debe detenerse cuando el propio usuario envía un mensaje (trueofalse).keepOpen: Mantiene la sesión abierta, evitando que el bot sea reiniciado para el mismo contacto.debounceTime: Tiempo (en segundos) para juntar varios mensajes en uno solo.ignoreJids: Lista de JIDs de contactos que no activarán el bot.
3. Gestión de Sesiones de OpenAI
Puede gestionar las sesiones del bot, cambiando el estado entre abierta, pausada o cerrada para cada contacto específico.Endpoint para Gestión de Sesiones
Endpoint
Cuerpo de la Solicitud
Aquí hay un ejemplo de cómo gestionar el estado de la sesión:Explicación de los Parámetros
remoteJid: JID (identificador) del contacto en WhatsApp.status: Estado de la sesión (opened,paused,closed).
4. Configuraciones Predeterminadas de OpenAI
Puede definir configuraciones predeterminadas que se aplicarán en caso de que los parámetros no sean proporcionados durante la creación del bot. Incluye también la opción de usar reconocimiento de voz (speech-to-text).Endpoint para Configuraciones Predeterminadas
Endpoint
Cuerpo de la Solicitud
Aquí hay un ejemplo de configuración predeterminada:Explicación de los Parámetros
openaiCredsId: ID de la credencial de OpenAI a usar como predeterminada.expire: Tiempo en minutos después del cual el bot expira.keywordFinish: Palabra clave que finaliza la sesión del bot.delayMessage: Retraso para simular la escritura antes de enviar un mensaje.unknownMessage: Mensaje enviado cuando la entrada del usuario no es reconocida.listeningFromMe: Define si el bot debe escuchar los mensajes enviados por el propio usuario.stopBotFromMe: Define si el bot debe detenerse cuando el propio usuario envía un mensaje.keepOpen: Mantiene la sesión abierta, evitando que el bot sea reiniciado para el mismo contacto.debounceTime: Tiempo para juntar varios mensajes en uno solo.ignoreJids: Lista de JIDs de contactos que no activarán el bot.openaiIdFallback: ID del bot de respaldo que se utilizará en caso de que ningún trigger sea activado.speechToText: Define si la funcionalidad de reconocimiento de voz (speech-to-text) debe activarse usando la credencial definida por defecto.
Webhook con speechToText
Cuando el parámetro speechToText está activado, la Evolution API convierte automáticamente los audios recibidos en texto utilizando la credencial de OpenAI. La transcripción del audio se incluye entonces en el webhook enviado por la API.