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

Actualizar un Asistente (POST)

Este endpoint permite modificar los datos de un asistente existente utilizando su ID. Al ser un método POST a update-assistant, debes enviar assistant_id y name obligatoriamente, junto con todos los otros campos que desees modificar.

Método HTTP

POST

Endpoint URL

'https://app.x-ianet.com/api/xianet/update-assistant'

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

Parámetros de Ruta

Parámetro Tipo Descripción
- - Este endpoint no requiere parámetros en la ruta URI. El ID va en el body.

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:


    {
        "assistant_id": "f5e82310-4341-443e-b3bf-188d85c90515",
        "name": "Asistente de Soporte Técnico Actualizado",
        "first_message": "Hola, soy tu asistente de soporte técnico actualizado, ¿cómo puedo ayudarte hoy?",
        "prompt": "Eres un asistente técnico amable que responde con claridad.",
        "model": "gpt-4o",
        "provider": "openai",
        "maxTokens": 250,
        "forwardingPhone": "+34600000000"
    }
            

Campos Esperados en el JSON:

  • assistant_id: (string) Requerido. ID del asistente a actualizar.
  • name: (string) Requerido. Nuevo nombre para el asistente.
  • prompt / description: (string) Opcional. Instrucciones del sistema para la IA.
  • first_message: (string) Opcional. Mensaje inicial de la llamada.
  • provider: (string) Opcional. Proveedor de LLM (ej. openai).
  • model: (string) Opcional. Modelo de LLM (ej. gpt-4o).
  • maxTokens: (integer) Opcional. Máximo de tokens para la respuesta.
  • forwardingPhone: (string) Opcional. Número de teléfono de desvío (transferencia).
  • firstMessageMode: (string) Opcional. Modo del primer mensaje ("assistant-speaks-first", etc).
  • analysisPlan: (array) Opcional. Plan de análisis de llamadas (resúmenes estructurados).

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
    }