Autenticación y autorización

En primer lugar, Papel Cero generará y proporcionará al cliente la siguiente información:

client_id: Id que le corresponde al cliente
client_secret: Código secreto del cliente para poder acceder a la API
code: Código de autorización. Este código es distinto según el DMS al que se desee acceder, servicios, apis, etc.

Con esta información el cliente deberá seguir los siguientes pasos para hacer las llamadas a la API:

Llamar a la API para autenticarse y obtener un token de acceso
Hacer las llamadas a la API utilizando el token obtenido

Petición de autenticación

Para autenticarse en el sistema y poder hacer las llamadas a la API primero debemos obtener el token. Para ello haremos una petición POST a la URL:

https://dominio/avanws.php
y como parámetros del post debemos indicar:
grant_type=client_credentials
client_id=webproviderpapel0id
client_secret=56792cdaaece9b3771b297cb
service=getToken
code=5396e8922cdccb824270d110
El parámetro service siempre será getToken para consumir este servicio.
El parámetro grant_type siempre será client_credentials, el resto de parámetros serán proporcionados por Papel Cero.
El servicio responderá un json indicando en el campo client_token el token de acceso que se deberá utilizar para llamar a la api. El tipo de token siempre será bearer.

Llamadas a la API utilizando el token

Cualquier llamada a cualquier API deberemos hacerla utilizando el token que hemos obtenido en la llamada al servicio getToken indicándolo en la cabecera HTTP Authorization indicando que es Bearer:

Authorization: Bearer a503faf9-45b5-4fec-8334-337284a66ea4

Errores de autenticación

Si se produce algún tipo de error al llamar a obtener el token, el servidor devolverá un código de error HTTP 400 y en el cuerpo del mensaje dará la información del error:

{"error": "invalid_client","error_description": "Invalid client"}

Cuando se está intentando acceder a cualquier API y tenemos algún error de autorización el servidor responderá con un error HTTP 401 y un documento como este:

{"code": "unauthorized_client","message": "Invalid authorization token"}

Ejemplo de Uso PHP Curl