# Autenticazione a SoluzionaCoreAPI

Per poter comunicare con le API che interagiscono con il gestionale **SoluzionaCore**, è necessario essere in possesso delle seguenti credenziali:

- **Codice Azienda**
- **IdApplicazione**
- **Nome utente**
- **Password**

### Parametri di autenticazione

- **Codice Azienda**  
    Viene fornito dal team Soluziona al momento dell’acquisto del gestionale.
- **IdApplicazione**
    
    
    - In caso di sviluppo di una nuova applicazione, viene fornito dal team Soluziona durante la fase di sviluppo.
    - In caso di applicazione realizzata da Soluziona, è già presente nelle configurazioni dell’applicazione.
- **Nome utente**  
    Nome utente dell’account che effettua l’accesso al sistema.
- **Password**  
    Password dell’account che effettua l’accesso al sistema.

---

## Login

Una volta in possesso di tutti e quattro i parametri, è possibile effettuare il **login a SoluzionaCoreAPI** tramite chiamata **POST** l’apposito endpoint, documentato al seguente indirizzo:

<p class="callout info">[https://soluzionacoreapi.soluziona.cloud/scalar/#tag/auth/post/apiauthlogin](https://soluzionacoreapi.soluziona.cloud/scalar/#tag/auth/post/apiauthlogin)  
</p>

### Risposta del login

Se il login avviene correttamente, l’API restituisce una risposta simile alla seguente:

<p class="callout success">{  
 "utente": "xxxxxx",  
 "accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",  
 "accessExpirationInMins": 0,  
 "refreshToken": "9e58a4a1-da54-40ad-986d-5f7dae3fa491",  
 "refreshExpirationInMins": 0  
}</p>

### Gestione dei token

> **Nota importante**  
> È fondamentale salvare all’interno dell’applicazione l’**accessToken**, in quanto sarà necessario per autenticare tutte le successive chiamate alle API.

---

## Refresh dell’accessToken

La chiamata per eseguire il refresh dell’**accessToken** è ancora **POST** ed è documentata al seguente indirizzo:

<p class="callout info">[https://soluzionacoreapi.soluziona.cloud/scalar/#tag/auth/post/apiauthrefresh](https://soluzionacoreapi.soluziona.cloud/scalar/#tag/auth/post/apiauthrefresh)  
</p>

### Risposta del refresh

Se l’operazione di refresh avviene correttamente, l’API restituisce una risposta analoga a quella del login, contenente un **nuovo accessToken**, che dovrà essere salvato e utilizzato per le successive chiamate alle API.