Primeros pasos con la API v3
Aprende a autenticarte, hacer tu primera consulta y manejar respuestas con la nueva API pública de AgendaPro.
Requisitos
Para usar la API v3 de AgendaPro necesitas:
- Tener un plan Pro activo.
- Generar una API Key desde Configuraciones > Integraciones en tu cuenta de AgendaPro.
Autenticación
La API v3 usa autenticación por Bearer token. Incluye tu API Key en el header Authorization de cada request:
curl -H "Authorization: Bearer apk_live_tu_api_key" \
https://connect.agendapro.com/v3/locationsTu primera consulta
Obtén la lista de locales de tu empresa:
curl -H "Authorization: Bearer apk_live_tu_api_key" \
https://connect.agendapro.com/v3/locationsRespuesta:
{
"data": [
{
"id": 1,
"name": "Sucursal Providencia",
"address": "Av. Providencia 1234",
"phone": "+56912345678",
"email": "[email protected]"
}
],
"pagy": {
"current_page": 1,
"per_page": 30,
"total_records": 1,
"total_pages": 1
}
}Paginación
Todos los endpoints de listado retornan respuestas paginadas con un objeto pagy:
| Parámetro | Tipo | Default | Descripción |
|---|---|---|---|
page | integer | 1 | Número de página |
per_page | integer | 30 | Registros por página (máximo 100) |
curl -H "Authorization: Bearer apk_live_tu_api_key" \
"https://connect.agendapro.com/v3/bookings?page=2&per_page=50"Rate Limits
Se aplican dos límites por empresa:
- Burst limit: máximo de requests por minuto.
- Daily quota: máximo de requests por día.
Los headers de respuesta incluyen el estado actual:
| Header | Descripción |
|---|---|
X-RateLimit-Limit | Límite diario |
X-RateLimit-Remaining | Requests restantes del día |
X-RateLimit-Reset | Timestamp Unix cuando se reinicia la quota diaria |
X-RateLimit-Burst-Limit | Límite por minuto |
X-RateLimit-Burst-Remaining | Requests restantes en la ventana actual |
X-RateLimit-Burst-Reset | Timestamp Unix cuando se reinicia la ventana burst |
Cuando se excede cualquier límite, la API retorna 429 Too Many Requests con un header Retry-After.
Errores
Todas las respuestas de error usan el formato {error, detail}:
{
"error": "unauthorized",
"detail": "invalid_api_key"
}| Status | Error | Detail | Descripción |
|---|---|---|---|
| 401 | unauthorized | invalid_api_key | Token Bearer faltante o inválido |
| 401 | unauthorized | api_config_inactive | Acceso API inactivo para esta empresa |
| 404 | not_found | {resource} | Recurso no encontrado |
| 422 | restricted | {rule} | La operación viola una regla del comercio (por ejemplo, la política de cliente del comercio sobre editar o cancelar reservas). El detail identifica la regla específica. Aplica a endpoints de mutación; revisa la documentación de cada endpoint para los valores posibles de detail. |
| 429 | rate_limited | burst_limit_exceeded | Límite por minuto excedido |
| 429 | rate_limited | daily_quota_exceeded | Quota diaria excedida |
| 502 | upstream_unavailable | Servicio upstream no disponible |
Updated 13 days ago
