Skip to content

Mejores prácticas

Recomendaciones para integrar de forma segura y estable con la API.

Seguridad de las llaves

  • Nunca expongas el Secret en el frontend, en repositorios públicos ni en logs. Úsalo solo en el servidor o en entornos seguros.
  • Rota las llaves periódicamente y al cambiar de entorno (desarrollo → producción).
  • Usa llaves distintas por entorno y por aplicación para poder revocar una sin afectar otras.
  • Si el Secret se filtra, revoca la llave de inmediato en Configuración > Integraciones y crea una nueva.

Uso del endpoint

  • Usa el endpoint de producción (https://api.abaco.hn) solo en producción. En desarrollo, usa la URL que te proporcione tu equipo.
  • No hardcodees la URL en el código; usa variables de entorno o configuración por entorno.
  • Envía siempre el header Authorization (o X-API-Key) en todas las peticiones; no hay sesión por cookie para la API con llave.

Peticiones y rendimiento

  • Implementa reintentos con backoff ante errores 5xx o timeouts, sin saturar el servidor.
  • Usa paginación en los listados (parámetros que exponga la API) en lugar de traer todos los registros.
  • Cachea datos que cambien poco (por ejemplo listas de precios o catálogos) según la lógica de tu aplicación, respetando la coherencia que necesites.

Validación y errores

  • Valida los datos antes de enviarlos y maneja siempre los códigos de error (4xx, 5xx) en tu aplicación.
  • Lee el cuerpo de las respuestas de error; suelen incluir mensajes o detalles por campo que ayudan a corregir la petición.
  • Registra errores (sin incluir el Secret) para depuración y soporte.

Resumen

PrácticaRecomendación
SecretSolo en servidor; nunca en frontend ni en logs
LlavesUna por entorno/app; rotar y revocar si hay fuga
EndpointConfigurable; producción solo en producción
ErroresReintentos con backoff; leer cuerpo de error
ListadosPaginar; cachear cuando tenga sentido

Para más detalles sobre autenticación y credenciales, ver Autenticación y Extracción de endpoint y llaves.

Documentación API abaco · Changelog