Autenticazione - Auth API

L'accesso alle API di MARTA viene gestito con un sistema di autenticazione a doppio livello:

          1. l'autenticazione alla chiamata all'endpoint POST /auth avviene tramite api-key rilasciata da MARTA da inserire nell'header della query;

          2. nella risposta alla chiamata all'endpoint POST /auth viene consegnato un JWT (JSON Web Token) firmato e validato da includere nell'header delle query ai successivi endpoint interessati.

Per ottenere un token di sessione valido è necessario quindi effettuare una chiamata all'endpoint POST /auth.

Richiesta di Accesso da Backoffice

Per autenticazione con scope backoffice, oltre all'inserimento dell'api-key nell'header, inserire nella request i parametri:

          • username (username dell’operatore che richiede l’accesso),

          • password (password associata all’operatore che richiede l’accesso),

          • campaignid (l'id della campagna del tuo brand relativo all’ambiente di produzione | vuoto se l’operatore ha un accesso Rete),

          • devicetype (tipo di device da cui il cliente tenta di fare l’accesso 1=Browser 2=Android device 3=iOS Device)

          • scope (tipo di accesso richiesto, in questo caso ‘backoffice’).

> Ecco un esempio di una request all’endpoint POST /auth per effettuare un’autenticazione backoffice <

curl -X POST https://martaapidemo.keyx.it/auth \

--header 'Content-Type: application/json' \

--header 'x-api-key: ••••••' \

{

             "username":"opApiDoc",

             "password":"Password123!",

             "campaignid ": "16273",

             "devicetype":"1"

             "scope": "backoffice"

}'

Richiesta di Accesso da Terminale

Per autenticazione con scope terminal o terminal-backoffice, oltre all'inserimento dell'api-key nell'header, inserire nella request i parametri:

          • username (username dell’operatore che richiede l’accesso),

          • password (password associata all’operatore che richiede l’accesso),

          • serialnumber (numero seriale legato al terminale associato all’operatore che richiede l’accesso),

          • campaignid (l'id della campagna del tuo brand relativo all’ambiente di produzione),

          • devicetype (tipo di device da cui il cliente tenta di fare l’accesso 1=Browser 2=Android device 3=iOS Device)

          • scope (tipo di accesso richiesto, in questo caso ‘terminal’).


> Ecco un esempio di una request all’endpoint POST /auth per effettuare un’autenticazione terminal <

curl -X POST https://martaapidemo.keyx.it/auth \

--header 'Content-Type: application/json' \

--header 'x-api-key: ••••••' \

{

             "username":"opApiDoc",

             "password":"Password123!",

             "campaignid ": "16273",

             "devicetype":"1"

             "scope": "terminal-backoffice"

}'

Richiesta di Accesso Customer

     > Richiesta con scope customersynchro

Per autenticazione con scope customersynchro, oltre all'inserimento dell'api-key nell'header, inserire nella request i parametri:
(accesso da utilizzare se le azioni da eseguire sono prima o in fase di registrazione del cliente, quindi prima del login)

          • username (campo da non inserire),

          • password (campo da non inserire),

          • campaignid (l'id della campagna del tuo brand relativo all’ambiente di produzione),

          • devicetype (tipo di device da cui il cliente tenta di fare l’accesso 1=Browser, 2=Android device, 3=iOS Device)

          • scope (tipo di accesso richiesto, in questo caso ‘customersynchro’).

> Ecco un esempio di una request all’endpoint POST /auth per effettuare un’autenticazione customersynchro <

curl -X POST https://martaapidemo.keyx.it/auth \

--header 'Content-Type: application/json' \

--header 'x-api-key: ••••••' \

{

             "campaignid ": "16273",

             "devicetype":"2",

             "scope": "customersynchro"

}'

     > Richiesta con scope customer

Per autenticazione con scope customer, oltre all'inserimento dell'api-key nell'header, inserire nella request i parametri:

          • username (username dell’account del customer),

          • password (password dell’account del customer),

          • campaignid (l'id della campagna del tuo brand relativo all’ambiente di produzione),

          • devicetype (tipo di device da cui il cliente tenta di fare l’accesso 1=Browser 2=Android device 3=iOS Device)

          • scope (tipo di accesso richiesto, in questo caso ‘customer’).

> Ecco un esempio di una request all’endpoint POST /auth per effettuare un’autenticazione customer <

curl -X POST https://martaapidemo.keyx.it/auth \

--header 'Content-Type: application/json' \

--header 'x-api-key: ••••••' \

{

             "username":"+393728273349",

             "password":"Password123!",

             "campaignid ": "16273",

             "devicetype":"2",

             "scope": "customer"

}'

Se l'esito della chiamata all'endpoint POST /auth è stato http 200, si ottiene in risposta un oggetto JSON dove saranno presenti i campi "token" e "refreshtoken".

Per maggiori dettagli ed errori, vedere l'endpoint POST /Auth.

Articoli correlati:

Categoria: