View on GitHub

Bienvenido al sitio de GitHub de documentación de GLA.

Portal principal para acceder a las guias de diseño, estándares, y prácticas de desarrollo en GLA.

Requisitos para APIs públicas

Falta explicar cómo deben ser los despliegues, proxies reversos, api managers, etc

Se entiende por API pública a todo endpoint exportado a internet desde GLA y que cualquier dispositivo o desarrollador tenga el poder de invocarlo. Como guía de diseño recurrir a este documento, ya que acá solo establecemos el estilo del url y path, versionado, y seguridad.

Urls

Las apis públicas deben tener la forma: http://api.andreani.com/{version}/{coleccion}/{id}

Por ejemplo:

POST https://api.andreani.com/v1/ordenesDeEnvio
GET/DELETE https://api.andreani.com/v1/ordenesDeEnvio/L95486800

Versionado

Es de vital importancia que las APIs estén versionadas porque eso nos permite cerrar versiones nuevas con clientes independientes y mantener compatibilidad con los más viejos. De esta forma a los segundos los podemos ir migrando de a poco.

Una nueva versión de un API sucede cuando el contrato de servicio cambia y esto requiere que los clientes de dicha API cambien también.

Seguridad

Todos los requests deben traer en el header x-authorization-token un token previamente negociado con:

GET https://api.andreani.com/login
donde en el header **Authorization** deben poner el usuario y password con tipo autenticación básica:

curl -X GET https://api.andreani.com/login -H authorization: Basic aWliYXBpdGVzdDpoNCMwazIzUQ== -H cache-control: no-cache

El token para usar va a venir en el response de ese GET en el header x-authorization-token.

El usuario y password se gestiona con Seguridad Informática.