Skip to main content
La Evolution API permite la creación y gestión de bots utilizando la tecnología OpenAI, permitiendo interacciones automatizadas y personalizadas a través de asistentes virtuales o modelos de chat completions. A continuación, encontrará instrucciones detalladas sobre cómo configurar credenciales, crear bots, gestionar sesiones y definir configuraciones predeterminadas, incluyendo el uso de reconocimiento de voz (speech-to-text).

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 (assistant o chatCompletion).
    • 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.
  • Opciones:
    • triggerType: Tipo de trigger para iniciar el bot (all o keyword).
    • 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 (true o false).
    • stopBotFromMe: Define si el bot debe detenerse cuando el propio usuario envía un mensaje (true o false).
    • 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.

Ejemplo de Webhook con speechToText

Consideraciones Finales

La integración de la Evolution API con OpenAI ofrece una manera poderosa de automatizar interacciones en WhatsApp, utilizando la inteligencia artificial para proporcionar respuestas dinámicas y personalizadas. Con las configuraciones correctas, puede crear asistentes virtuales altamente eficientes, gestionar sesiones y definir configuraciones predeterminadas, incluyendo el uso de reconocimiento de voz para convertir audios en texto automáticamente.