API de Chatbot con IA
Crea tus propias integraciones de chatbot con IA usando nuestra API REST. Envía mensajes y recibe respuestas de IA inteligentes para cualquier plataforma, aplicación o solución a medida.
Crea lo que quieras con IA
Nuestra API REST te permite integrar funciones de chatbot con IA en cualquier aplicación
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "¿Cuál es su horario?"}'
API REST sencilla
Un único punto de acceso para enviar mensajes y recibir respuestas de IA. Usa cURL, Python, JavaScript o cualquier lenguaje capaz de hacer peticiones HTTP. Sin SDK complejos.
{
"success": true,
"response": "Abrimos de lunes a viernes,
de 9 a 18 h. ¿En qué puedo ayudarle?",
"session_id": "abc123"
}
Respuestas inteligentes
La IA conoce tu negocio a fondo. Se apoya en tu sitio web, tus documentos y tus instrucciones para dar respuestas exactas y adecuadas a cada pregunta.
{
"message": "¿Cuál fue mi última pregunta?",
"session_id": "user_12345"
}
# La IA recuerda la conversación
Memoria de conversación
Usa identificadores de sesión para mantener el contexto. La IA recuerda los mensajes anteriores y responde de forma coherente a lo largo de varias interacciones.
Pensada para desarrolladores
Todo lo necesario para integrar funciones de chatbot con IA en tus aplicaciones
Diseño RESTful
Una API REST clara e intuitiva que sigue las buenas prácticas. Fácil de entender, de integrar y de mantener.
Autenticación sencilla
Autenticación segura mediante clave API. Pon tu clave en la cabecera y ya puedes hacer peticiones.
Tiempos de respuesta cortos
Optimizada para la velocidad. Respuestas de IA en milisegundos, no en segundos.
Gestión de sesiones
Seguimiento de conversaciones integrado con identificadores de sesión. Mantén el contexto en varios mensajes sin esfuerzo.
Multilingüe
La IA detecta el idioma del usuario y responde en él. Atiende a un público global sin trabajo adicional.
Segura y fiable
Cifrado HTTPS, límite de peticiones y 99,9 % de disponibilidad. Tu integración es segura y está siempre accesible.
Cómo funciona
Empieza con la API de Chatbot con IA en tres pasos sencillos
Regístrate y consigue la clave API
Crea tu cuenta y genera la clave API desde el panel. Tu IA usará automáticamente el contenido de tu sitio web.
Haz tu primera petición
Envía una petición POST con tu mensaje a nuestro punto de acceso de chat. La IA la procesa y devuelve una respuesta inteligente.
Integra donde quieras
Usa la API en tu aplicación móvil, tu sitio web, tus herramientas internas o cualquier plataforma propia. Las posibilidades están abiertas.
Casos de uso
La API de Chatbot con IA es versátil y puede dar soporte con IA en cualquier plataforma o aplicación que imagines.
- ✓ Aplicaciones móviles (iOS, Android, React Native)
- ✓ Aplicaciones web a medida
- ✓ Herramientas de soporte internas
- ✓ Asistentes de voz y sistemas IVR
- ✓ Bots de Slack, bots de Discord y más
import requests
response = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={"Authorization": "Bearer API_KEY"},
json={"message": "¡Hola!"}
)
print(response.json()["response"])
Por qué elegir nuestra API
Crea integraciones de chatbot con IA potentes con el mínimo esfuerzo
Lanza antes
Ahórrate meses de desarrollo de IA. Integra nuestra API y ten funciones de chatbot inteligente en tu aplicación hoy mismo.
Siempre al día
Actualiza el conocimiento de tu IA cuando quieras desde el panel. No hace falta cambiar la API cuando tu negocio evoluciona.
Rentable
Paga solo por lo que uses. Sin costes de infraestructura, sin costes de entrenamiento de IA, sin carga de mantenimiento.
Preguntas frecuentes
Todo lo que necesitas saber sobre la API de Chatbot con IA
Tu primera petición
Un solo POST devuelve una respuesta de IA basada en tu base de conocimiento. Sin SDK que instalar.
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "¿Hacen envíos a España?"}'
# 200 OK
{
"success": true,
"response": "Sí, enviamos a España en 3-5 días.",
"session_id": "api_1042_87"
}
Antes de la primera llamada, añade contenido a tu base de conocimiento. La API responde a partir de tu documentación, tus precios y tus condiciones. Con la base vacía las respuestas son genéricas.
Autenticación
Cada petición lleva tu clave API en una cabecera. Se aceptan dos formas de cabecera y se comportan igual. Elige una. Genera la clave en Ajustes → API.
Solo cabeceras. La clave nunca se lee de la cadena de consulta. Una clave en una URL acaba en los registros del servidor, los registros de proxy, el historial del navegador y las cabeceras Referer. Por eso ese método no se admite.
# Opción A - token bearer
Authorization: Bearer YOUR_API_KEY
# Opción B - cabecera propia
X-API-Key: YOUR_API_KEY
El punto de acceso de chat
POST https://asyntai.com/api/v1/chat/
Cuerpo de la petición
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
message | string | obligatorio | El mensaje del usuario. Un valor vacío devuelve un error 400. |
session_id | string | opcional | Tu propio identificador para una conversación. Envía el mismo valor otra vez para mantener el contexto. Si lo omites, la cuenta usa una única sesión compartida. |
website_id | integer | opcional | Cuál de tus agentes debe responder. Si lo omites, se usa tu sitio principal o el primero de la cuenta. |
Cuerpo de la respuesta
| Campo | Tipo | Descripción |
|---|---|---|
success | boolean | true cuando la IA ha generado una respuesta. |
response | string | El texto de la respuesta. |
session_id | string | La sesión bajo la que se registró este mensaje. Devuélvela en la siguiente llamada. |
Memoria de conversación
Envía un session_id estable y los últimos 10 mensajes de esa conversación se aportan como contexto, de modo que una repregunta como "¿y cuánto cuesta eso?" se entiende bien. Usa un session_id distinto por usuario final. Si lo omites, todas las llamadas de la cuenta comparten un solo hilo, algo casi nunca deseable en producción.
// primera llamada
{ "message": "¿Hacen envíos a España?", "session_id": "user-8842" }
// segunda llamada - mismo session_id, por eso se entiende "eso"
{ "message": "¿Cuánto cuesta eso?", "session_id": "user-8842" }
Ejemplos de integración
Copia, pega, cambia la clave.
const res = await fetch('https://asyntai.com/api/v1/chat/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
message: '¿Hacen envíos a España?',
session_id: 'user-8842'
})
});
const data = await res.json();
if (!data.success) throw new Error(data.error);
console.log(data.response);
// No expongas nunca tu clave API en el código del navegador. Llama a esto desde
// tu propio servidor o una función edge y reenvía el resultado.
import requests
resp = requests.post(
"https://asyntai.com/api/v1/chat/",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"message": "¿Hacen envíos a España?",
"session_id": "user-8842",
},
timeout=30,
)
data = resp.json()
if not data["success"]:
raise RuntimeError(data["error"])
print(data["response"])
$ch = curl_init('https://asyntai.com/api/v1/chat/');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer YOUR_API_KEY',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'message' => '¿Hacen envíos a España?',
'session_id' => 'user-8842',
]),
]);
$data = json_decode(curl_exec($ch), true);
curl_close($ch);
if (empty($data['success'])) {
throw new Exception($data['error']);
}
echo $data['response'];
const ASYNTAI_KEY = process.env.ASYNTAI_API_KEY;
export async function ask(message, sessionId) {
const res = await fetch('https://asyntai.com/api/v1/chat/', {
method: 'POST',
headers: {
'X-API-Key': ASYNTAI_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({ message, session_id: sessionId })
});
if (res.status === 429) throw new Error('Límite mensual de mensajes alcanzado');
const data = await res.json();
if (!data.success) throw new Error(data.error);
return data.response;
}
curl -X POST https://asyntai.com/api/v1/chat/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"message": "¿Hacen envíos a España?",
"session_id": "user-8842"
}'
Respuestas de error
Cada fallo devuelve {"success": false, "error": "..."} con uno de estos códigos de estado.
| Status | Significado | Qué hacer |
|---|---|---|
400 | Cuerpo JSON inválido, falta message, o un website_id que no pertenece a tu cuenta. | Corrige los datos enviados. El texto de error indica el problema. |
401 | Falta la clave API, o la clave no corresponde a ninguna cuenta. | Revisa el nombre de la cabecera y si la clave se ha regenerado. |
403 | La cuenta usa el plan Free. El acceso a la API requiere Starter, Standard o Pro. | Cambiar de plan. |
429 | Límite mensual de mensajes alcanzado. El cuerpo incluye además "limit_reached": true. | Reduce el ritmo y cambia de plan, o espera al siguiente periodo de facturación. |
503 | El servicio de IA no pudo responder a esta petición. | Reinténtalo tras una espera. El fallo es pasajero. |
Comprueba success, no solo el código de estado. Trata el 429 de forma explícita si envías muchas peticiones; si no, un límite alcanzado parece un fallo cualquiera para tus usuarios.
Referencia completa de puntos de acceso
URL base https://asyntai.com/api/v1/. Todos los puntos de acceso usan la misma autenticación.
Chat
| Método | Ruta | Función |
|---|---|---|
| POST | /chat/ | Enviar un mensaje y recibir una respuesta de IA. |
Sitios y agentes
| Método | Ruta | Función |
|---|---|---|
| GETPOST | /websites/ | Listar tus agentes, o crear uno e iniciar el rastreo. |
| GET | /websites/{id}/ | Detalles de un agente. |
| GETPATCH | /websites/{id}/settings/ | Leer o cambiar los ajustes del widget. |
| GETPUT | /websites/{id}/instructions/ | Leer o sustituir las instrucciones de la IA. |
Base de conocimiento
| Método | Ruta | Función |
|---|---|---|
| GET | /knowledge/ | Listar todo aquello en lo que la IA puede apoyarse. |
| POST | /knowledge/text/ | Añadir texto sin formato. |
| POST | /knowledge/url/ | Añadir una página por URL. |
| POST | /knowledge/spreadsheet/ | Añadir una hoja de cálculo. |
| GETDELETE | /knowledge/{context_id}/ | Leer o eliminar un elemento. |
| POSTPUT | /knowledge/{context_id}/tags/ | Gestionar las etiquetas de un elemento. |
Conversaciones y datos
| Método | Ruta | Función |
|---|---|---|
| GET | /conversations/ | Conversaciones anteriores. |
| GET | /sessions/ | Sesiones con el número de mensajes. |
| GET | /leads/ | Datos de contacto recogidos por el chatbot. |
| GET | /account/ | Plan, uso y límites. |
Webhooks
| Método | Ruta | Función |
|---|---|---|
| GETPOST | /webhooks/ | Listar o registrar un webhook. |
| DELETE | /webhooks/{webhook_id}/ | Eliminar un webhook. |
Requisitos y límites
| Elemento | Detalle |
|---|---|
| Plan | El acceso a la API requiere un plan de pago: Starter, Standard o Pro. Las cuentas Free reciben un error 403. |
| Cupo de mensajes | Los mensajes de la API se descuentan del mismo cupo mensual que las conversaciones del widget. Consulta la cifra actual con GET /api/v1/account/. |
| Profundidad del historial | Se aportan como contexto hasta 10 mensajes anteriores por session_id. |
| Transporte | Solo HTTPS. Cuerpos de petición y respuesta en JSON. |
| Cambio de clave | Regenera la clave en Ajustes → API. La clave anterior deja de funcionar al instante. |
¿Listo para crear con IA?
Crea una cuenta gratuita y prueba el chatbot en el panel. Después elige un plan de pago para obtener tu clave API.