Inceptiva· SDKv0.4.0
GETTING STARTED

Primeras llamadas

Los ejemplos siguientes envían un mensaje al mismo endpoint público. Utiliza credenciales ficticias durante el desarrollo de tu código y carga los valores reales desde un gestor de secretos.

TypeScript

ts
import { Inceptiva } from "@inceptiva/sdk";

const apiKey = process.env.INCEPTIVA_API_KEY;
const agentId = process.env.INCEPTIVA_AGENT_ID;

if (!apiKey || !agentId) {
  throw new Error("Faltan las credenciales de Inceptiva");
}

const client = new Inceptiva({ apiKey, agentId });
const result = await client.responses.create({
  message: "Analiza esta oportunidad comercial",
  externalReference: "opportunity-123",
  idempotencyKey: crypto.randomUUID(),
});

console.log(result.response);
console.log(result.conversationId);
console.log(result.citations);

JavaScript

Guarda este ejemplo como example.mjs y ejecútalo con node example.mjs.

js
import { Inceptiva } from "@inceptiva/sdk";

const client = new Inceptiva({
  apiKey: process.env.INCEPTIVA_API_KEY,
  agentId: process.env.INCEPTIVA_AGENT_ID,
});

const result = await client.responses.create({
  message: "Resume las necesidades de este cliente",
});

console.log(result);

curl

shell
curl --request POST \\
  "$INCEPTIVA_API_BASE_URL/v1/agents/$INCEPTIVA_AGENT_ID/responses" \\
  --header "Authorization: Bearer $INCEPTIVA_API_KEY" \\
  --header "Content-Type: application/json" \\
  --data '{"message":"Analiza esta oportunidad comercial"}'

La respuesta HTTP utiliza nombres snake_case:

json
{
  "conversation_id": "00000000-0000-0000-0000-000000000000",
  "response": "He analizado la oportunidad...",
  "citations": []
}

El SDK transforma los nombres snake_case del contrato HTTP a nombres idiomáticos camelCase y expone las citas públicas autorizadas.

Continuar la conversación

ts
const first = await client.responses.create({ message: "Analiza esta oportunidad" });

const followUp = await client.responses.create({
  message: "¿Cuál sería el siguiente paso?",
  conversationId: first.conversationId,
});

const history = await client.conversations.getMessages(followUp.conversationId);

console.log(followUp.response);
console.log(history.items);

Conserva conversationId en tu propia sesión o modelo de datos. Si no lo envías, la API inicia una conversación nueva.

result.responseMetadata conserva rate limit, cuota e información de replay. No reintentes una generación incierta con una clave nueva: reutiliza la misma idempotencyKey.

Continúa con Conversaciones o consulta el manejo de errores.