Publicaciones destacadas
Mi Empresa
Gestiona tu perfil completo, servicios, productos y configuración de IA
📊 Analytics de mi empresa
Métricas detalladas de tu presencia en CNID IA Estudio
Todavía no tenés una empresa registrada
Creá tu perfil de empresa en "Mi Empresa" para ver tus métricas.
Panel Super Administrador
Control total del ecosistema CNID IA Estudio
📡 API de CNID IA Estudio
Integrá la inteligencia artificial de Paraguay en tu aplicación
🔑 Tus API Keys
🔐 Autenticación
Todas las solicitudes deben incluir tu API key en el header X-API-Key:
curl -X POST https://tu-dominio.com/api/chat \\
-H "X-API-Key: TU_API_KEY_AQUI" \\
-H "Content-Type: application/json" \\
-d '{"messages":[{"role":"user","content":"Hola"}]}'const response = await fetch('/api/chat', {
method: 'POST',
headers: {
'X-API-Key': 'TU_API_KEY_AQUI',
'Content-Type': 'application/json'
},
body: JSON.stringify({
messages: [{ role: 'user', content: 'Hola' }]
})
});
const data = await response.json();import requests
response = requests.post('https://tu-dominio.com/api/chat', headers={
'X-API-Key': 'TU_API_KEY_AQUI',
'Content-Type': 'application/json'
}, json={
'messages': [{'role': 'user', 'content': 'Hola'}]
})
data = response.json()$ch = curl_init('https://tu-dominio.com/api/chat');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: TU_API_KEY_AQUI',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'messages' => [['role' => 'user', 'content' => 'Hola']]
]));
$response = curl_exec($ch);
$data = json_decode($response, true);/api/chat
Envía mensajes a la IA y recibí respuestas inteligentes. Soporta historial de conversación, selección de modelo, imágenes y ubicación.
Parámetros
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
messages | array | ✅ | Array de objetos {role, content}. Máx. 10 mensajes. |
model | string | ❌ | ID del modelo (default: openrouter/free) |
image | string | ❌ | Imagen en base64 para análisis visual |
hasImage | boolean | ❌ | true si se envía imagen |
userLocation | object | ❌ | {lat, lng, ciudad, barrio} para búsquedas locales |
curl -X POST https://tu-dominio.com/api/chat \\
-H "X-API-Key: TU_API_KEY" \\
-H "Content-Type: application/json" \\
-d '{
"messages": [{"role":"user","content":"¿Qué restaurantes hay cerca?"}],
"userLocation": {"lat":-25.29,"lng":-57.58,"ciudad":"Asunción","barrio":"Villa Morra"}
}'const res = await fetch('/api/chat', {
method: 'POST',
headers: { 'X-API-Key': 'TU_API_KEY', 'Content-Type': 'application/json' },
body: JSON.stringify({
messages: [{ role: 'user', content: '¿Qué restaurantes hay cerca?' }],
userLocation: { lat: -25.29, lng: -57.58, ciudad: 'Asunción', barrio: 'Villa Morra' }
})
});
const data = await res.json();
console.log(data.message);import requests
res = requests.post('https://tu-dominio.com/api/chat', headers={
'X-API-Key': 'TU_API_KEY',
'Content-Type': 'application/json'
}, json={
'messages': [{'role': 'user', 'content': '¿Qué restaurantes hay cerca?'}],
'userLocation': {'lat': -25.29, 'lng': -57.58, 'ciudad': 'Asunción', 'barrio': 'Villa Morra'}
})
print(res.json()['message'])$ch = curl_init('https://tu-dominio.com/api/chat');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: TU_API_KEY',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'messages' => [['role' => 'user', 'content' => '¿Qué restaurantes hay cerca?']],
'userLocation' => ['lat' => -25.29, 'lng' => -57.58, 'ciudad' => 'Asunción', 'barrio' => 'Villa Morra']
]));
$response = curl_exec($ch);
$data = json_decode($response, true);
echo $data['message'];Respuesta
{
"success": true,
"message": "¡Añejeke! En Villa Morra tenés...",
"conversationId": 42,
"model": "google/gemma-4-31b-it:free"
}/api/marketplace/publicaciones
Listado público de publicaciones del marketplace. No requiere autenticación.
Query Parameters
| Parámetro | Tipo | Descripción |
|---|---|---|
q | string | Búsqueda por texto |
categoria | string | Filtrar por categoría |
tipo | string | producto, servicio, vehiculo, inmueble, empleo, tienda |
ciudad | string | Filtrar por ciudad |
page | int | Paginación (default: 1) |
limit | int | Resultados por página (default: 20) |
curl "https://tu-dominio.com/api/marketplace/publicaciones?q=iphone&ciudad=Asuncion&page=1&limit=10"const res = await fetch('/api/marketplace/publicaciones?q=iphone&ciudad=Asuncion');
const data = await res.json();
console.log(data.data); // Array de publicaciones
console.log(data.total); // Total de resultados/api/marketplace/publicaciones/:id
Obtiene el detalle completo de una publicación del marketplace. Incrementa el contador de views automáticamente.
curl "https://tu-dominio.com/api/marketplace/publicaciones/42"/api/marketplace/publicaciones
Crea una nueva publicación en el marketplace. Requiere autenticación (JWT o API key). Estado inicial: pendiente (requiere aprobación).
| Parámetro | Tipo | Req. | Descripción |
|---|---|---|---|
titulo | string | ✅ | Título de la publicación |
precio | number | ✅ | Precio en guaraníes |
categoria | string | ✅ | Categoría |
descripcion | string | ❌ | Descripción |
tipo | string | ❌ | producto, servicio, vehiculo, etc. |
condicion | string | ❌ | nuevo, usado, semi-nuevo |
ciudad | string | ❌ | Ciudad |
barrio | string | ❌ | Barrio |
fotos | array | ❌ | Array de base64 images (max 10) |
contacto_whatsapp | string | ❌ | Número de WhatsApp |
💳 Planes y Límites
- ✅ 100 consultas IA / día
- ✅ Marketplace ilimitado
- ✅ Acceso público a publicaciones
- ❌ Sin soporte prioritario
- ✅ Consultas IA ilimitadas
- ✅ Marketplace ilimitado
- ✅ API Key con acceso completo
- ✅ Soporte prioritario
- ✅ Respuestas más rápidas
📊 Rate Limiting
Las consultas se cuentan por día (reset a las 00:00 PY). Si superás las 100 consultas gratis, recibirás un error 429 Too Many Requests con información para activar un plan.
Headers de respuesta incluyen información de uso:
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
{
"error": "Límite de consultas alcanzado",
"message": "Usaste tus 100 consultas gratis de hoy...",
"limite": 100,
"usadas": 100,
"upgrade": true,
"planes": [{ "nombre": "Básico", "mensual": 30000, "anual": 320000 }]
}⚠️ Códigos de Error
| Código | Significado | Solución |
|---|---|---|
400 | Bad Request | Verificá los parámetros enviados |
401 | No autorizado | Enviá un Bearer token válido o X-API-Key |
403 | Prohibido | No tenés permiso para esta acción |
404 | No encontrado | El recurso no existe |
429 | Rate limit | Esperá o activá un plan pago |
503 | Servicio no disponible | Todos los modelos de IA están ocupados. Reintentá. |
🔔 Webhooks (Próximamente)
Pronto podrás configurar webhooks para recibir notificaciones en tiempo real cuando:
- Una publicación sea aprobada o rechazada
- Llegue un nuevo lead a tu empresa
- Se genere una nueva review
- Tu plan esté por vencer
💰 Panel de Afiliado
Ganá el 30% por cada persona que invites y compre un plan
🔗 Tu link de referido
Compartí este link o código con tus amigos. Cuando compren un plan, ganás el 30%.
📊 Comisiones
Cargando...
💳 Retiros
Cargando...
👥 Tus referidos
Cargando...
📈 Panel de Inversionista
Recibí dividendos del 20% de las ganancias según tu aporte
📊 Dividendos
Cargando...
💳 Retiros
Cargando...