Saltar al contenido principal

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ámetroTipoDescripción
slugstringSlug ú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

CampoTipoDescripción
namestringNombre del agente.
greetingstringMensaje de apertura al iniciar la llamada.
promptstringPrompt del sistema que define el comportamiento del agente.
textPromptstringPrompt usado para conversaciones de texto/chat.
farewellstringMensaje de cierre al final de la llamada.
voiceIdstringIdentificador de la voz del agente.
outputVariablesarrayVariables a capturar durante la llamada (misma estructura que en Crear agente).
recallLogicobjectConfiguración de reintentos/rellamadas.
numberOfAttemptintegerNúmero de intentos de llamada.
allowReturnCallbooleanSi el agente permite llamadas de retorno.
localizationsobjectConfiguración de localización.
workingHoursobjectConfiguración de horario de atención.
dtmfbooleanSi está habilitada la entrada por DTMF (teclado).
transferCallDestinationsarrayDestinos de transferencia de llamada.
endOfCallWebhookstringURL notificada cuando termina una llamada.
endOfSessionWebhookstringURL notificada cuando termina una sesión.
callUpdatesWebhookstringURL notificada en las actualizaciones de estado de la llamada.
knowledgeBaseFilesinteger[]IDs de los archivos de base de conocimiento a adjuntar.
toolsarrayHerramientas/skills disponibles para el agente. Ver más abajo.
configobjectForma alternativa de enviar valores de configuración. Ver más abajo.

Elementos de tools

CampoTipoDescripción
idintegerID de una herramienta existente (omítelo para crear una nueva).
namestringNombre de la herramienta. Si se omite, se usa content.functionName.
typestringTipo de herramienta (ej. API_CALL).
descriptionstringQué hace la herramienta.
variablesarrayVariables de entrada de la herramienta.
contentobjectDetalles 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

EstadoDescripción
400Cuerpo de solicitud inválido.
403El agente no existe o no es accesible con esta API Key.