Vai al contenuto principale

Installazione

npm install itellicoai

Requisiti

  • Node.js 18.10.0+
  • Supporto completo TypeScript

Ottenere la Tua Chiave API

Per utilizzare l’SDK, avrai bisogno di una chiave API dal tuo pannello di controllo itellicoAI:
  1. Naviga su Sviluppatori dalla barra laterale
  2. Clicca su Chiavi API
  3. Clicca su Crea Chiave API
  4. Copia la chiave generata da utilizzare con l’SDK
Pannello delle chiavi API
Pannello delle chiavi API
Conserva la tua chiave API in modo sicuro utilizzando variabili d’ambiente. Non caricarla mai nel controllo di versione.

Avvio Rapido

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}`);

Operazioni SDK

Gestione Agenti

Elencare Agenti

const agents = await client.agents.list();

agents.forEach(agent => {
  console.log(`${agent.name} - ${agent.id}`);
});

Recuperare Agente

const agent = await client.agents.retrieve('agent_123abc');

console.log(`Agent name: ${agent.name}`);
console.log(`Model: ${agent.model.model}`);

Aggiornare Agente

const updatedAgent = await client.agents.update('agent_123abc', {
  name: 'Updated Support Agent',
  instructions: 'You are a helpful customer support agent...',
});

Archiviare 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' });

Elencare Conversazioni

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}`);
});

Elencare Numeri di Telefono

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);

Creare Numero di Telefono

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);

Ottenere Numero di Telefono

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);

Aggiornare Numero di Telefono

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);

Eliminare Numero di Telefono

import { Itellicoai } from 'itellicoai';

const client = new Itellicoai({
  apiKey: 'your-api-key',
});

await client.accounts.phoneNumbers.delete(
  'account_id',
  'phone_number_id'
);

Elencare Modelli

import Itellicoai from 'itellicoai';

const client = new Itellicoai({
  apiKey: 'My API Key',
});

const response = await client.accounts.providers.listModels('account_id');

console.log(response);

Elencare Trascrittori

import Itellicoai from 'itellicoai';

const client = new Itellicoai({
  apiKey: 'My API Key',
});

const response = await client.accounts.providers.listTranscribers('account_id');

console.log(response);

Elencare Voci

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);

Elencare Trunk 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);

Creare 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);

Ottenere 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);

Aggiornare 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);

Eliminare 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' });

Ottenere Analisi Utilizzo

const response = await client.accounts.analytics.getUsage('account_id');

console.log(response.meta);

Elencare Sottoaccount

const subaccounts = await client.accounts.subaccounts.list('account_id');

console.log(subaccounts.count);

Creare Sottoaccount

const account = await client.accounts.subaccounts.create('account_id', {
  name: 'name',
});

console.log(account.id);

Ottenere Sottoaccount

const account = await client.accounts.subaccounts.retrieve(
  'account_id',
  'subaccount_id'
);

console.log(account.id);

Aggiornare Sottoaccount

const account = await client.accounts.subaccounts.update(
  'account_id',
  'subaccount_id'
);

console.log(account.id);

Gestione degli Errori

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}`);
  }
}

Variabili d’Ambiente

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,
});

Tipi TypeScript

Definizioni TypeScript complete incluse:
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);
};

Risorse