For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt, and this page is available as Markdown at /docs/developers/quickstart.md.

Inicio rápido

Esta guía cubre el flujo mínimo de integración: crear una conversación, enviar un mensaje y leer la respuesta en tiempo real.

Requisitos

Necesita una clave de acceso de Kivox y los identificadores del espacio de trabajo y del agente que va a utilizar.

Crear una conversación

Una conversación se crea dentro de un espacio de trabajo y se asocia a un agente. Guarde su identificador; una conversación puede recibir varios mensajes.

cURL
TypeScript
curl -X POST https://server.kivox.com.co/v1/workspaces/$KIVOX_WORKSPACE_ID/chats \
  -H "Authorization: Bearer $KIVOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"agent_id": "'"$KIVOX_AGENT_ID"'"}'

Enviar un mensaje

El encabezado Idempotency-Key identifica esta operación de forma única, para evitar duplicarla si la solicitud se reintenta tras una pérdida de conexión o el usuario intenta enviar el mismo mensaje varias veces.

cURL
TypeScript
curl -N -X POST https://server.kivox.com.co/v1/chats/$CHAT_ID/messages \
  -H "Authorization: Bearer $KIVOX_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"parts": [{"type": "text", "text": "Hola, necesito ayuda con mi pedido."}]}'

Procesar la respuesta

La respuesta llega como text/event-stream. El SDK de TypeScript incluye una utilidad para consumirlo sin implementar el procesamiento del formato SSE a mano.

import { readSSE } from "@kivox/sdk/sse";

for await (const event of readSSE(response.body)) {
    if (event.type === "text_delta") {
        process.stdout.write(event.data.chunk);
    }
}

El ciclo completo de eventos que puede recibir, incluyendo llamadas a herramientas, se describe en Streaming y eventos.

Conversaciones temporales

Cuando la aplicación necesita una sesión efímera que no debe conservarse como parte del historial habitual, cree una conversación temporal con la opción is_temporary: true en el cuerpo de la solicitud.

Sobrescribir el modelo

La solicitud de mensaje admite un model distinto al configurado en el agente, útil para una interacción puntual. Para la mayoría de las aplicaciones, es preferible mantener el modelo definido en la configuración del agente y ajustarlo desde Kivox Studio.