Creazione di un item
Questa documentazione è riferita alla versione 3 delle API di scrittura dell'anagrafica. Le API V2 sono deprecate e non vanno utilizzate per nuove integrazioni.
L'invio di una richiesta di creazione item può essere effettuato utilizzando la seguente API:
Ogni utente personale registrato in TSDigital e le sue chiavi tecniche personali possiedono di default i permessi necessari per creare item. Una chiave tecnica applicativa non ha il permesso di creare nuovi item a meno che non sia esplicitamente richiesto.
Header
Gli header richiesti dalla chiamata sono gli header standard di TSDigital.
Il Content-Type deve essere application/json
Body
Il body della richiesta deve avere il seguente formato:
{
"item": {
"base": {
"details": {
"addresses": [
{
"city": "string",
"country": "string",
"province": "string",
"streetName": "string",
"streetNumber": "string",
"types": [
"REGISTERED_OFFICE"
],
"zipCode": "string"
}
],
"birthDate": 0,
"classifier": "INTERMEDIARY",
"contacts": [
{
"label": "string",
"type": "PHONE",
"value": "string"
}
],
"description": "string",
"economics": {
"balanceSheetDate": 0,
"capitalStock": "string",
"cciaa": "string",
"economicActivities": {
"mainActivity": {
"code": "string"
}
},
"liquidationState": "LN",
"rea": "string",
"registrationDate": 0,
"soleShareholder": "SM",
"taxRegime": "string"
},
"firstName": "string",
"gender": "string",
"lastName": "string",
"legalClass": "string",
"legalForm": {
"code": "string"
},
"professionalRegister": {
"code": "string",
"description": "string",
"province": "string",
"registrationDate": 0
}
},
"identifier": {
"govCode": "string",
"taxId": "string",
"taxRegion": "string",
"vatNumber": "string"
}
},
"preferences": {
"hidden": true,
"language": "string"
}
},
"noKeys": true,
"noOwnership": true,
"ownerIds": [
"string"
],
"studioId": "string",
"validated": true,
"certified": true
}
- item: contiene tutti i dati anagrafici e le preferenze dell'azienda. Per dettagli sui singoli campi, vedi Struttura di un item.
- noKeys: se true, non verrà automaticamente generata una chiave tecnica con accesso all'azienda. Nella maggioranza dei casi, è preferibile non far creare la chiave tecnica
- noOwnership: se true, l'utente che sta effettuando la creazione dell'azienda non verrà indicato come utente owner della stessa e non riceverà alcun ruolo su di essa
- ownerIds: elenco di utenti da impostare come owner per l'azienda. Non può essere combinato con
noOwnership=true. Questo campo è utilizzabile solo da backoffice. - studioId: identificativo univoco dello studio per il conto del quale sta venendo creata l'azienda. Questo parametro è utilizzato per la creazione delle aziende gestite contestualmente ad una connessione. Non è possibile creare un item per conto di uno studio per il quale non si hanno permessi di scrittura
- validated: se true, l'item viene creato in stato VALIDATED
- certified: se true, l'item viene creato in stato CERTIFIED. È necessario specificare anche
validated=true
noOwnership, validated e certified sono utilizzabili solo da chiavi tecniche applicative con ruoli speciali
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.
Body della risposta:
{
"id": "string"
}
- id: identificativo dell'item creato
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
HTTP 500
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:
{
"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
No comments to display
No comments to display