Crear Agente
Crea un nuevo agente en tu workspace.
POST https://api.platica.mx/v1/agents Cuerpo de la solicitud
{
"name": "Mi Asistente",
"channel": "whatsapp",
"systemPrompt": "Eres un asistente especializado en atención al cliente...",
"channelId": ["channel-123"],
"phoneNumber": ["+1234567890"],
"imageUrl": "/images/mi-asistente.png",
"status": "active",
"owners": ["soporte@miempresa.com"],
"supportInformation": {
"supportPhone": "+1234567890",
"supportEmail": "soporte@miempresa.com",
"supportAddress": "Calle Principal #123",
"outOfServiceBehavior": "limited",
"serviceHours": {
"monday": {
"availability": "Abierto",
"start": "9:00am",
"end": "5:00pm"
},
"tuesday": {
"availability": "Abierto",
"start": "9:00am",
"end": "5:00pm"
},
"saturday": {
"availability": "Cerrado",
"start": "Cerrado",
"end": "Cerrado"
},
"sunday": {
"availability": "Cerrado",
"start": "Cerrado",
"end": "Cerrado"
}
}
},
"assistanceTriggers": "",
"assistanceEnabled": true,
"recallLastConversation": false,
"enableFileAttachments": true,
"workingMessage": {
"enabled": true,
"trigger": {
"type": "toolCallCount",
"minToolCalls": 2
},
"message": {
"enabled": true,
"mode": "fixed",
"fixedText": "Dame un momento, estoy procesando tu solicitud…"
},
"sticker": {
"enabled": false
}
}
} Parámetros del cuerpo
| Parámetro | Tipo | Descripción | Requerido | Valor por defecto |
|---|---|---|---|---|
name | string | Nombre del agente (1-100 caracteres) | ✓ | — |
channel | string | Plataforma del agente | — | "whatsapp" |
systemPrompt | string | Prompt del sistema. Si no es vacío, se inicializa el historial de versiones y se setea activePromptId. | — | "" |
channelId | string | array | ID(s) del canal de comunicación. Puede ser un ID interno o array de IDs. | — | null |
phoneNumber | string | array | Número(s) de teléfono (formato internacional) o array de números. | — | null |
imageUrl | string | URL de la imagen del agente | — | "/images/campaignCreator.png" |
status | string | Estado del agente | — | "inactive" |
supportInformation | object | Información de soporte y horarios. Ver detalles abajo. | — | Configuración por defecto (ver abajo) |
assistanceTriggers | string | Disparadores de asistencia humana | — | "" |
waitMessage | string | Mensaje de espera | — | "" |
assistanceEnabled | boolean | Si la asistencia humana está habilitada | — | true |
recallLastConversation | boolean | Memoria entre conversaciones: inyecta el resumen de la última conversación al prompt | — | false |
enableFileAttachments | boolean | Lectura de archivos: el agente acepta y procesa adjuntos (imágenes, audios, documentos) | — | — |
disableContextSummarization | boolean | Conservar historial completo: salta la compactación automática de contexto | — | — |
workingMessage | object | Mensaje "trabajando" que se le envía al cliente cuando el agente está ocupado llamando herramientas. Ver forma completa abajo. | — | — |
owners | array | Lista de correos de usuarios responsables | — | [] |
{
"supportAddress": "",
"supportEmail": null,
"supportPhone": null,
"outOfServiceBehavior": "limited",
"serviceHours": {
"monday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"tuesday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"wednesday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"thursday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"friday": { "availability": "Abierto", "start": "9:00am", "end": "5:00pm" },
"saturday": { "availability": "Cerrado", "start": "Cerrado", "end": "Cerrado" },
"sunday": { "availability": "Cerrado", "start": "Cerrado", "end": "Cerrado" }
}
} | Valor | Descripción |
|---|---|
whatsapp | Canal de WhatsApp Business |
telegram | Canal de Telegram |
instagram | Canal de Instagram Direct |
facebook | Canal de Facebook Messenger |
sms | Canal de mensajes SMS |
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
| Campo | Tipo | Descripción |
|---|---|---|
type | "toolCallCount" \| "toolName" \| "any" | Modo de disparo. Ver tabla abajo. |
minToolCalls | integer (1-10) | Sólo aplica cuando type es "toolCallCount" o "any". Cuántas herramientas debe haber llamado el agente antes de mandar el mensaje. |
toolNames | string[] | 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. |
type | Significado |
|---|---|
toolCallCount | Dispara después de N herramientas llamadas (usa minToolCalls). |
toolName | Dispara cuando el agente llama una herramienta cuyo nombre esté en toolNames. |
any | Dispara con cualquiera de las dos condiciones anteriores. |
message (object) — qué se envía
| Campo | Tipo | Descripción |
|---|---|---|
enabled | boolean | Si 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. |
fixedText | string | Texto literal a enviar (cuando mode es "fixed"). |
aiPrompt | string | Instrucción para la IA que genera el mensaje (cuando mode es "ai"). |
sticker (object) — sticker opcional
| Campo | Tipo | Descripción |
|---|---|---|
enabled | boolean | Si se manda un sticker acompañando al mensaje. |
url | string | URL del sticker (cuando enabled es true). |
Respuesta
{
"status": "success",
"message": "Agent created successfully",
"data": {
"id": "agent_abc123"
}
} Notas
channelIdyphoneNumberpueden enviarse como string o array- en la respuesta del agente siempre se devuelven dentro de
comunicationChannelcomo arreglos ownersdebe enviarse como correos válidos de usuarios que pertenezcan al workspace