Anagrafica

API

API

Endpoint di lettura

API Base Url:

dev: https://registry-read-dev.agyo.io/api

test: https://registry-read-test.agyo.io/api

prod: https://registry-read.agyo.io/api

Swagger:

https://registry-read-test.agyo.io/swagger-ui/index.html

FindItem

https://registry-read-test.agyo.io/swagger-ui.html#/API/findItemsUsingGET

Impostando

È possibile cercare per CF o PIVA

Esempio ricerca per partiva iva:

https://registry-read-test.agyo.io/api/v3/items?identifier.vatNumber=44399978905&packageType=BASE&pagination.itemsPerPage=10&pagination.pageNumber=0&identifier.taxRegion=IT

Esempio ricerca per codice fiscale:

https://registry-read-test.agyo.io/api/v3/items?identifier.taxId=AAABBB12P13F205X&packageType=BASE&pagination.itemsPerPage=10&pagination.pageNumber=0&identifier.taxRegion=IT

Regole di salvataggio / cache

Una volta recuperato l’id per una determinata azienda sarà possibile salvarlo localmente solo in caso sia un UUIDv4 perchè non verrà più modificato a differenza dell’attuale codice fiscale che può subire variazioni dovuti ad eventi di rettifica.

Inizialmente la situazione sarà mista per questioni di migrazione.

In caso l’identificativo sia uguale al CF il comportamento consigliato è quello di avere una cache di alcune ore (consigliate 24/48) per evitare carico inutile verso le API di anagrafica, ma di continuare a chiederlo ogni volta che scade la cache.

Se l’identificativo risulta invece essere un UUIDv4 (o comunque lunghezza > 20 quindi oltre il formato CF italiano (16) +  i caratteri “-XXX” dell’ufficio (4)) è possibile salvarlo consapevoli del fatto che non cambierà più.

API

Endpoint di scrittura

API Base Url:

dev: https://registry-write-dev.agyo.io/api

test: https://registry-write-test.agyo.io/api

prod: https://registry-write.agyo.io/api

Swagger:

https://registry-write-test.agyo.io/swagger-ui.html

Creazione ed aggiornamento item

Processi per creare e modificare item nell'anagrafica di TS Digital

Creazione ed aggiornamento item

Struttura di un Item

Pagina in costruzione, le informazioni riportate potrebbero essere inaccurate o incomplete

L'item è l'entità base fornita dall'anagrafica di TSDigital e contiene le informazioni necessarie a rappresentare aziende (compresi studi commercialisti), condomini e persone fisiche.

L'item è suddiviso in due sezioni principali: base preferences.

Base

La sezione base di un item contiene tutte le informazioni anagrafiche, ed è a sua volta suddivisa nelle sottosezioni detailsidentifier e status. Ha il seguente formato:

{
  "id": "string",
  "identifier": {...},
  "details": {...},
  "status": {...},
  "hierarchyId": "string",
  "parentId": "string",
  "holdingId": "string",
  "ncsId": "string"
}

Identifier

L'identifier di un item contiene tutti i dati che lo identificano univocamente all'interno dell'anagrafica. Non possono quindi esistere due item che abbiano identifier interamente identici. Ha il seguente formato:

{
    "govCode": "string",
    "taxId": "string",
    "taxRegion": "string",
    "vatNumber": "string"
}

L'univocità di un item è data dall'intero insieme di elementi presenti nell'identifier. Due item possono, ad esempio, avere lo stesso taxId a patto di avere taxRegion differente.

Details

I details racchiudono tutte le informazioni anagrafiche dell'item che non siano necessarie per identificarlo univocamente. Ha il seguente formato:

{
  "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"
}

Descrizione di un indirizzo, ha la seguente forma:

{
  "streetName": "string",
  "streetNumber": "string",
  "city": "string",
  "province": "string",
  "zipCode": "string",
  "country": "string",
  "fullAddress": "string",
  "types": [
    "string"
  ],
  "id": "string"
}
Economics
{
  "rea": "string",
  "cciaa": "string",
  "capitalStock": "string",
  "liquidationState": "string",
  "registrationDate": 0,
  "taxRegime": "string",
  "soleShareholder": "string",
  "balanceSheetDate": 0,
  "economicActivities": {
    "mainActivity": {
      "code": "string",
      "rootCode": "string"
    }
  }
}
Contacts
{
  "type": "string",
  "value": "string",
  "label": "string",
  "id": "string"
}
ProfessionalRegister
{
  "description": "string",
  "province": "string",
  "code": "string",
  "registrationDate": 0
}

Status

Informazioni sullo stato dell'item quali stato d'attivazione/certificazione, data di creazione, data di ultima modifica, ecc.

{
  "active": true,
  "activatedAt": 0,
  "activatedBy": "string",
  "createdAt": 0,
  "createdBy": "string",
  "modifiedAt": 0,
  "modifiedBy": "string",
  "status": "string",
  "deleted": true,
  "deletedAt": 0,
  "deletedBy": "string",
  "ownership": "string",
  "certificationStatus": "string",
  "externallyValidated": true
}

Preferences

Preferenze globali dell'item

{
  "enableConsole": true,
  "invoiceRecipient": true,
  "language": "string",
  "hidden": true
}
Creazione ed aggiornamento item

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:

[POST] /api/v3/item

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
}

noOwnership, validated 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"
}
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"
}
Creazione ed aggiornamento item

Aggiornamento 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 aggiornamento item può essere effettuato utilizzando la seguente API, dove id è il suo identificativo univoco:

[PUT] /api/v3/items/{id}

L'operazione di aggiornamento di un item può essere effettuata:

Header

Gli header richiesti dalla chiamata sono gli header standard di TSDigital.

Il Content-Type deve essere application/json

Body

L'operazione di aggiornamento sostituisce interamente i vecchi dati dell'item con quelli specificati. Ogni campo che deve mantenere il proprio valore corrente deve essere necessariamente valorizzato con tale valore.

Il body della richiesta deve contenere basepreferences dell'item (Struttura di un 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": {
    "enableConsole": true,
    "hidden": true,
    "invoiceRecipient": true,
    "language": "string"
  }
}

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 aggiornamento è stato preso in carico.

Body della risposta:

{
  "id": "string"
}
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 ad aggiornare l'item

HTTP 500

Il server ha riscontrato un errore inaspettato nella creazione della richiesta di aggiornamento 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"
}

Lettura degli Item

Descrizione delle API messe a disposizione per consultare gli item presenti nell'anagrafica TSDigital.

Lettura degli Item

Lettura di un singolo item

Dato l'identificativo di un item è possibile recuperarne tutte le informazioni invocando la seguente API:

[GET] /api/v3/items/{itemId}

Questa documentazione è riferita alla versione 3 delle API di lettura dell'anagrafica. Le API V2 sono deprecate e non vanno utilizzate per nuove integrazioni.

Header

Gli header richiesti dalla chiamata sono gli header standard di TSDigital.

Il Content-Type deve essere application/json

Query Parameters

Risposte

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

HTTP 200

L'item esiste e l'utente ha i permessi necessari a leggerne le informazioni.

Body della risposta:

{
  "item": {
    "base": {
      "id": "string",
      "identifier": {
        "taxId": "string",
        "taxRegion": "string",
        "vatNumber": "string",
        "govCode": "string"
      },
      "details": {
        "classifier": "string",
        "description": "string",
        "firstName": "string",
        "lastName": "string",
        "gender": "string",
        "legalClass": "string",
        "birthDate": 0,
        "addresses": [
          {
            "streetName": "string",
            "streetNumber": "string",
            "city": "string",
            "province": "string",
            "zipCode": "string",
            "country": "string",
            "fullAddress": "string",
            "types": [
              "string"
            ],
            "id": "string"
          }
        ],
        "economics": {
          "rea": "string",
          "cciaa": "string",
          "capitalStock": "string",
          "liquidationState": "string",
          "registrationDate": 0,
          "taxRegime": "string",
          "soleShareholder": "string",
          "balanceSheetDate": 0,
          "economicActivities": {
            "mainActivity": {
              "code": "string",
              "rootCode": "string"
            }
          }
        },
        "contacts": [
          {
            "type": "string",
            "value": "string",
            "label": "string",
            "id": "string"
          }
        ],
        "professionalRegister": {
          "description": "string",
          "province": "string",
          "code": "string",
          "registrationDate": 0
        },
        "legalForm": {
          "code": "string",
          "description": "string"
        }
      },
      "status": {
        "active": true,
        "activatedAt": 0,
        "activatedBy": "string",
        "createdAt": 0,
        "createdBy": "string",
        "modifiedAt": 0,
        "modifiedBy": "string",
        "status": "string",
        "deleted": true,
        "deletedAt": 0,
        "deletedBy": "string",
        "ownership": "string",
        "certificationStatus": "string",
        "externallyValidated": true
      },
      "hierarchyId": "string",
      "parentId": "string",
      "holdingId": "string",
      "ncsId": "string"
    },
    "preferences": {
      "enableConsole": true,
      "invoiceRecipient": true,
      "language": "string",
      "hidden": true
    },
    "layers": [...],
    "group": {
      "businessGroups": [
        {
          "name": "string",
          "foundedAt": 0,
          "id": "string"
        }
      ],
      "holding": {...},
      "companies": [{...}],
      "companiesSize": 0,
      "companiesIterator": {},
      "businessGroupsSize": 0,
      "businessGroupsIterator": {}
    },
    "layersSize": 0,
    "layersIterator": {}
  }
}

Per maggiori informazioni sui singoli campi, vedi Struttura di un Item.

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"
}
Lettura degli Item

Lettura di una lista di items

Data una lista di identificativi di items è possibile recuperarne tutte le informazioni a loro relative invocando la seguente API:

[GET] /api/v3/items

Questa documentazione è riferita alla versione 3 delle API di lettura dell'anagrafica. Le API V2 sono deprecate e non vanno utilizzate per nuove integrazioni.

Header

Gli header richiesti dalla chiamata sono gli header standard di TSDigital.

Il Content-Type deve essere application/json

Query Parameters

Risposte

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

HTTP 200

L'item esiste e l'utente ha i permessi necessari a leggerne le informazioni.

Body della risposta:

{
  "items": [
    {
  	"item": {
      "base": {
        "id": "string",
        "identifier": {
          "taxId": "string",
          "taxRegion": "string",
          "vatNumber": "string",
          "govCode": "string"
        },
        "details": {
          "classifier": "string",
          "description": "string",
          "firstName": "string",
          "lastName": "string",
          "gender": "string",
          "legalClass": "string",
          "birthDate": 0,
          "addresses": [
            {
              "streetName": "string",
              "streetNumber": "string",
              "city": "string",
              "province": "string",
              "zipCode": "string",
              "country": "string",
              "fullAddress": "string",
              "types": [
                "string"
              ],
              "id": "string"
            }
          ],
          "economics": {
            "rea": "string",
            "cciaa": "string",
            "capitalStock": "string",
            "liquidationState": "string",
            "registrationDate": 0,
            "taxRegime": "string",
            "soleShareholder": "string",
            "balanceSheetDate": 0,
            "economicActivities": {
              "mainActivity": {
                "code": "string",
                "rootCode": "string"
              }
            }
          },
          "contacts": [
            {
              "type": "string",
              "value": "string",
              "label": "string",
              "id": "string"
            }
          ],
          "professionalRegister": {
            "description": "string",
            "province": "string",
            "code": "string",
            "registrationDate": 0
          },
          "legalForm": {
            "code": "string",
            "description": "string"
          }
        },
        "status": {
          "active": true,
          "activatedAt": 0,
          "activatedBy": "string",
          "createdAt": 0,
          "createdBy": "string",
          "modifiedAt": 0,
          "modifiedBy": "string",
          "status": "string",
          "deleted": true,
          "deletedAt": 0,
          "deletedBy": "string",
          "ownership": "string",
          "certificationStatus": "string",
          "externallyValidated": true
        },
        "hierarchyId": "string",
        "parentId": "string",
        "holdingId": "string",
        "ncsId": "string"
      },
      "preferences": {
        "enableConsole": true,
        "invoiceRecipient": true,
        "language": "string",
        "hidden": true
      },
      "layers": [...],
      "group": {
        "businessGroups": [
          {
            "name": "string",
            "foundedAt": 0,
            "id": "string"
          }
        ],
        "holding": {...},
        "companies": [{...}],
        "companiesSize": 0,
        "companiesIterator": {},
        "businessGroupsSize": 0,
        "businessGroupsIterator": {}
      },
      "layersSize": 0,
      "layersIterator": {}
    }
  ]
}

Per maggiori informazioni sui singoli campi, vedi Struttura di un Item.

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"
}
Lettura degli Item

Lettura di una lista di items di un utente

Dato un identificativo utente è possibile recuperarne tutte le informazioni relative ai suoi items invocando la seguente API:

[GET] /api/v3/items

Questa documentazione è riferita alla versione 3 delle API di lettura dell'anagrafica. Le API V2 sono deprecate e non vanno utilizzate per nuove integrazioni.

Header

Gli header richiesti dalla chiamata sono gli header standard di TSDigital.

Il Content-Type deve essere application/json

Query Parameters

Risposte

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

HTTP 200

L'item esiste e l'utente ha i permessi necessari a leggerne le informazioni.

Body della risposta:

{
  "items": [
    {
  	"item": {
      "base": {
        "id": "string",
        "identifier": {
          "taxId": "string",
          "taxRegion": "string",
          "vatNumber": "string",
          "govCode": "string"
        },
        "details": {
          "classifier": "string",
          "description": "string",
          "firstName": "string",
          "lastName": "string",
          "gender": "string",
          "legalClass": "string",
          "birthDate": 0,
          "addresses": [
            {
              "streetName": "string",
              "streetNumber": "string",
              "city": "string",
              "province": "string",
              "zipCode": "string",
              "country": "string",
              "fullAddress": "string",
              "types": [
                "string"
              ],
              "id": "string"
            }
          ],
          "economics": {
            "rea": "string",
            "cciaa": "string",
            "capitalStock": "string",
            "liquidationState": "string",
            "registrationDate": 0,
            "taxRegime": "string",
            "soleShareholder": "string",
            "balanceSheetDate": 0,
            "economicActivities": {
              "mainActivity": {
                "code": "string",
                "rootCode": "string"
              }
            }
          },
          "contacts": [
            {
              "type": "string",
              "value": "string",
              "label": "string",
              "id": "string"
            }
          ],
          "professionalRegister": {
            "description": "string",
            "province": "string",
            "code": "string",
            "registrationDate": 0
          },
          "legalForm": {
            "code": "string",
            "description": "string"
          }
        },
        "status": {
          "active": true,
          "activatedAt": 0,
          "activatedBy": "string",
          "createdAt": 0,
          "createdBy": "string",
          "modifiedAt": 0,
          "modifiedBy": "string",
          "status": "string",
          "deleted": true,
          "deletedAt": 0,
          "deletedBy": "string",
          "ownership": "string",
          "certificationStatus": "string",
          "externallyValidated": true
        },
        "hierarchyId": "string",
        "parentId": "string",
        "holdingId": "string",
        "ncsId": "string"
      },
      "preferences": {
        "enableConsole": true,
        "invoiceRecipient": true,
        "language": "string",
        "hidden": true
      },
      "layers": [...],
      "group": {
        "businessGroups": [
          {
            "name": "string",
            "foundedAt": 0,
            "id": "string"
          }
        ],
        "holding": {...},
        "companies": [{...}],
        "companiesSize": 0,
        "companiesIterator": {},
        "businessGroupsSize": 0,
        "businessGroupsIterator": {}
      },
      "layersSize": 0,
      "layersIterator": {}
    }
  ]
}

Per maggiori informazioni sui singoli campi, vedi Struttura di un Item.

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"
}
Lettura degli Item

Ricerca items

Dato un taxId, vatNumber o un testo libero è possibile recuperarne tutte le informazioni relative agli items con queste caratteristiche  invocando la seguente API:

[GET] /api/v3/items

Questa documentazione è riferita alla versione 3 delle API di lettura dell'anagrafica. Le API V2 sono deprecate e non vanno utilizzate per nuove integrazioni.

Header

Gli header richiesti dalla chiamata sono gli header standard di TSDigital.

Il Content-Type deve essere application/json

Query Parameters

Risposte

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

HTTP 200

L'item esiste e l'utente ha i permessi necessari a leggerne le informazioni.

Body della risposta:

{
  "items": [
    {
  	"item": {
      "base": {
        "id": "string",
        "identifier": {
          "taxId": "string",
          "taxRegion": "string",
          "vatNumber": "string",
          "govCode": "string"
        },
        "details": {
          "classifier": "string",
          "description": "string",
          "firstName": "string",
          "lastName": "string",
          "gender": "string",
          "legalClass": "string",
          "birthDate": 0,
          "addresses": [
            {
              "streetName": "string",
              "streetNumber": "string",
              "city": "string",
              "province": "string",
              "zipCode": "string",
              "country": "string",
              "fullAddress": "string",
              "types": [
                "string"
              ],
              "id": "string"
            }
          ],
          "economics": {
            "rea": "string",
            "cciaa": "string",
            "capitalStock": "string",
            "liquidationState": "string",
            "registrationDate": 0,
            "taxRegime": "string",
            "soleShareholder": "string",
            "balanceSheetDate": 0,
            "economicActivities": {
              "mainActivity": {
                "code": "string",
                "rootCode": "string"
              }
            }
          },
          "contacts": [
            {
              "type": "string",
              "value": "string",
              "label": "string",
              "id": "string"
            }
          ],
          "professionalRegister": {
            "description": "string",
            "province": "string",
            "code": "string",
            "registrationDate": 0
          },
          "legalForm": {
            "code": "string",
            "description": "string"
          }
        },
        "status": {
          "active": true,
          "activatedAt": 0,
          "activatedBy": "string",
          "createdAt": 0,
          "createdBy": "string",
          "modifiedAt": 0,
          "modifiedBy": "string",
          "status": "string",
          "deleted": true,
          "deletedAt": 0,
          "deletedBy": "string",
          "ownership": "string",
          "certificationStatus": "string",
          "externallyValidated": true
        },
        "hierarchyId": "string",
        "parentId": "string",
        "holdingId": "string",
        "ncsId": "string"
      },
      "preferences": {
        "enableConsole": true,
        "invoiceRecipient": true,
        "language": "string",
        "hidden": true
      },
      "layers": [...],
      "group": {
        "businessGroups": [
          {
            "name": "string",
            "foundedAt": 0,
            "id": "string"
          }
        ],
        "holding": {...},
        "companies": [{...}],
        "companiesSize": 0,
        "companiesIterator": {},
        "businessGroupsSize": 0,
        "businessGroupsIterator": {}
      },
      "layersSize": 0,
      "layersIterator": {}
    }
  ]
}

Per maggiori informazioni sui singoli campi, vedi Struttura di un Item.

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"
}
Lettura degli Item

Verifica esistenza item

Dato un taxId, vatNumber è un taxRegion è possibile verificare l'esistenza di un item con queste caratteristiche invocando la seguente API:

[HEAD] /api/v3/items

Questa documentazione è riferita alla versione 3 delle API di lettura dell'anagrafica. Le API V2 sono deprecate e non vanno utilizzate per nuove integrazioni.

Header

Gli header richiesti dalla chiamata sono gli header standard di TSDigital.

Il Content-Type deve essere application/json

Query Parameters

Risposte

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

HTTP 200

L'item esiste.

Body della risposta:

{}
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 404

L'item non è stato trovato

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"
}

Gestione del logo aziendale

Api di lettura e cancellazione del logo aziendale

Gestione 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

test: https://registry-read-test.agyo.io/api

prod: https://registry-read.agyo.io/api

Swagger:

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

{
	"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"
}
Gestione del 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

API Base Url:

dev: https://registry-write-dev.agyo.io/api

test: https://registry-write-test.agyo.io/api

prod: https://registry-write.agyo.io/api

Swagger:

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

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.

Il Content-Type deve essere application/json

 

Body

Il body della richiesta deve avere il seguente formato:

{
"base64": "string"
}

 

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

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"
}

 

 

 

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

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.

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

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"
}