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/v1

Crear una API Key

  1. Ve a Configuración → API
  2. Haz clic en Crear API Key
  3. Dale un nombre descriptivo (ej: "Integración sitio web", "CRM")
  4. 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

PlanRequests por minutoRequests por día
Business6010,000
Enterprise300100,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: 1751234567

Errores de autenticación

Código HTTPErrorCausa
401UNAUTHORIZEDHeader Authorization ausente o mal formado
401INVALID_API_KEYLa API Key no existe o fue revocada
403INSUFFICIENT_CREDITSSin saldo de créditos para ejecutar la acción
429RATE_LIMIT_EXCEEDEDDemasiadas 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
  }
}