PATCH Asistente Detalles para actualizar parcialmente un asistente por su ID.

Actualizar un Asistente (PATCH)

Este endpoint permite modificar parcialmente los datos de un asistente existente utilizando su ID único. Al ser un método PATCH, solo necesitas enviar los campos que deseas cambiar; los campos no incluidos en la solicitud permanecerán sin cambios.

Método HTTP

PATCH

Endpoint URL

'https:tudominio.xfs.cloud/api/v1/xia_assistants/{id}'

Donde {id} es el ID único del asistente que deseas actualizar.

Parámetros de Ruta

Parámetro Tipo Descripción
id UUID (string) El ID único del asistente a actualizar.

Cuerpo de la Solicitud (Request Body)

Los parámetros deben enviarse en el cuerpo de la solicitud en formato JSON. Solo incluye los campos que deseas modificar.

Ejemplo de datos para una edición parcial:


{
    "name": "Asistente de Soporte Técnico Actualizado",
    "firstMessage": "Hola, soy tu asistente de soporte técnico actualizado, ¿cómo puedo ayudarte hoy?",
    "voice": {
        "speed": 1.05,
        "style": 0.9
    },
    "model": {
        "temperature": 0.6
    }
}
        

Campos Comunes Actualizables (entre otros):

  • name: (string) Nuevo nombre para el asistente.
  • firstMessage: (string) Nuevo mensaje inicial del asistente.
  • voicemailMessage: (string) Nuevo mensaje de voz.
  • endCallMessage: (string) Nuevo mensaje de finalización de llamada.
  • voice: (object) Objeto con parámetros de voz a actualizar (ej. voiceId, speed, style). Solo se actualizarán los sub-campos enviados.
  • model: (object) Objeto con parámetros del modelo de IA a actualizar (ej. model, temperature, messages).
  • transcriber: (object) Objeto con parámetros del transcriptor.
  • server: (object) Objeto con la configuración del webhook del servidor (ej. url).
  • (Otros campos específicos del asistente que sean modificables)

Nota Importante: La estructura exacta de los objetos anidados (como `voice` o `model`) debe respetarse. Si actualizas un campo dentro de un objeto anidado, debes enviar el objeto padre con el campo modificado.

Respuesta Exitosa (Código 200 OK)

Si la actualización es exitosa, el servidor responderá con un código 200 OK y el objeto completo del asistente con los campos actualizados. La estructura será similar a la respuesta de un GET para un asistente específico.


{
    "status": "Ok",
    "data": {
        "id": "f5e82310-4341-443e-b3bf-188d85c90515",
        "name": "Asistente de Soporte Técnico Actualizado",
        "firstMessage": "Hola, soy tu asistente de soporte técnico actualizado, ¿cómo puedo ayudarte hoy?",
        "voice": {
            "model": "eleven_multilingual_v2",
            "speed": 1.05, // Campo actualizado
            "style": 0.9,  // Campo actualizado
            "voiceId": "h2cd3gvcqTp3m65Dysk7", // Campo no modificado en el ejemplo de request
            "provider": "11labs",
            // ...otros campos de voz no modificados...
        },
        "model": {
            "model": "gpt-4o",
            "temperature": 0.6, // Campo actualizado
            // ...otros campos de modelo no modificados...
        },
        // ... todos los demás campos del asistente ...
        "updatedAt": "2025-05-20T12:30:00.000Z" // Fecha de actualización reflejará el cambio
    },
    "status_code": 200
}
        

Respuestas de Error Comunes

Código 404 Not Found: Si el asistente con el id especificado no existe.


{
    "status": "Error",
    "message": "Asistente no encontrado.",
    "status_code": 404
}
        

Código 422 Unprocessable Entity: Si los datos enviados en la solicitud no pasan la validación (ej. tipo de dato incorrecto, campos requeridos faltantes si la lógica de negocio lo impone para ciertos updates, etc.).


{
    "status": "Error",
    "message": "Los datos proporcionados no son válidos.",
    "errors": {
        "name": ["El nombre no puede estar vacío."],
        "voice.speed": ["La velocidad de la voz debe ser un número entre 0.5 y 2.0."]
    },
    "status_code": 422
}