Saltar al contenido principal

Integración de API

Envía datos programáticamente a tu base de conocimientos de AI SmartTalk utilizando nuestra API REST. Ideal para integraciones personalizadas, pipelines automatizados y cualquier fuente de datos no cubierta por nuestros conectores nativos.


Descripción General​

La integración de API te permite:

  • Enviar documentos directamente a tu base de conocimientos
  • Actualizar contenido programáticamente
  • Eliminar entradas obsoletas
  • Construir pipelines de datos personalizados
  • Integrar con cualquier sistema que pueda hacer solicitudes HTTP

Requisitos Previos​

Antes de comenzar, asegúrate de tener:

  • Una cuenta activa de AI SmartTalk
  • Acceso a la API habilitado (verifica tu plan)
  • Conocimientos básicos de APIs REST
  • Una herramienta para hacer solicitudes HTTP (curl, Postman o el código de tu aplicación)

Obtención de tus Credenciales de API​

Paso 1: Acceder a la Configuración de API​

  1. Inicia sesión en tu cuenta de AI SmartTalk
  2. Navega a Configuración → Integraciones
  3. Encuentra API y haz clic en Configurar

Paso 2: Generar Token de API​

  1. Haz clic en Generar Nuevo Token
  2. Copia tu ID de Modelo de Chat y Token de API
  3. Almacena esto de forma segura—¡el token se muestra solo una vez!

⚠️ Advertencia de Seguridad: Nunca expongas tu token de API en código del lado del cliente o en repositorios públicos.


Puntos Finales de API​

URL Base​

https://api.aismarttalk.tech/v1

Autenticación​

Todas las solicitudes requieren tu token de API en el encabezado:

Authorization: Bearer YOUR_API_TOKEN

Puntos finales de la API​

URL base​

https://api.aismarttalk.tech/v1

Autenticación​

Todas las solicitudes requieren su token de API en el encabezado:

Authorization: Bearer YOUR_API_TOKEN

Importar Documentos​

Punto final​

POST /documents/import

Cuerpo de la Solicitud​

{
"chatModelId": "your-chat-model-id",
"documents": [
{
"title": "Documentación del Producto",
"content": "El contenido completo de su documento va aquí...",
"url": "https://example.com/docs/product",
"metadata": {
"category": "documentation",
"language": "en"
}
}
]
}

Parámetros​

CampoTipoRequeridoDescripción
chatModelIdstring✅Su identificador único del modelo de chat
documentsarray✅Array de objetos de documento
documents[].titlestring✅Título del documento para identificación
documents[].contentstring✅Contenido de texto completo
documents[].urlstring❌URL de origen (para referencia)
documents[].metadataobject❌Pares clave-valor personalizados

Respuesta​

{
"success": true,
"imported": 1,
"documents": [
{
"id": "doc_abc123",
"title": "Documentación del Producto",
"status": "processing"
}
]
}

Ejemplo: cURL​

curl -X POST https://api.aismarttalk.tech/v1/documents/import \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chatModelId": "your-chat-model-id",
"documents": [
{
"title": "Guía para Comenzar",
"content": "Bienvenido a nuestra plataforma. Aquí está cómo empezar...",
"url": "https://docs.example.com/getting-started"
}
]
}'

Consultar Documentos​

Haga preguntas contra su base de conocimiento de manera programática.

Punto final​

POST /chat/query

Cuerpo de la Solicitud​

{
"chatModelId": "your-chat-model-id",
"query": "¿Cómo restablezco mi contraseña?",
"options": {
"maxTokens": 500,
"temperature": 0.7
}
}

Respuesta​

{
"success": true,
"response": "Para restablecer su contraseña, navegue a Configuración > Seguridad > Cambiar Contraseña...",
"sources": [
{
"documentId": "doc_abc123",
"title": "Guía de Seguridad",
"relevance": 0.95
}
]
}

Recuperar Documentos​

Obtenga documentos que coincidan con una consulta (sin respuesta de IA).

Punto final​

POST /documents/search

Cuerpo de la Solicitud​

{
"chatModelId": "your-chat-model-id",
"query": "seguridad de contraseña",
"limit": 10
}

Respuesta​

{
"success": true,
"documents": [
{
"id": "doc_abc123",
"title": "Mejores Prácticas de Seguridad",
"content": "...",
"relevance": 0.92
}
]
}

Ejemplos de Código​

Python​

import requests

API_TOKEN = "your-api-token"
CHAT_MODEL_ID = "your-chat-model-id"

def import_document(title: str, content: str, url: str = None):
response = requests.post(
"https://api.aismarttalk.tech/v1/documents/import",
headers={
"Authorization": f"Bearer {API_TOKEN}",
"Content-Type": "application/json"
},
json={
"chatModelId": CHAT_MODEL_ID,
"documents": [{
"title": title,
"content": content,
"url": url
}]
}
)
return response.json()

# Importar un documento
result = import_document(
title="FAQ: Envío",
content="Ofrecemos envío gratuito en pedidos superiores a $50...",
url="https://shop.example.com/faq/shipping"
)
print(result)

JavaScript / Node.js​

const API_TOKEN = 'your-api-token';
const CHAT_MODEL_ID = 'your-chat-model-id';

async function importDocument(title, content, url = null) {
const response = await fetch('https://api.aismarttalk.tech/v1/documents/import', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
chatModelId: CHAT_MODEL_ID,
documents: [{
title,
content,
url
}]
})
});
return response.json();
}

// Importar un documento
importDocument(
'FAQ: Devoluciones',
'Puedes devolver artículos dentro de los 30 días posteriores a la compra...',
'https://shop.example.com/faq/returns'
).then(console.log);

PHP​

<?php
$apiToken = 'your-api-token';
$chatModelId = 'your-chat-model-id';

$data = [
'chatModelId' => $chatModelId,
'documents' => [
[
'title' => 'Especificaciones del Producto',
'content' => 'Nuestro widget tiene las siguientes especificaciones...',
'url' => 'https://example.com/products/widget'
]
]
];

$ch = curl_init('https://api.aismarttalk.tech/v1/documents/import');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $apiToken,
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

print_r(json_decode($response, true));

Casos de Uso​

Integración de CMS Personalizado​

Sincronizar contenido desde un CMS propietario:

  • Conectar con eventos de publicación del CMS
  • Enviar contenido nuevo/actualizado a AI SmartTalk
  • Eliminar contenido eliminado

Canal de Datos​

Importar desde almacenes de datos:

  • Exportar datos relevantes a JSON
  • Importación por lotes a través de la API
  • Programar actualizaciones regulares

Productos de Comercio Electrónico​

Sincronizar datos de productos desde sistemas personalizados:

  • Descripciones de productos
  • Especificaciones
  • Información de precios

Sistemas Internos​

Conectar herramientas internas no soportadas de manera nativa:

  • Wikis personalizados
  • Bases de datos heredadas
  • Aplicaciones propietarias

Límites de Tasa​

EndpointLímite de Tasa
Importación de Documentos100 solicitudes/minuto
Consulta60 solicitudes/minuto
Búsqueda60 solicitudes/minuto

Nota: Los límites de tasa varían según el plan. Contacta al soporte para límites más altos.


Manejo de Errores​

Formato de Respuesta de Error​

{
"success": false,
"error": {
"code": "INVALID_TOKEN",
"message": "El token de API proporcionado es inválido o ha expirado"
}
}

Códigos de Error Comunes​

CódigoDescripciónSolución
INVALID_TOKENToken inválido o expiradoRegenera el token de API
INVALID_MODEL_IDID de modelo de chat desconocidoVerifica tu ID de Modelo de Chat
RATE_LIMITEDDemasiadas solicitudesImplementa retroceso, intenta más tarde
INVALID_REQUESTCuerpo de solicitud mal formadoVerifica la estructura JSON
DOCUMENT_TOO_LARGEEl contenido excede el límiteDivide en documentos más pequeños
QUOTA_EXCEEDEDLímites del plan alcanzadosMejora o contacta al soporte

Solución de Problemas​

Fallos de Autenticación​

ProblemaSolución
401 No AutorizadoVerifica que el token sea correcto y esté activo
Token no funcionaRegenera el token en la configuración
Token expiradoLos tokens no expiran, pero pueden ser revocados

Problemas de Importación​

ProblemaSolución
Respuesta vacíaVerifica que el Content-Type sea application/json
Documento no apareceEspera el procesamiento; verifica la sección de Conocimiento
Importación parcialAlgunos documentos pueden tener errores de validación

Problemas de Rendimiento​

ProblemaSolución
Importaciones lentasAgrupa documentos (máx. 100 por solicitud)
Tiempos de esperaReduce el tamaño del lote, intenta de nuevo con retroceso
Limitado por tasaImplementa retroceso exponencial

Mejores Prácticas​

  1. Importaciones por lotes: Envía múltiples documentos por solicitud (hasta 100)
  2. Títulos únicos: Usa títulos descriptivos y únicos para cada documento
  3. Contenido estructurado: Un contenido bien formateado mejora las respuestas de la IA
  4. Etiquetado de metadatos: Usa metadatos para categorización y filtrado
  5. Tokens seguros: Almacena tokens en variables de entorno
  6. Manejo de errores: Implementa lógica de reintento con retroceso exponencial
  7. Monitorea el uso: Rastrea las llamadas a la API en relación con los límites de tu plan

Documentación Relacionada​

¿Listo para elevar tu
experiencia de usuario?

Despliega asistentes de IA que deleiten a los clientes y escalen con tu negocio.

Cumple con GDPR