# Clienti

Chiamate legate alla gestione dei Clienti

# Ricerca Cliente

## Cliente / GetBy

L’endpoint **Cliente/GetBy** consente di interrogare il gestionale **SoluzionaCore** per ottenere i dati di un cliente specifico o di un elenco di clienti.

---

## Tipo di chiamata

La chiamata è di tipo **GET** e prevede l’utilizzo di **query parameter** per specificare il criterio di ricerca.

---

## Parametri di ricerca

Il cliente può essere ricercato utilizzando uno dei seguenti parametri:

- **id**
- **codice fiscale**
- **partita IVA**
- **codice tessera**
- **codice 1**
- **codice 2**

---

## Documentazione dell’endpoint

La documentazione completa della chiamata è disponibile al seguente indirizzo:

<p class="callout info">[https://soluzionacoreapi.soluziona.cloud/scalar/#tag/cliente/get/apiclientegetby](https://soluzionacoreapi.soluziona.cloud/scalar/#tag/cliente/get/apiclientegetby)</p>

---

## Parametro ConAnagrafica

L’endpoint prevede il parametro opzionale **ConAnagrafica**:

- **false** (valore di default):  
    restituisce esclusivamente l’oggetto **Cliente** di primo livello.
- **true**:  
    restituisce l’anagrafica completa del cliente, includendo i seguenti oggetti:
    
    
    - **Anagrafica**
    - **Comune**
    - **Provincia**
    - **Regione**
    - **Nazione**

> **Nota**  
> L’utilizzo del parametro `ConAnagrafica=true` è consigliato quando è necessario disporre di tutte le informazioni anagrafiche complete del cliente in un’unica chiamata.

---

## Parametri Size e Offset

L’endpoint supporta i parametri opzionali **Size** e **Offset** per la gestione della paginazione dei risultati.

- **Size** (default: `20`)  
    Indica il numero di record da restituire.
- **Offset** (default: `0`)  
    Indica il numero di record da saltare dall’inizio del risultato, permettendo di recuperare i successivi.

# Salva/Aggiorna Cliente

## Cliente / Salva

L’endpoint **Cliente/Salva** consente di salvare nel gestionale **SoluzionaCore** l’anagrafica di un **nuovo cliente** oppure di **aggiornare** quella di un cliente esistente.

---

## Tipo di chiamata

La chiamata è di tipo **POST** e prevede l’invio dell’oggetto **CustomCliente** di primo livello, opportunamente compilato.

---

## Parametri per anagrafica

All’interno dell’oggetto **CustomCliente** di primo livello sono presenti alcuni campi aggiuntivi dedicati alla gestione dell’anagrafica del cliente:

- **anagrafica\_Intestazione1**  
    Intestazione principale del cliente.
- **anagrafica\_Intestazione2**  
    Seconda intestazione del cliente.
- **anagraficaComune\_CAP**  
    CAP del comune.
- **anagraficaComune\_Descrizione**  
    Nome del comune.
- **anagraficaComuneProvincia\_Descrizione**  
    Nome della provincia.
- **anagraficaComuneProvincia\_Sigla**  
    Sigla della provincia.
- **anagraficaComuneProvinciaRegione\_Descrizione**  
    Nome della regione.
- **anagraficaComuneProvinciaRegioneNazione\_CodiceISO**  
    Codice ISO della nazione a 1 carattere.
- **anagraficaComuneProvinciaRegioneNazione\_CodiceISO2**  
    Codice ISO della nazione a 2 caratteri.
- **anagraficaComuneProvinciaRegioneNazione\_CodiceISO3**  
    Codice ISO della nazione a 3 caratteri.
- **anagraficaComuneProvinciaRegioneNazione\_Descrizione**  
    Nome della nazione.

<p class="callout warning">Durante la procedura di salvataggio vengono eseguiti controlli automatici per ridurre l’inserimento di **dati duplicati** relativamente a:  
**Comuni, Province, Regioni e Nazioni**</p>

---

## Documentazione dell’endpoint

La documentazione completa della chiamata è disponibile al seguente indirizzo:

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