Editar agente
Actualiza y publica un agente existente. Solo se modifican los campos que incluyas; el resto se mantiene sin cambios. Todos los campos son opcionales, por lo que puedes enviar actualizaciones parciales.
Endpoint
POST /v1/agents/:slug/publish
Parámetros de ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
slug | string | Slug único del agente a actualizar. |
Cuerpo de la solicitud
{
"name": "Agente de Prueba API",
"greeting": "¡Hola! Gracias por llamar.",
"prompt": "Eres un asistente de ventas servicial.",
"farewell": "Gracias por llamar. ¡Adiós!",
"voiceId": "TU_VOICE_ID",
"allowReturnCall": true,
"numberOfAttempt": 3,
"outputVariables": [
{
"name": "customerName",
"description": "El nombre completo de quien llama",
"type": "string"
}
],
"knowledgeBaseFiles": [],
"tools": [
{
"name": "lookup_order",
"type": "API_CALL",
"description": "Busca un pedido por su ID",
"variables": [
{
"orderId": {
"type": "string",
"description": "El ID del pedido proporcionado por quien llama"
}
}
],
"content": {
"functionName": "lookup_order",
"parameters": ["orderId"],
"url": "https://example.com/api/orders",
"authType": "Bearer",
"token": "tu-token-aqui"
}
}
],
"config": {
"transcriberLanguage": "es-419",
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600,
"endOfCallWebhook": "https://example.com/webhooks/end-of-call"
}
}
Parámetros de nivel superior
| Campo | Tipo | Descripción |
|---|---|---|
name | string | Nombre del agente. |
greeting | string | Mensaje de apertura al iniciar la llamada. |
prompt | string | Prompt del sistema que define el comportamiento del agente. |
textPrompt | string | Prompt usado para conversaciones de texto/chat. |
farewell | string | Mensaje de cierre al final de la llamada. |
voiceId | string | Identificador de la voz del agente. |
outputVariables | array | Variables a capturar durante la llamada (misma estructura que en Crear agente). |
recallLogic | object | Configuración de reintentos/rellamadas. |
numberOfAttempt | integer | Número de intentos de llamada. |
allowReturnCall | boolean | Si el agente permite llamadas de retorno. |
localizations | object | Configuración de localización. |
workingHours | object | Configuración de horario de atención. |
dtmf | boolean | Si está habilitada la entrada por DTMF (teclado). |
transferCallDestinations | array | Destinos de transferencia de llamada. |
endOfCallWebhook | string | URL notificada cuando termina una llamada. |
endOfSessionWebhook | string | URL notificada cuando termina una sesión. |
callUpdatesWebhook | string | URL notificada en las actualizaciones de estado de la llamada. |
knowledgeBaseFiles | integer[] | IDs de los archivos de base de conocimiento a adjuntar. |
tools | array | Herramientas/skills disponibles para el agente. Ver más abajo. |
config | object | Forma alternativa de enviar valores de configuración. Ver más abajo. |
Elementos de tools
| Campo | Tipo | Descripción |
|---|---|---|
id | integer | ID de una herramienta existente (omítelo para crear una nueva). |
name | string | Nombre de la herramienta. Si se omite, se usa content.functionName. |
type | string | Tipo de herramienta (ej. API_CALL). |
description | string | Qué hace la herramienta. |
variables | array | Variables de entrada de la herramienta. |
content | object | Detalles de implementación de la herramienta (nombre de la función, URL, autenticación, etc.). |
Objeto config
config acepta la misma configuración que varios campos de nivel superior. Puedes enviar los valores en el nivel superior o dentro de config; los campos de nivel superior tienen prioridad cuando ambos están presentes. Claves soportadas:
transcriberLanguage, endOfCallMessage, silenceTimeoutSeconds, maxDurationSeconds, voice, captureDataVariables, endOfCallWebhook, endOfSessionWebhook, callUpdatesWebhook, allowReturnCall, workingHours, dtmf, transferCallDestinations, localizations.
Ejemplo de solicitud
curl -X POST "https://api.fonema.ai/v1/agents/agente-de-ventas-ab12cd34/publish" \
-H "Authorization: Bearer TU_API_KEY_AQUI" \
-H "Content-Type: application/json" \
-d '{
"greeting": "¡Hola! Gracias por llamar.",
"config": {
"silenceTimeoutSeconds": 30,
"maxDurationSeconds": 600
}
}'
Respuesta
Devuelve el agente completo y actualizado, con la misma estructura que Consultar agente.
Errores
| Estado | Descripción |
|---|---|
400 | Cuerpo de solicitud inválido. |
403 | El agente no existe o no es accesible con esta API Key. |