Actualizar Agente

Actualiza un agente existente. Solo se modifican los campos proporcionados en la solicitud.

PATCH https://api.platica.mx/v1/agents/{agentId}

Parámetros de URL

ParámetroTipoDescripciónRequerido
agentIdstringIdentificador único del agente

Cuerpo de la solicitud

{
  "name": "Nuevo Nombre del Agente",
  "status": "active",
  "systemPrompt": "Nuevo prompt actualizado...",
  "phoneNumber": ["+1234567890", "+0987654321"],
  "owners": ["soporte@miempresa.com"],
  "enableFileAttachments": true,
  "workingMessage": {
    "enabled": true,
    "trigger": {
      "type": "toolName",
      "toolNames": ["api_get_orders", "search_products"],
      "match": "exact"
    },
    "message": {
      "enabled": true,
      "mode": "ai",
      "aiPrompt": "Genera un mensaje breve avisando que estás consultando información del cliente."
    },
    "sticker": {
      "enabled": false
    }
  },
  "supportInformation": {
    "supportEmail": "nuevo-soporte@miempresa.com",
    "serviceHours": {
      "monday": {
        "availability": "Abierto",
        "start": "8:00am", 
        "end": "6:00pm"
      }
    }
  }
}

Parámetros del cuerpo

Todos los parámetros son opcionales. Solo se actualizarán los campos incluidos en la solicitud.

ParámetroTipoDescripción
namestringNombre del agente (1-100 caracteres)
statusstringEstado del agente ("active" o "inactive")
channelstringPlataforma del agente
systemPromptstringPrompt del sistema. Se versiona automáticamente — equivale a llamar a POST /v1/agents/{agentId}/prompt (crea entrada en el historial y rola activePromptId).
channelIdstring | arrayID(s) del canal de comunicación. Puede ser ID interno o array.
phoneNumberstring | arrayNúmero(s) de teléfono (formato internacional) o array.
imageUrlstringURL de la imagen del agente
supportInformationobjectInformación de soporte y horarios (actualización parcial)
assistanceTriggersstringDisparadores de asistencia humana
waitMessagestringMensaje de espera
assistanceEnabledbooleanSi la asistencia humana está habilitada
recallLastConversationbooleanMemoria entre conversaciones: inyecta el resumen de la última conversación al prompt
enableFileAttachmentsbooleanLectura de archivos: el agente acepta y procesa adjuntos (imágenes, audios, documentos)
disableContextSummarizationbooleanConservar historial completo: salta la compactación automática de contexto
workingMessageobjectMensaje "trabajando" que se le envía al cliente cuando el agente está ocupado llamando herramientas. Ver forma completa abajo.
ownersarrayLista de correos de usuarios responsables

Respuesta

{
  "status": "success",
  "message": "Agent updated successfully",
  "data": {
    "id": "agent_abc123"
  }
}

Configuración del mensaje de espera que se envía al cliente cuando el agente está procesando una secuencia de herramientas que puede tardar.

{
  "enabled": true,
  "trigger": {
    "type": "toolCallCount",
    "minToolCalls": 2
  },
  "message": {
    "enabled": true,
    "mode": "fixed",
    "fixedText": "Dame un momento, estoy procesando tu solicitud…"
  },
  "sticker": {
    "enabled": false
  }
}

enabled (boolean)

Activa o desactiva el envío del mensaje de espera.

trigger (object) — cuándo se dispara

CampoTipoDescripción
type"toolCallCount" \| "toolName" \| "any"Modo de disparo. Ver tabla abajo.
minToolCallsinteger (1-10)Sólo aplica cuando type es "toolCallCount" o "any". Cuántas herramientas debe haber llamado el agente antes de mandar el mensaje.
toolNamesstring[]Sólo aplica cuando type es "toolName" o "any". Nombres de herramientas que disparan el mensaje en cuanto se invocan.
match"exact" \| "prefix"Cómo comparar contra toolNames. Default "exact". Con "prefix", p. ej. "api_" activa para api_get_orders, api_search, etc.
typeSignificado
toolCallCountDispara después de N herramientas llamadas (usa minToolCalls).
toolNameDispara cuando el agente llama una herramienta cuyo nombre esté en toolNames.
anyDispara con cualquiera de las dos condiciones anteriores.

message (object) — qué se envía

CampoTipoDescripción
enabledbooleanSi se envía mensaje de texto (puedes desactivarlo y mandar sólo un sticker).
mode"fixed" \| "ai""fixed" envía un texto literal; "ai" lo genera con IA según un prompt.
fixedTextstringTexto literal a enviar (cuando mode es "fixed").
aiPromptstringInstrucción para la IA que genera el mensaje (cuando mode es "ai").

sticker (object) — sticker opcional

CampoTipoDescripción
enabledbooleanSi se manda un sticker acompañando al mensaje.
urlstringURL del sticker (cuando enabled es true).

Notas

  • owners debe enviarse como correos válidos de usuarios del workspace
  • channelId y phoneNumber pueden enviarse como string o array
  • en las respuestas de lectura, comunicationChannel.channelId y comunicationChannel.phoneNumber siempre se devuelven como arreglos
  • Pasar systemPrompt aquí crea una nueva versión en el historial. Si necesitas más control (editar texto, ver versiones), usa los endpoints dedicados de prompt y versiones .