Saltar al contenido principal

Catalogo de Endpoints (SLA, idempotencia y límites)

Este catálogo complementa OpenAPI con reglas operativas que deben respetar frontend, backend y QA.

1. Convenciones operativas

  • timeout_ms: tiempo máximo de respuesta del endpoint.
  • retries: solo aplica a llamadas internas entre servicios, nunca para mutaciones no idempotentes sin llave.
  • idempotency_key: obligatorio en operaciones de creación de alto impacto (appointments, payments, notifications/send).
  • error_budget: porcentaje mensual permitido de errores 5xx + timeouts.

2. Endpoints críticos por módulo

MóduloMétodo + RutaOwnerIdempotenciaRate limittimeout_msretries internosSLO p95Error budget
AuthPOST /api/v1/auth/loginauth-serviceNo (credenciales)10 req/5 min por IP+email12000< 300ms0.5%
AuthPOST /api/v1/auth/refreshauth-serviceSí (rotación controlada)30 req/10 min por sesión8000< 200ms0.5%
AuthPOST /api/v1/auth/logoutauth-service60 req/10 min por sesión8000< 200ms0.5%
RegistroPOST /api/v1/auth/registerauth-serviceSí (Idempotency-Key)5 req/15 min por email15000< 400ms1.0%
RegistroPOST /api/v1/auth/token/verifyauth-serviceSí (token hash + nonce)5 req/15 min por email10000< 350ms1.0%
CatálogosGET /api/v1/meta/countriescatalog-serviceN/A (read)120 req/min por IP9001< 250ms1.0%
CatálogosPOST /api/v1/admin/catalogs/geo/countriescatalog-serviceSí (Idempotency-Key)20 req/min por admin12000< 350ms1.0%
BúsquedaGET /api/v1/search/doctorssearch-serviceN/A (read)100 req/min por IP10001< 300ms1.0%
BúsquedaGET /api/v1/search/entitiessearch-serviceN/A (read)100 req/min por IP10001< 300ms1.0%
AgendaPOST /api/v1/appointmentsappointments-serviceSí (Idempotency-Key)20 req/min por usuario15000< 400ms1.0%
AgendaPATCH /api/v1/appointments/{id}appointments-serviceSí (If-Match/version)30 req/min por usuario12000< 400ms1.0%
DisponibilidadGET /api/v1/availabilityavailability-serviceN/A (read)120 req/min por IP10001< 300ms1.0%
NotificacionesPOST /api/v1/notifications/sendnotification-serviceSí (Idempotency-Key)30 req/min por servicio12002< 2000ms1.5%
ReseñasPOST /api/v1/reviewsreview-serviceSí (Idempotency-Key)10 req/min por usuario12000< 500ms1.0%
CuponesPOST /api/v1/professional/couponspromotions-serviceSí (Idempotency-Key)20 req/min por owner12000< 500ms1.0%

3. Reglas de implementación

  1. Todo endpoint POST de creación debe documentar explícitamente si requiere Idempotency-Key.
  2. Mutaciones críticas deben responder 409 cuando detecten duplicidad semántica.
  3. Las respuestas deben incluir trace_id para correlación observabilidad.
  4. Rate limit debe estar en gateway/API layer y reflejarse en Swagger (429 + ejemplo).
  5. QA debe validar límites y timeouts en pruebas de carga controlada.

4. Checklist de adopción

  • OpenAPI contiene 429 y ejemplo de respuesta por endpoint crítico.
  • Endpoints de mutación crítica validan idempotencia.
  • Dashboard de SLO incluye p95 y error budget por módulo.
  • Runbook de incidentes referencia este catálogo para diagnóstico.