# Gestione del logo aziendale

Api di lettura e cancellazione del logo aziendale

# Lettura del logo aziendale

Per recuperare le informazioni relative al logo aziendale sarà sufficiente recuperare le informazioni dell'azienda desiderata tramite le api di lettura anagrafica:

ref: https://digital-docs.ts-paas.com/books/anagrafica/page/endpoint-di-lettura

##### API Base Url:

dev: [https://registry-read-dev.agyo.io/api](https://registry-read-test.agyo.io/swagger-ui.html)

test: [https://registry-read-test.agyo.io/api](https://registry-read-test.agyo.io/swagger-ui.html)

prod: [https://registry-read.agyo.io/api](https://registry-read-test.agyo.io/swagger-ui.html)

##### Swagger:

[https://registry-read-test.agyo.io/swagger-ui.html](https://registry-read-test.agyo.io/swagger-ui.html)

Le informazioni relative al logo si troveranno dei "details", ref: [https://digital-docs.ts-paas.com/books/anagrafica/page/struttura-di-un-item](https://digital-docs.ts-paas.com/books/anagrafica/page/struttura-di-un-item)

```
{
	"classifier": "string",
	"description": "string",
    "firstName": "string",
    "lastName": "string",
    "gender": "string",
    "legalClass": "string",
    "birthDate": 0,
    "addresses": [{...}],
    "economics": {...},
    "contacts": [{...}],
    "professionalRegister": {...},
    "legalForm": {"code": "string","description": "string"},
    "logoUrl": "string"
}
```

- **logoUrl:** url relativo allo storage di riferimento all'ambiente al quale stiamo chiamando, dal quale recuperare il logo aziendale

# Scrittura del logo aziendale

Gli endpoint di scrittura e cancellazione per il logo aziendale si trovano nella "write" dell'anagrafica:

ref: [https://digital-docs.ts-paas.com/books/anagrafica/page/endpoint-di-scrittura](https://registry-write-test.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/API%20v3/uploadLogo)

##### API Base Url:

dev: [https://registry-write-dev.agyo.io/api](https://registry-write-test.agyo.io/swagger-ui.html)

test: [https://registry-write-test.agyo.io/api](https://registry-write-test.agyo.io/swagger-ui.html)

prod: [https://registry-write.agyo.io/api](https://registry-write-test.agyo.io/swagger-ui.html)

##### Swagger:

[https://registry-write-test.agyo.io/swagger-ui.html](https://registry-write-test.agyo.io/swagger-ui.html)

In particolare:

### Per il **CARICAMENTO** del logo, è neccesario chiamare la **POST**:

[https://registry-write-test.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/API%20v3/uploadLogo](https://registry-write-test.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/API%20v3/uploadLogo)

Essendo una API V3, nel path andrà inserito l'UUID dell'azienda per la quale caricare il logo.

####  

#### Header

Gli header richiesti dalla chiamata sono gli [header standard di TSDigital](https://digital-docs.ts-paas.com/books/integrazione-e-utilizzo-api-tsdigital/page/linee-guida-generali-api-ts-digital "Linee guida Generali API TS-Digital").

Il `Content-Type` deve essere `application/json`

####  

#### Body

Il body della richiesta deve avere il seguente formato:

<div data-lang="body-param__example microlight" id="bkmrk-%7B-%22base64%22%3A-%22string%22"><div><div></div><div>```
`{<br></br>	"base64": "string"<br></br>}`
```

<div></div><div><div></div></div></div></div></div>- Il logo può essere di qualsiasi estensione purchè sia di tipo immagine.
- La dimensione del logo dovrà essere inferiore a 1MB.
- Nel caso in cui l'azienda abbia già caricato un logo, andando ad eseguire un nuovo caricamento, quello vecchio verrà sovrascritto.

####  

#### Risposte

L'operazione è avvenuta con successo se e solo se il codice HTTP della risposta è `202`. Ogni altro codice di risposta indica uno stato di errore.

##### HTTP 202

L'operazione è avvenuta con successo e il processo di creazione è stato preso in carico.

##### HTTP 400

Uno o più parametri forniti nella richiesta sono errati, o mancano dei parametri obbligatori.

##### HTTP 401

Il token autorizzativo è scaduto, invalido o non è stato specificato.

##### HTTP 403

Il token autorizzativo fornito è valido, ma l'utente non ha i permessi necessari a creare un item

<span style="color: #222222; font-size: 1.4em; font-weight: 400;">HTTP 500</span>

Il server ha riscontrato un errore inaspettato nell'esecuzione della richiesta di creazione item

##### HTTP 502

Il server ha riscontrato un errore inaspettato nel comunicare con un servizio dal quale dipende per poter completare il processo (ad esempio, il servizio di auth non risulta essere disponibile)

Tutte le risposte d'errore condividono il seguente formato per il body di risposta:

```JSON
{
  "code": "string",
  "message": "string",
  "status": "string",
  "subErrors": [
    {}
  ],
  "timestamp": "dd-MM-yyyy HH:mm:ss"
}
```

- **code:** corrisponde al codice d'errore HTTP ritornato (es: `500`)
- **message:** messaggio d'errore (es: `Errore interno del server`)
- **status:** descrizione a parole del codice d'errore HTTP (es: `Internal Server Error`)
- **subErrors:** eventuali errori innestati in quello ritornato
- **timestamp:** data ed ora di ritorno dell'errore

###  

###  

### Per la **CANCELLAZIONE** del logo, è neccesario chiamare la **DELETE**:

[https://registry-write-test.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/API%20v3/deleteLogo](https://registry-write-test.agyo.io/swagger-ui/index.html?configUrl=/v3/api-docs/swagger-config#/API%20v3/deleteLogo)

In questo caso basterà indicare l'UUID dell'azienda nel path per procedere alla cancellazione del logo.

####  

#### Header

Gli header richiesti dalla chiamata sono gli [header standard di TSDigital](https://digital-docs.ts-paas.com/books/integrazione-e-utilizzo-api-tsdigital/page/linee-guida-generali-api-ts-digital "Linee guida Generali API TS-Digital").

Il `Content-Type` deve essere `application/json```

####  

#### Risposte

L'operazione è avvenuta con successo se e solo se il codice HTTP della risposta è `202`. Ogni altro codice di risposta indica uno stato di errore.

##### HTTP 202

L'operazione è avvenuta con successo e il processo di creazione è stato preso in carico.

##### HTTP 400

Uno o più parametri forniti nella richiesta sono errati, o mancano dei parametri obbligatori.

##### HTTP 401

Il token autorizzativo è scaduto, invalido o non è stato specificato.

##### HTTP 403

Il token autorizzativo fornito è valido, ma l'utente non ha i permessi necessari a creare un item

<span style="color: #222222; font-size: 1.4em; font-weight: 400;">HTTP 500</span>

Il server ha riscontrato un errore inaspettato nell'esecuzione della richiesta di creazione item

##### HTTP 502

Il server ha riscontrato un errore inaspettato nel comunicare con un servizio dal quale dipende per poter completare il processo (ad esempio, il servizio di auth non risulta essere disponibile)

Tutte le risposte d'errore condividono il seguente formato per il body di risposta:

```JSON
{
  "code": "string",
  "message": "string",
  "status": "string",
  "subErrors": [
    {}
  ],
  "timestamp": "dd-MM-yyyy HH:mm:ss"
}
```

- **code:** corrisponde al codice d'errore HTTP ritornato (es: `500`)
- **message:** messaggio d'errore (es: `Errore interno del server`)
- **status:** descrizione a parole del codice d'errore HTTP (es: `Internal Server Error`)
- **subErrors:** eventuali errori innestati in quello ritornato
- **timestamp:** data ed ora di ritorno dell'errore

``