API REST de la plataforma
Crea y configura asistentes, prompts, voz TTS/ASR/LLM, bases de conocimiento RAG, herramientas y analytics. Todo lo que haces en el portal, hecho con código.
API REST y webhooks para que los asistentes de voz de AI4CALL llamen, respondan y actúen dentro de tus sistemas. Especificación OpenAPI, ejemplos listos para copiar, sin SDK que instalar.
Prueba gratuita con crédito inicial incluido.
/api/v1# Haz que tu asistente IA llame a un lead
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" }
}'
// Haz que tu asistente IA llame a un lead
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());
# Haz que tu asistente IA llame a un lead
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)
// Haz que tu asistente IA llame a un lead
$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 llamada, capa por capa: la voz es solo la primera. Cada fila es un punto donde tu código puede intervenir.
Clínica Bianchi, buenos días Marco. ¿En qué puedo ayudarle?
Tu servidor recibe el número de quien llama, lo reconoce y enriquece el prompt con los datos del cliente.
webhook pre-llamada
El LLM responde usando la base de conocimiento y llama a tus herramientas cuando necesita datos o acciones.
herramientas HTTP · MCP · RAG
Transferencia, redirección o cierre. La IA extrae los campos que definas y los envía con un POST a tu URL de colgado.
webhook de colgado
Historial de llamadas, consumos, eventos de herramientas y SMS para llevar a tu CRM, data warehouse o BI.
/account/analytics/*
AI4CALL envía un POST a tu endpoint. Responde con enable para aceptar o rechazar la llamada y con callerInfo para dar contexto al asistente: los campos se añaden al 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 lo que necesitas: desde un único webhook hasta automatizar toda la plataforma.
Crea y configura asistentes, prompts, voz TTS/ASR/LLM, bases de conocimiento RAG, herramientas y analytics. Todo lo que haces en el portal, hecho con código.
Un POST desde tu backend y el asistente llama a tu cliente, por la troncal de AI4CALL o por tu PBX. Envía metadata propios (lead, ticket, pedido) y recupéralos en analytics.
Antes de que el asistente conteste, AI4CALL llama a tu endpoint con el número de quien llama. Tú decides si aceptar la llamada y qué contexto dar a la IA.
En plena llamada, el asistente invoca tus API: busca clientes, abre tickets, consulta pedidos. Autenticación Bearer, API Key u OAuth2, o tu propio servidor MCP.
Conecta el asistente a tu centralita mediante troncal SIP o el módulo FreePBX, y conserva los números y el enrutamiento que ya tienes.
La API no sustituye al portal de AI4CALL: lo complementa, con la misma lógica. Automatizas solo lo que necesitas y para todo lo demás tienes la interfaz gráfica, sin tener que construir tu propio panel.
Un flujo típico: el equipo configura y ajusta el asistente desde el portal, y el desarrollador integra llamadas salientes, webhooks y analytics vía API.
Sin SDK ni dependencias: basta con un cliente HTTP.
Regístrate en el portal y crea tu primer asistente. La prueba incluye crédito para llamadas de test.
Ir al portal →Crea una clave por entorno (test, producción) en el portal. Se envía en las cabeceras junto con tu email.
Cómo generar la API key →Lista tus asistentes para obtener la assistantApiKey y después lanza una llamada saliente o configura prompt y voz.
curl https://client-api.ai4call.com/api/v1/assistants \
-H "x-client-email: you@company.com" \
-H "x-portal-api-key: $AI4CALL_PORTAL_KEY"
Las principales áreas expuestas por client-api.ai4call.com. Peticiones, respuestas y errores están documentados en 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
Sin dependencia de un único proveedor: para cada asistente eliges el modelo que mejor encaja en calidad, coste, latencia y requisitos de privacidad. Y lo cambias cuando quieras, también vía API.
Dónde se procesan los datos de una llamada depende también de los modelos que uses. Con AI4CALL compones el pipeline según tus requisitos de privacidad y los de tus clientes.
El proveedor y el modelo de cada asistente también se cambian vía API, sin pasar por el portal:
PATCH /api/v1/assistants/{key}/runtime/llm
Con BYOK conectas a AI4CALL las credenciales de tu cuenta en el proveedor (API key, service account, claves IAM o token) en lugar de las de AI4CALL. Las peticiones a los modelos salen de tu cuenta y el proveedor te las factura directamente.
El consumo del componente que usas con tu clave (LLM, voz o transcripción) no descuenta tu crédito de recarga de AI4CALL.
Con volúmenes altos es la opción más económica: pagas las tarifas de tu contrato con el proveedor, sin margen añadido.
Cuenta, región y acuerdo de tratamiento de datos (DPA) los gestionas tú directamente con el proveedor: un punto más para los requisitos del RGPD.
Algunos proveedores solo se usan con tus propias credenciales, por ejemplo Anthropic, Google Gemini, OpenRouter, Vertex AI y AWS Bedrock.
Email y portalApiKey en las cabeceras para la cuenta, assistantApiKey en la ruta para cada asistente. Solo HTTPS.
Limita el acceso a la API a tus servidores gestionando la lista con /account/allowed-ips.
Consulta y ajusta las llamadas simultáneas y por periodo con /account/call-limits.
Endpoints bajo /api/v1. Los cambios incompatibles llegarán en una nueva versión mayor, con periodo de transición.
Servidores en Europa y cumplimiento del RGPD. Health check público en GET /health para tu monitorización.
Sí. El plan Trial incluye crédito inicial para llamadas de prueba. Para separar test y producción puedes usar credenciales dedicadas; si necesitas una cuenta de test adicional, contáctanos desde el portal.
La API es REST/JSON estándar descrita en OpenAPI 3.0.3, así que funciona con cualquier cliente HTTP. Desde Swagger puedes descargar openapi.yaml y generar un cliente tipado con herramientas como OpenAPI Generator.
Define las propiedades a extraer (p. ej. email_cliente, resultado) y una URL de colgado: al terminar la llamada recibes un POST con los datos extraídos. También puedes recibir la transcripción completa por email.
Sí, con herramientas personalizadas: define endpoint, método HTTP, parámetros y autenticación (Bearer, API Key, OAuth2) y la IA las invoca cuando hace falta. Para integraciones más estructuradas puedes conectar tu propio servidor MCP.
El límite principal es el número de llamadas simultáneas y por periodo de tu plan, que puedes consultar y ajustar con /account/call-limits. Para grandes volúmenes, contáctanos para un plan dedicado.
El consumo depende de tu plan (por uso o con minutos incluidos). En los planes Trial y Freedom puedes usar tus propias API keys de LLM y voces y pagar directamente al proveedor. Detalles en la página de precios.
Todos los endpoints de negocio están versionados bajo /api/v1/. Los posibles breaking changes llegarán en /api/v2/, manteniendo la v1 activa durante la transición.
Sí. Puedes elegir proveedores europeos (Mistral, IONOS, OVHcloud, Scaleway), el endpoint europeo de OpenAI, tus cuentas de Azure, Vertex AI o AWS Bedrock en la región que prefieras, o un modelo autoalojado con Ollama. La evaluación final de cumplimiento corresponde al responsable del tratamiento: contáctanos para casos específicos.
Crea tu cuenta, genera tu clave y haz tu primera llamada IA desde código. ¿Tienes un proyecto complejo? Lo vemos con nuestro equipo técnico.
Chiama e prova la qualità dei nostri assistenti A.I.