Skip to main content
Skip table of contents

API Access Token

To use consume the Orchestrator API, it will first be necessary to consume the Access Token API.

The authentication method is through OAuth. In this case, Alignet will provide a "client_id" and a "client_secret" to be used for token generation.

Ambiente

EndPoint

Método

Development

https://auth.wip.alignet.io/token

POST

Pre-Production

https://auth.pp.alignet.io/token

POST

Production

https://auth.alignet.io/token

POST

Headers

Header

Value

Required

Content-Type

application/json

SI

ALG-API-VERSION

Versión del API a utilizar. Valores disponibles: 1618440906

SI???

CODE
"Content-Type":"application/json"

 

Request

Parámetro

Tipo

Long.

Descripción

Req.

action

Cadena

-

La intención del comercio. En este caso es "authorize".

SI

grant_type

Cadena

-

Tipo de solicitud. Para este caso “password”.

SI

client_id

Cadena

(AN)

100

ID asignado al Comercio.

Valor proporcionado por Alignet.

SI

client_secret

Cadena

(AN)

100

Secret asignado al Comercio.

Valor proporcionado por Alignet.

SI

audience

Cadena

-

Identificador único de las APIs Tokens y Charges a las que se solicita acceso. Valores disponibles:

https://api.dev.alignet.io

https://api.alignet.io

SI

username

Cadena

(AN)

100

Usuario del Comercio que solicita acceso.

Valor proporcionado por Alignet.

NO

password

Cadena

(AN)

100

Contraseña del Comercio que solicita acceso.

Valor proporcionado por Alignet.

NO

scope

Cadena

-

Lista de permisos que se desea tener con el Access Token. Los valores deben ir separados por espacio. Valores disponibles:

create:token

post:charges

delete:charges

offline_access (si se envía, en la respuesta se retorna un Refresh Token)

SI

CODE
{
   "action":"authorize",
   "grant_type":"password",
   "username":"commerce@email.com",
   "password":"123456",
   "audience":"https://api.dev.alignet.io",
   "client_id":"yhaPE3jtHXHMKUZBBFr9QS1x1FaXxr",
   "client_secret":"uTCetT3d4T-1NgXyTO66C0850xLJ5c7CwoyXm23NALxZ-MbwQxkqs1Q9ThwWfE",
   "scope":"create:token post:charges offline_access"
}

Response

Parámetro

Descripción

action

Proceso realizado, en este caso es "authorize".

success

Resultado de la operación:

true: Se procesó exitosamente.

false: No se procesó exitosamente.

access_token

Access Token necesario para consumir las APIs.

refresh_token

Token que permite solicitar nuevos Access Token sin necesidad de enviar Usuario y Contraseña.

scope

Permisos habilitados para el Access Token.

expires_in

Tiempo de vida del Access Token en segundos.

token_type

Tipo de Token, por el momento solo se utiliza “Bearer”.

authorization.meta.status.code

Código asociado al estado de la operación. Valores disponibles:

00: En caso de éxito

01: En caso de error

authorization.meta.status.message_ilgn.locale

Configuración del lenguaje usado para el mensaje del status code.

authorization.meta.status.message_ilgn.value

Mensaje resultante del proceso.

CODE
{
   "action":"authorize",
   "success":true,
   "access_token":"eyJhbGciOiJSUzI1NsInR5cCI6IkpXVCIsImtpZCI6IlVfR2ZLY.........",
   "scope":"create:token post:charges offline_access",
   "refresh_token":"p11tyL00fVo0EFd68qzQyBEDojWCuG8zyhQCA1B9_zL5zwZ.........",
   "expires_in":86400,
   "token_type":"Bearer",
   "authorization":{
      "meta":{
         "status":{
            "code":"00",
            "message_ilgn":[
               {
                  "locale":"es_PE",
                  "value":"Access Token creado"
               }
            ]
         }
      }
   }
}

 

To obtain the token you should call the endpoint https://auth.wip.alignet.io/token as in the following example:

 

CODE
import requests import json

url = "https://auth.wip.alignet.io/token"

payload = json.dumps({ "action": "authorize",
"grant_type": "client_credentials", "audience": "https://api.dev.alignet.io",
"client_id":  "z8WwAV7rd2jCU0SivwtQVv941kqZcEou",
"client_secret": "Rlz8td8ppm1Z1tpxsozWze7wR4p2rEFsfL32qAlznzuABiOqzPMx0bWl0nHjZBzr", "scope": "create:token post:charges"
})
headers = {
'ALG-API-VERSION': '1618440906',
'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload) 
print(response.text)

This will in turn give a response like so:

CODE

{
"action": "authorize", "success": true, "access_token":
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IlVfR2ZLYkNmUUhSRjJpYjA4cVdsdCJ9.ey Jpc3MiOiJodHRwczovL2Rldi1ocTBjZHBrai51cy5hdXRoMC5jb20vIiwic3ViIjoiYkNYblM4dGpVa mJpN0pZNFVBbWxwNUFqSDg4RUNOVk5AY2xpZW50cyIsImF1ZCI6Imh0dHBzOi8vOGVmdGd waDlrYS5leGVjdXRlLWFwaS51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsImlhdCI6MTY1MDQy NjgyOCwiZXhwIjoxNUwNTEzMjI4LCJhenAiOiJiQ1huUzh0alVqYmk3Slk0VUFtbHA1QWpIODh FQ05WTiIsInNjb3BlIjoiY3JlYXRlOnRva2VuIGFwaS10ZXN0OmNyZWF0ZTp0b2tlbiIsImd0eSI6I mNsaWVudC1jcmVkZW50aWFscyJ9.oZfuf7Kemi6PWHovWeiVWPnhAfLTZ5QiIJboJxyKlkmv 1nq- 4qjTH3xLH0EFEa3dRqcvWHFmgciR1VG7y6EAbBrpOTnBpPUNDqiba7aZUSgOMCAEqHs_QCf2 iyKXKxys7oWLNLhmo84pP5zPMiZD3sCdHfy_LzsolfMFiEmwAo3HHZftThRq- 6QMO8jGDR38Sl5jbKP- 1JnP5W4hu0Uo6NrnK4dzLIf7uxzRHlnETwbvgLcBZOFfVuOzOn- 16voDo80842y4DlKG5wAi3L6RBRsxfTs_4_bzEhn3AA2ARGbFSkDcfk64ct2C9ox98s9mxTUe10 SJFeD 50txlXoPDPA",
"scope": "create:token api- test:create:token", "expires_in": 86400, "token_type":
"Bearer", "authorization": {
"meta": {
"status": {
"code":
"00",
"message_ilgn": [
{
"locale": "es_PE",
"value": "Access Token creado"
        }
       }
      }
     }
    }

From this response, the user must extract the value of the "access_token" and use it in all subsequent requests in the authorization HTTP header.

The user must update the token at the time indicated by the "expires_in" element.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.