Skip to main content

Control de IA por Conversación

Controla el comportamiento de la IA a nivel de conversación individual. Útil cuando un agente humano toma el control o cuando quieres que la IA no responda a ciertos clientes.

Activar/Desactivar

Control permanente de IA

Pausar Temporalmente

Pausa por X minutos

Activar o Desactivar IA

Controla permanentemente si la IA puede responder en esta conversación.
PATCH https://api.whaapy.com/conversations/v1/{id}/ai

Parámetros

id
string
required
UUID de la conversación
aiEnabled
boolean
required
true para activar, false para desactivar
curl -X PATCH "https://api.whaapy.com/conversations/v1/uuid/ai" \
  -H "Authorization: Bearer wha_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "aiEnabled": false }'
{
  "message": "Configuración actualizada",
  "settings": {
    "aiEnabled": false,
    "aiMode": "auto",
    "aiPausedUntil": null
  }
}

Pausar IA Temporalmente

Pausa la IA por un tiempo determinado. Útil cuando un agente humano está atendiendo pero quieres que la IA retome automáticamente después.
POST https://api.whaapy.com/conversations/v1/{id}/ai/pause

Parámetros

id
string
required
UUID de la conversación
duration
number
default:"5"
Minutos de pausa (1-1440, máximo 24 horas)
curl -X POST "https://api.whaapy.com/conversations/v1/uuid/ai/pause" \
  -H "Authorization: Bearer wha_xxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "duration": 30 }'
{
  "success": true,
  "pausedUntil": "2026-01-29T11:00:00Z",
  "message": "IA pausada por 30 minutos"
}
Usa la pausa temporal cuando un agente humano está atendiendo pero quieres que la IA retome automáticamente después. Si quieres deshabilitar la IA permanentemente, usa el endpoint PATCH /ai con aiEnabled: false.

Prioridad de control

La IA responde a un mensaje solo si TODOS estos niveles están activos:

Niveles de control

NivelEndpointPrioridad
Global (todo el negocio)POST /agent/toggleMás alta
Pausa globalPOST /agent/pauseAlta
Por conversaciónPATCH /conversations/v1/:id/aiMedia
Pausa por conversaciónPOST /conversations/v1/:id/ai/pauseBaja
Si la IA está desactivada globalmente (POST /agent/toggle), no responderá aunque esté activada a nivel de conversación.

Casos de uso

Cuando un agente humano comienza a atender, pausa la IA:
// Webhook: agente asignado a conversación
async function onAgentAssigned(conversationId) {
  await fetch(
    `https://api.whaapy.com/conversations/v1/${conversationId}/ai/pause`,
    {
      method: 'POST',
      headers: {
        'Authorization': 'Bearer wha_xxxxx',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ duration: 60 }) // 1 hora
    }
  );
}
Algunos clientes prefieren atención humana exclusiva:
async function disableAIForVIP(conversationId) {
  await fetch(
    `https://api.whaapy.com/conversations/v1/${conversationId}/ai`,
    {
      method: 'PATCH',
      headers: {
        'Authorization': 'Bearer wha_xxxxx',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ aiEnabled: false })
    }
  );
}
Cuando el agente termina, reactiva la IA:
async function onTicketResolved(conversationId) {
  await fetch(
    `https://api.whaapy.com/conversations/v1/${conversationId}/ai`,
    {
      method: 'PATCH',
      headers: {
        'Authorization': 'Bearer wha_xxxxx',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({ aiEnabled: true })
    }
  );
}

Control global vs por conversación

CaracterísticaGlobalPor conversación
Afecta aTodas las conversacionesSolo una conversación
EndpointPOST /agent/togglePATCH /conversations/v1/:id/ai
Caso de usoMantenimiento, emergenciasClientes específicos, handoff
Pausa temporalPOST /agent/pausePOST /conversations/v1/:id/ai/pause
Para control global de la IA, consulta la documentación de Control de Agente IA.