Instalação
Copiar
npm install itellicoai
Requisitos
- Node.js 18.10.0+
- Suporte completo TypeScript
Obter Sua Chave API
Para usar o SDK, você precisará de uma chave API do seu painel de controle itellicoAI:- Navegue até Desenvolvedores na barra lateral
- Clique em Chaves API
- Clique em Criar Chave API
- Copie a chave gerada para usar com o SDK


Armazene sua chave API com segurança usando variáveis de ambiente. Nunca a envie para o controle de versão.
Início Rápido
Copiar
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}`);
Operações do SDK
Gerenciamento de Agentes
Gerenciamento de Agentes
Listar Agentes
Copiar
const agents = await client.agents.list();
agents.forEach(agent => {
console.log(`${agent.name} - ${agent.id}`);
});
Recuperar Agente
Copiar
const agent = await client.agents.retrieve('agent_123abc');
console.log(`Agent name: ${agent.name}`);
console.log(`Model: ${agent.model.model}`);
Atualizar Agente
Copiar
const updatedAgent = await client.agents.update('agent_123abc', {
name: 'Updated Support Agent',
instructions: 'You are a helpful customer support agent...',
});
Arquivar Agente
Copiar
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' });
Conversas
Conversas
Listar Conversas
Copiar
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}`);
});
Números de Telefone
Números de Telefone
Listar Números de Telefone
Copiar
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);
Criar Número de Telefone
Copiar
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);
Obter Número de Telefone
Copiar
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);
Atualizar Número de Telefone
Copiar
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);
Excluir Número de Telefone
Copiar
import { Itellicoai } from 'itellicoai';
const client = new Itellicoai({
apiKey: 'your-api-key',
});
await client.accounts.phoneNumbers.delete(
'account_id',
'phone_number_id'
);
Provedores
Provedores
Listar Modelos
Copiar
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 Transcritores
Copiar
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 Vozes
Copiar
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);
Trunks SIP
Trunks SIP
Listar Trunks SIP
Copiar
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);
Criar Trunk SIP
Copiar
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);
Obter Trunk SIP
Copiar
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);
Atualizar Trunk SIP
Copiar
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);
Excluir Trunk SIP
Copiar
import Itellicoai from 'itellicoai';
const client = new Itellicoai({
apiKey: 'My API Key',
});
await client.accounts.sipTrunks.delete('sip_trunk_id', { account_id: 'account_id' });
Análises
Análises
Obter Análises de Uso
Copiar
const response = await client.accounts.analytics.getUsage('account_id');
console.log(response.meta);
Subcontas
Subcontas
Listar Subcontas
Copiar
const subaccounts = await client.accounts.subaccounts.list('account_id');
console.log(subaccounts.count);
Criar Subconta
Copiar
const account = await client.accounts.subaccounts.create('account_id', {
name: 'name',
});
console.log(account.id);
Obter Subconta
Copiar
const account = await client.accounts.subaccounts.retrieve(
'account_id',
'subaccount_id'
);
console.log(account.id);
Atualizar Subconta
Copiar
const account = await client.accounts.subaccounts.update(
'account_id',
'subaccount_id'
);
console.log(account.id);
Tratamento de Erros
Copiar
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}`);
}
}
Variáveis de Ambiente
Copiar
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
Definições TypeScript completas incluídas:Copiar
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);
};