APIActualizado: Junio 2026
Autenticación de API
La API pública de Xambee usa API Keys para autenticar las solicitudes. Incluye tu key en el header Authorization de cada request.
Disponible en plan Business y Enterprise
El acceso a la API pública requiere el plan Business o superior.
Introducción
La API pública de Xambee permite integrar tu sistema externo (ERP, CRM, sitio web, app propia) con el agente de Xambee. Puedes:
- Crear citas programáticamente desde tu sistema de reservas
- Enviar pedidos desde tu tienda en línea
- Crear reservas de hospedaje desde tu motor de reservas
- Consultar el estado de conversaciones
La URL base de la API es:
text
https://app.xambee.com/api/v1Crear una API Key
- Ve a Configuración → API
- Haz clic en Crear API Key
- Dale un nombre descriptivo (ej: "Integración sitio web", "CRM")
- Copia la key inmediatamente — solo se muestra una vez
Importante
Guarda la API Key en un lugar seguro (un gestor de contraseñas o un vault de secretos). No se puede ver después de crearla — si la pierdes, deberás crear una nueva y actualizar tus integraciones.
Puedes tener hasta 5 API Keys activas simultáneamente. Cada key tiene un nombre y fecha de creación. Puedes revocarlas individualmente.
Usar la API Key
Incluye la key en el header Authorization de cada request usando el esquema Bearer:
bash
curl -X POST https://app.xambee.com/api/v1/citas \
-H "Authorization: Bearer xam_tu_api_key_aqui" \
-H "Content-Type: application/json" \
-d '{ ... }'En JavaScript/TypeScript:
typescript
const response = await fetch('https://app.xambee.com/api/v1/citas', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.XAMBEE_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ /* ... */ }),
})
const data = await response.json()Consejo
Nunca incluyas la API Key directamente en el código del cliente (frontend). Siempre úsala desde el servidor, y guárdala como variable de entorno.
Seguridad
- Solo HTTPS — La API rechaza conexiones HTTP no seguras
- API Key = acceso completo — Una key comprometida tiene acceso a todos los datos de tu negocio. Rotarla inmediatamente si sospechas que fue expuesta.
- Por sucursal — Cada API Key pertenece a la sucursal activa cuando fue creada. No tiene acceso a otras sucursales de la misma cuenta.
- IP Allowlist (Enterprise) — En el plan Enterprise puedes restringir las API Keys a rangos de IP específicos.
Rate limits
| Plan | Requests por minuto | Requests por día |
|---|---|---|
| Business | 60 | 10,000 |
| Enterprise | 300 | 100,000 |
Al exceder el rate limit, la API responde con 429 Too Many Requests. Los headers de respuesta incluyen:
text
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1751234567Errores de autenticación
| Código HTTP | Error | Causa |
|---|---|---|
401 | UNAUTHORIZED | Header Authorization ausente o mal formado |
401 | INVALID_API_KEY | La API Key no existe o fue revocada |
403 | INSUFFICIENT_CREDITS | Sin saldo de créditos para ejecutar la acción |
429 | RATE_LIMIT_EXCEEDED | Demasiadas requests en el período |
Todos los errores siguen el formato JSON:
json
{
"error": {
"code": "INVALID_API_KEY",
"message": "The provided API key is invalid or has been revoked.",
"status": 401
}
}