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
  • Integrarte 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 REST APIs
  • 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ónIntegraciones
  3. Busca 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

API Endpoints

Base URL

https://api.aismarttalk.tech/v1

Authentication

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

Authorization: Bearer YOUR_API_TOKEN

Importar Documentos

Endpoint

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
chatModelIdstringSu identificador único del modelo de chat
documentsarrayArray de objetos de documento
documents[].titlestringTítulo del documento para identificación
documents[].contentstringContenido de texto completo
documents[].urlstringURL de origen (para referencia)
documents[].metadataobjectPairs 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 conocimientos programáticamente.

Endpoint

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

Endpoint

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 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 forma 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 obtener 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 alcanzadosActualiza 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)
TimeoutsReduce el tamaño del lote, intenta de nuevo con retroceso
Límite de tasa alcanzadoImplementa 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 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