Instalación
Requisitos
Node.js 18.10.0+
Soporte completo de TypeScript
Obtener Tu Clave API
Para usar el SDK, necesitarás una clave API desde tu panel de control de itellicoAI :
Navega a Desarrolladores desde la barra lateral
Haz clic en Claves API
Haz clic en Crear Clave API
Copia la clave generada para usarla con el SDK
Almacena tu clave API de forma segura usando variables de entorno. Nunca la subas al control de versiones.
Inicio Rápido
import { Itellicoai } from 'itellicoai' ;
// Initialize client
const client = new Itellicoai ({
apiKey: 'your-api-key' ,
});
// Create an agent
const agent = await client . agents . create ({
accountId: 'your-account-id' ,
name: 'Customer Support Agent' ,
model: {
provider: 'openai' ,
model: 'gpt-4o-mini' ,
},
voice: {
provider: 'elevenlabs' ,
voiceId: 'EXAVITQu4vr4xnSDxMaL' ,
},
transcriber: {
provider: 'deepgram' ,
model: 'nova-2:general' ,
language: 'en-US' ,
},
initialMessage: {
mode: 'fixed_message' ,
message: 'Hello! How can I assist you today?' ,
delayMs: 1000 ,
},
maxDurationSeconds: 1800 ,
tags: [ 'support' , 'customer-service' ],
});
console . log ( `Created agent: ${ agent . id } ` );
Operaciones del SDK
Listar Agentes const agents = await client . agents . list ();
agents . forEach ( agent => {
console . log ( ` ${ agent . name } - ${ agent . id } ` );
});
Obtener Agente const agent = await client . agents . retrieve ( 'agent_123abc' );
console . log ( `Agent name: ${ agent . name } ` );
console . log ( `Model: ${ agent . model . model } ` );
Actualizar Agente const updatedAgent = await client . agents . update ( 'agent_123abc' , {
name: 'Updated Support Agent' ,
instructions: 'You are a helpful customer support agent...' ,
});
Archivar Agente import { Itellicoai } from 'itellicoai' ;
import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'your-api-key' ,
});
await client . agents . archive ( 'agent_id' , { account_id: 'me' });
Listar Conversaciones import { Itellicoai } from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'your-api-key'
});
const conversations = await client . accounts . listConversations ( 'account_id' , {
limit: 10
});
console . log ( `Total conversations: ${ conversations . count } ` );
conversations . items . forEach (( conv : any ) => {
console . log ( `Conversation ID: ${ conv . conversation_id } ` );
console . log ( `Contact: ${ conv . contact_number } ` );
console . log ( `Duration: ${ conv . duration_seconds } s` );
console . log ( `Status: ${ conv . status } ` );
console . log ( `Agent ID: ${ conv . agent_id } ` );
});
Listar Números de Teléfono import { Itellicoai } from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'your-api-key' ,
});
const phoneNumbers = await client . accounts . phoneNumbers . list ( 'account_id' );
console . log ( phoneNumbers . count );
Crear Número de Teléfono import { Itellicoai } from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'your-api-key' ,
});
const phoneNumber = await client . accounts . phoneNumbers . create ( 'account_id' , {
sipTrunkId: 'sip_trunk_id' ,
});
console . log ( phoneNumber . id );
Obtener Número de Teléfono import { Itellicoai } from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'your-api-key' ,
});
const phoneNumber = await client . accounts . phoneNumbers . retrieve (
'account_id' ,
'phone_number_id'
);
console . log ( phoneNumber . id );
Actualizar Número de Teléfono import { Itellicoai } from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'your-api-key' ,
});
const phoneNumber = await client . accounts . phoneNumbers . update (
'account_id' ,
'phone_number_id'
);
console . log ( phoneNumber . id );
Eliminar Número de Teléfono import { Itellicoai } from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'your-api-key' ,
});
await client . accounts . phoneNumbers . delete (
'account_id' ,
'phone_number_id'
);
Listar Modelos import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
const response = await client . accounts . providers . listModels ( 'account_id' );
console . log ( response );
Listar Transcriptores import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
const response = await client . accounts . providers . listTranscribers ( 'account_id' );
console . log ( response );
Listar Voces import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
const response = await client . accounts . providers . listVoices ( 'account_id' , { provider: 'provider' });
console . log ( response );
Listar Trunks SIP import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
const sipTrunks = await client . accounts . sipTrunks . list ( 'account_id' );
console . log ( sipTrunks . count );
Crear Trunk SIP import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
const sipTrunk = await client . accounts . sipTrunks . create ( 'account_id' );
console . log ( sipTrunk . id );
Obtener Trunk SIP import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
const sipTrunk = await client . accounts . sipTrunks . retrieve ( 'sip_trunk_id' , { account_id: 'account_id' });
console . log ( sipTrunk . id );
Actualizar Trunk SIP import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
const sipTrunk = await client . accounts . sipTrunks . update ( 'sip_trunk_id' , { account_id: 'account_id' });
console . log ( sipTrunk . id );
Eliminar Trunk SIP import Itellicoai from 'itellicoai' ;
const client = new Itellicoai ({
apiKey: 'My API Key' ,
});
await client . accounts . sipTrunks . delete ( 'sip_trunk_id' , { account_id: 'account_id' });
Obtener Análisis de Uso const response = await client . accounts . analytics . getUsage ( 'account_id' );
console . log ( response . meta );
Listar Subcuentas const subaccounts = await client . accounts . subaccounts . list ( 'account_id' );
console . log ( subaccounts . count );
Crear Subcuenta const account = await client . accounts . subaccounts . create ( 'account_id' , {
name: 'name' ,
});
console . log ( account . id );
Obtener Subcuenta const account = await client . accounts . subaccounts . retrieve (
'account_id' ,
'subaccount_id'
);
console . log ( account . id );
Actualizar Subcuenta const account = await client . accounts . subaccounts . update (
'account_id' ,
'subaccount_id'
);
console . log ( account . id );
Manejo de Errores
import {
ItellicoAI ,
AuthenticationError ,
NotFoundError ,
RateLimitError ,
APIError ,
} from 'itellicoai' ;
const client = new ItellicoAI ({ apiKey: 'your-api-key' });
try {
const agent = await client . agents . retrieve ( 'agent_123abc' );
} catch ( error ) {
if ( error instanceof AuthenticationError ) {
console . error ( 'Invalid API key' );
} else if ( error instanceof NotFoundError ) {
console . error ( 'Agent not found' );
} else if ( error instanceof RateLimitError ) {
console . error ( 'Rate limit exceeded' );
} else if ( error instanceof APIError ) {
console . error ( `API error: ${ error . message } ` );
}
}
Variables de Entorno
import { ItellicoAI } from 'itellicoai' ;
// API key automatically loaded from ITELLICO_API_KEY env var
const client = new ItellicoAI ();
// Or set explicitly
const client = new ItellicoAI ({
apiKey: process . env . ITELLICO_API_KEY ,
});
Tipos TypeScript
Definiciones TypeScript completas incluidas:
import type {
Agent ,
AgentCreateParams ,
AgentUpdateParams ,
Conversation ,
PhoneNumber ,
} from 'itellicoai' ;
const createAgent = async (
params : AgentCreateParams
) : Promise < Agent > => {
const client = new ItellicoAI ();
return await client . agents . create ( params );
};
Recursos