API REST della piattaforma
Crea e configura assistenti, prompt, voce TTS/ASR/LLM, knowledge base RAG, tool e analytics. Tutto quello che fai dal portale, fatto via codice.
API REST e webhook per far chiamare, rispondere e agire gli assistenti vocali AI4CALL dentro i tuoi sistemi. Specifica OpenAPI, esempi copia-incolla, nessun SDK da installare.
Trial gratuito con credito iniziale incluso.
/api/v1# Fai chiamare un lead dal tuo assistente AI
curl -X POST https://client-api.ai4call.com/webhook/outbound_call \
-H "x-client-email: you@company.com" \
-H "x-portal-api-key: $AI4CALL_PORTAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"assistantApiKey": "ast_xxx",
"to": "+39081...",
"from": "+3902...",
"metadata": { "lead_id": "123" }
}'
// Fai chiamare un lead dal tuo assistente AI
const res = await fetch("https://client-api.ai4call.com/webhook/outbound_call", {
method: "POST",
headers: {
"x-client-email": "you@company.com",
"x-portal-api-key": process.env.AI4CALL_PORTAL_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
assistantApiKey: "ast_xxx",
to: "+39081...",
from: "+3902...",
metadata: { lead_id: "123" },
}),
});
console.log(res.status, await res.text());
# Fai chiamare un lead dal tuo assistente AI
import os, requests
res = requests.post(
"https://client-api.ai4call.com/webhook/outbound_call",
headers={
"x-client-email": "you@company.com",
"x-portal-api-key": os.environ["AI4CALL_PORTAL_KEY"],
},
json={
"assistantApiKey": "ast_xxx",
"to": "+39081...",
"from": "+3902...",
"metadata": {"lead_id": "123"},
},
)
print(res.status_code, res.text)
// Fai chiamare un lead dal tuo assistente AI
$ch = curl_init('https://client-api.ai4call.com/webhook/outbound_call');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'x-client-email: you@company.com',
'x-portal-api-key: ' . getenv('AI4CALL_PORTAL_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'assistantApiKey' => 'ast_xxx',
'to' => '+39081...',
'from' => '+3902...',
'metadata' => ['lead_id' => '123'],
]),
]);
echo curl_exec($ch);
Una telefonata, livello per livello: la voce è solo il primo. Ogni riga è un punto in cui il tuo codice può intervenire.
Studio Bianchi, buongiorno Marco. Come posso aiutarla?
Il tuo server riceve il numero del chiamante, lo riconosce e arricchisce il prompt con i dati del cliente.
pre-call webhook
L'LLM risponde usando la knowledge base e chiama i tuoi tool quando servono dati o azioni.
tool HTTP · MCP · RAG
Trasferimento, redirect o chiusura. L'AI estrae i campi che definisci e li invia con una POST al tuo URL di hangup.
webhook di hangup
Storico chiamate, consumi, eventi tool e SMS da portare nel tuo CRM, data warehouse o BI.
/account/analytics/*
AI4CALL invia una POST al tuo endpoint. Rispondi con enable per accettare o rifiutare la chiamata e con callerInfo per dare contesto all'assistente: i campi finiscono nel system prompt.
POST https://yourserver.com/api/verify-caller
Content-Type: application/json
{
"number": "+393331234567",
"timestamp": "2025-12-13T10:30:00Z",
"assistantId": "ast_abc123",
"callId": "call_xyz789"
}
{
"enable": true,
"callerInfo": {
"name": "Mario",
"surname": "Rossi",
"custom_field_1": "VIP since 2020"
}
}
Usa solo quello che ti serve: dal singolo webhook all'automazione completa della piattaforma.
Crea e configura assistenti, prompt, voce TTS/ASR/LLM, knowledge base RAG, tool e analytics. Tutto quello che fai dal portale, fatto via codice.
Una POST dal tuo backend e l'assistente chiama il cliente, sul trunk AI4CALL o sul tuo PBX. Passa metadata custom (lead, ticket, ordine) e ritrovali negli analytics.
Prima che l'assistente risponda, AI4CALL chiama il tuo endpoint con il numero del chiamante. Tu decidi se accettare la chiamata e quale contesto dare all'AI.
Durante la telefonata l'assistente invoca le tue API: cerca clienti, apre ticket, verifica ordini. Autenticazione Bearer, API Key o OAuth2, oppure il tuo server MCP.
Collega l'assistente al tuo centralino via SIP trunk o con il modulo FreePBX, e mantieni numeri e instradamenti che hai già.
Le API non sostituiscono il portale di AI4CALL: lo affiancano, con la stessa logica. Automatizzi solo quello che ti serve e per tutto il resto hai l'interfaccia grafica, senza dover costruire un tuo pannello.
Un flusso tipico: il team configura e rifinisce l'assistente dal portale, lo sviluppatore integra chiamate outbound, webhook e analytics via API.
Niente SDK, niente dipendenze: basta un client HTTP.
Registrati sul portale e crea il tuo primo assistente. Il trial include credito per le chiamate di prova.
Vai al portale →Dal portale crea una chiave per ogni ambiente (test, produzione). La usi negli header insieme alla tua email.
Come generare la API key →Elenca i tuoi assistenti per recuperare l'assistantApiKey, poi lancia una chiamata outbound o configura prompt e voce.
curl https://client-api.ai4call.com/api/v1/assistants \
-H "x-client-email: you@company.com" \
-H "x-portal-api-key: $AI4CALL_PORTAL_KEY"
Le principali aree esposte da client-api.ai4call.com. Request, response ed errori sono documentati in Swagger.
GET · POST /api/v1/assistants
GET · PATCH /api/v1/assistants/{key}/prompt
PATCH /api/v1/assistants/{key}/runtime/{tts|asr|llm|dtmf}
GET /api/v1/catalog/providers/tts
/api/v1/catalog/rag/…
PATCH /api/v1/assistants/{key}/runtime/rag
GET /api/v1/catalog/tools
PATCH /api/v1/assistants/{key}/runtime/tools
/api/v1/assistants/{key}/runtime/precall/number-validation
/api/v1/assistants/{key}/runtime/precall/mcp-config
PATCH /api/v1/assistants/{key}/runtime/hangup
…/runtime/hangup/save-conversation · /schema
POST /webhook/outbound_call
POST /webhook/outbound_call_pbx
GET /api/v1/account/analytics/calls
…/calls-outbound · /recharges · /tool-responses
GET · PATCH /api/v1/account/allowed-ips
GET · PATCH /api/v1/account/call-limits
Nessun lock-in su un solo fornitore: per ogni assistente scegli il modello più adatto per qualità, costo, latenza e requisiti di privacy. E lo cambi quando vuoi, anche via API.
Dove vengono elaborati i dati di una telefonata dipende anche dai modelli che usi. Con AI4CALL componi la pipeline in base ai requisiti di privacy tuoi e dei tuoi clienti.
Provider e modello di ogni assistente si cambiano anche via API, senza passare dal portale:
PATCH /api/v1/assistants/{key}/runtime/llm
Con BYOK colleghi ad AI4CALL le credenziali del tuo account presso il provider (API key, service account, chiavi IAM o token) al posto di quelle di AI4CALL. Le richieste ai modelli partono dal tuo account e il provider le fattura direttamente a te.
I consumi del componente che usi con la tua chiave (LLM, voce o trascrizione) non scalano il credito di ricarica AI4CALL.
Con volumi alti è la scelta più conveniente: paghi le tariffe del tuo contratto con il provider, senza markup.
Account, regione e accordo sul trattamento dei dati (DPA) li gestisci tu con il provider: un punto in più per i requisiti GDPR.
Alcuni provider si usano solo con le tue credenziali, ad esempio Anthropic, Google Gemini, OpenRouter, Vertex AI e AWS Bedrock.
Email e portalApiKey negli header per l'account, assistantApiKey nel path per il singolo assistente. Solo HTTPS.
Limita l'accesso alle API ai tuoi server, gestendo la lista via /account/allowed-ips.
Leggi e regola le chiamate concorrenti e per periodo con /account/call-limits.
Endpoint sotto /api/v1. Le modifiche non retro-compatibili arriveranno in una nuova major, con periodo di transizione.
Server in Europa e conformità GDPR. Health check pubblico su GET /health per il tuo monitoring.
Sì. Il piano Trial include un credito iniziale per fare chiamate di prova. Per separare test e produzione puoi usare credenziali dedicate; se ti serve un account di test aggiuntivo, contattaci dal portale.
Le API sono REST/JSON standard descritte in OpenAPI 3.0.3: funzionano con qualsiasi client HTTP. Da Swagger puoi scaricare openapi.yaml e generare un client tipizzato con strumenti come OpenAPI Generator.
Definisci le proprietà da estrarre (es. email_cliente, esito) e un URL di hangup: a fine chiamata ricevi una POST con i dati estratti. Puoi anche ricevere via email la trascrizione completa.
Sì, con i tool personalizzati: definisci endpoint, metodo HTTP, parametri e autenticazione (Bearer, API Key, OAuth2) e l'AI li invoca quando servono. Per integrazioni più strutturate puoi collegare un tuo server MCP.
Il vincolo principale è il numero di chiamate concorrenti e per periodo previsto dal tuo piano, che puoi leggere e regolare con /account/call-limits. Per casi ad alto volume contattaci per un piano dedicato.
I consumi dipendono dal piano scelto (a consumo o con minuti inclusi). Nei piani Trial e Freedom puoi usare le tue API key per LLM e voci e pagare direttamente il provider. Dettagli nella pagina piani e prezzi.
Tutti gli endpoint business sono versionati sotto /api/v1/. Eventuali breaking change arriveranno in /api/v2/, con la v1 attiva durante la transizione.
Sì. Puoi scegliere provider europei (Mistral, IONOS, OVHcloud, Scaleway), l'endpoint europeo di OpenAI, i tuoi account Azure, Vertex AI o AWS Bedrock nella regione che preferisci, oppure un modello self-hosted con Ollama. La valutazione finale di conformità spetta al titolare del trattamento: per casi specifici contattaci.
Crea l'account, genera la chiave e fai la tua prima chiamata AI da codice. Se hai un progetto complesso, ne parliamo con il nostro team tecnico.
Chiama e prova la qualità dei nostri assistenti A.I.