Autenticación a las API´s

Las aplicaciones serán provistas para poder administrar el funcionamiento de los webhook y el acceso a la API para consumo de información. Se cuenta con dos versiones: una de pruebas y otra productiva.

Pueden existir más de una aplicación con distintas configuraciones, tanto en desarrollo como productivas.

Los webhooks relevarán que aplicación se encuentra disponible para emitir la acción y al consumir dependerá de cual aplicación se esté utilizando y se haya autenticado.

El cliente dispondrá de un ID y secret de aplicación el cual utilizará para autenticarse y consumir los servicios.

Colección en Postman: https://elements.getpostman.com/redirect?entityId=23247703-e58ccc9b-ed40-40f7-8b11-7c40bbf19c33&entityType=collection

 
Token de autorización

El token deberá pasarse con la propiedad “authorization” como parámetro del querystring, header o cookie. Se buscará la existencia en al menos una de estas tres opciones en el orden definido. Posee una persistencia de 24 horas. En caso de expiración se retornará un estado 403 (forbidden) en todos los endpoint protegidos a consumir.

GET

Producción: https://api.production.digiventures.la/authorization/:applicationId/:secret

QA: https://api.qa.digiventures.la/authorization/:applicationId/:secret

Parámetros:

  • id de aplicación

  • secret de la aplicación provista por digiventures. Propiedad no pública.

Retorno:

    • authorization: 

      • type: string

    • expiration:

      • type: string

      • format: date

    • api:

      • version: 

        • type: string


{

"authorization": "example",

"expiration": "2020-10-23T15:24:37.925Z",

"api": {

    "version": "1.0"

}

 
Consultar configuración de aplicación

La configuración se puede consultar por medio de la API únicamente con un token de autenticación válido sobre la misma.


Método: GET

URL: https://api..digiventures.la/:version/application/:id

Autorización: sí

Retorno: propiedades públicas del modelo. Puede utilizarse para conocer a qué métodos o propiedades puede acceder y/o modificar.

 

 Modelo completo
  • tenant:

    • type: ObjectId,

    • required: true

  • dev: 

    • type: Boolean,

    • default: true

  • enabled: 

    • type: Boolean,

    • default: true

  • webhook: 

    • endpoint: 

      • type: String

    • enabled:

      • type: Boolean,

      • default: false

    • unavailable:

      • type: Array,

      • default: []

    • version: 

      • type: String,

      • default: config.version

    • api:

      • legajo:

        • enabled:

          • type: Boolean,

          • default: true

        • unavailable:

          • type: Array,

          • default: []

        • hidden: 

          • type: Array,

          • default: ["thirdParty.reconquista", "linkRecover"]

      • user: 

        • enabled: 

          • type: Boolean

          • default: true

        • unavailable:

          • type: Array

          • default: []

        • hidden: 

          • type: Array

          • default: []

      • tenant:

        • enabled:

          • type: Boolean

          • default: true

        • unavailable:

          • type: Array

          • default: []

        • hidden:

          • type: Array

          • default: []

      • version:

      • type: String

      • default: config.version

  • timestamps: true

    • createdAt

    • updatedAt