Visengine

Tutti i documenti ufficiali di Camera di Commercio, INPS e Agenzia delle Entrate.

Ottieni in tempo reale i documenti certificati su aziende, persone, immobili.

Tutte le informazioni di cui hai bisogno

Qui trovi qualche consiglio da prendere in considerazione per approcciare a questa API. Se preferisci forniamo esempi di codice, documentazione in OAS3, la possibilità di provare l'API dal vivo con la Swagger UI oppure importare l'intera collezione in Postman. Offriamo inoltre un ambiente di Sandbox dove puoi sperimentare tutte le API gratuitamente.

Utili consigli per iniziare con Visengine

Prendi il token nell'apposita sezione prima di cominciare.

Usa lo strumento online o generalo via API. Imposta una data di scadenza e aggiungi una serie di Scopes per limitare le possibli azioni permesse al token.

Ottieni l'elenco dei servizi disponibili

Visengine offre molti tipi di servizi, per ottenerne un elenco basta una chiamata a /visure.
Il risultato conterrà un elenco di documenti disponibli identificati da un nome, una categoria e un hash (ovvero un identificativo univoco del tipo di documento)
Effettuando una successiva chiamata allo stesso endpoint ma passando l'hash come parametro "path" es: Visengine offre molti tipi di servizi, per ottenerne un elenco basta una chiamata a /visure/{hash_visura} si otterranno una serie di informazioni relativi al servizio richiesto come prezzo del documento, prezzo della ricerca (se presente), elenco dei campi di input con relativa spiegazione ed istruzioni per la validazione.
Presta attenzione all'elenco dei "campi" in "json_struttura" perchè in base alle regole di validazioni saranno i campi necessari da compilare in fase di richiesta.

Hai scelto quale servizio vuoi interrogare? Effettua la tua prima richiesta!

Ora che conosciamo l'hash del documento che intendiamo richiedere passiamo a preparare la nostra richiesta /richiesta.
I dati minimi necessari sono infatti "hash_visura" di cui abbiamo parlato e "json_visura" che consiste nei dati di input del servizio.
Nel seguente esempio stiamo richiedendo una "Visura Camerale Ordinaria - società di Capitale" indicando che il campo "$1" ovvero "Cciaa" è uguale a "RM" (camera di commercio di Roma) ed il campo "$0" ovvero "NRea" (codice rea) uguale a 1378273. La spiegazione dei campi presenti in ogni visura è ottenibile allo step precedente
{
	"hash_visura": "eccbc87e4b5ce2fe28308fd9f2a7baf3",
	"json_visura": {
		"$1": "RM",
		"$0": "1378273"
	}
}
Si consiglia caldamente di compilare anche la sezione callback_data per ricevere in maniera asincrona gli aggiornamenti di stato della richiesta visto che i tempi di risposta possono variare in base al tipo di documento.
La risposta che si otterrà conterrà un campo "_id" che rappresenta l'identificativo univoco della richiesta oltre ad informazioni sullo stato e (se presenti) eventuali risultati multipli tra i quali scegliere.
Questo scenario è possibile quando a fronte dell'inserimento di una richiesta sono disponibili più documenti come nel caso dei bilanci in cui è possibile selezionare l'anno di riferimento o nel caso di ricerche catastali a partire da un codice fiscale è possible selezionare per quale immobile di proprietà si vuole ottenere la visura. Solo in questo secondo caso sarà necessaria una successiva richiesta in "PUT" /richiesta indicando l'id della richiesta nel "path", l'id della ricerca e l'indice selezionato nel body.

Scarica il documento una volta pronto!

Appena la richiesta raggiunge lo stato di "visura_evasa" diventa disponibile il documento per il download.
Basta una chiamata a /documento.
Il risultato conterrà il nome del file originale (un file .zip contenente uno o più .pdf), la dimensione del file ed il suo contenuto in formato base64.
{
  "data": {
    "nome": "5f22f5b5065afc21cc60a27a.zip",
    "dimensione": 10206,
    "file": "++6+47433njVP9ZcX1XNtWUsKrTya9FGhwiXgdp5j5OPh0FpaKWVpjP8CUEjFjY..."
  },
  "success": true,
  "message": "",
  "error": null
}

Visengine 2.0 (2.0.0)

Questo servizio offre chiamate di riposo per usufruire di tutta una serie di servizi camerali, catastali o di patronato legati a imprese e privati

visure

Sezione dedicata alle chiamate, che mostra tutti i servizi disponibili e i loro parametri di ingresso.

Elenco di tutti i servizi

Per ogni elemento dell'elenco è importante 'hash_visura', che identifica il servizio

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array of objects (Visure)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://visengine2.altravia.com/visure");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Servizio identificato con hash_visura

Descrizione del servizio con parametri di input, prezzi e istruzioni di convalida.

Per queste 4 visure:

  • Annuncio Certificato - 1a0a9d4ba06d2220ecce7da0228416ff
  • Planimetria Catastale - 4ff728695eab3ab9eaa6f58b22cd5734
  • Fascicolo Casa - 48a2f2616f248bd5809092aae93af9aa
  • Durc Online - 3cbbb9c833f1c94af35494820cda3370

è importante scaricare il file di delega che dovrà poi essere caricato durante la fase di POST/richiesta. Il link per scaricare il file di delega è reperibile decodificando in base 64 il campo "istruzioni" dell'oggetto visura.

Authorizations:
bearerAuth
path Parameters
hash_visura
required
string
Example: 8f14e45fceea167a5a36dedd4bea2543

hash_visura della visura da restituire

Responses

Response Schema: application/json
object (Visura)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://visengine2.altravia.com/visure/%7Bhash_visura%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

richiesta

Chiamate reali e proprie per accedere alle richieste di servizio, per inserire e modificare i parametri di input e per chiudere la transazione

Elenco di tutte le richieste

Elenco sintetico di tutte le richieste effettuate dal proprio profilo

Authorizations:
bearerAuth

Responses

Response Schema: application/json
Array of objects (Richieste)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://visengine2.altravia.com/richiesta");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "success": true,
  • "message": "",
  • "error": null
}

Creare una richiesta

Chiamata per istanziare una nuova richiesta di servizio. Possibilità di crearla immediatamente completa o, attraverso la transazionalità, di finirla di completare con una put

Authorizations:
bearerAuth
Request Body schema: application/json
state
integer
Enum: 0 1

Per impostazione predefinita è 1, se si passa 0 la transazione viene solo inizializzata e rimane aperta con la possibilità di modificare i campi attraverso la Put

test
boolean

Se viene passato a true, simula la validazione dei dati e restituisce anche i prezzi del servizio.

hash_visura
string

Identificazione del servizio richiesto

object (JsonVisura)

Oggetto per passare tutti i campi di input richiesti per generare un documento di output dal servizio richiesto. Se si deve passare un file, deve essere passato in questo modo: name + '|data:' + tipo di file + ';base64,' + base64_encode(contenuto del file); esempio: '$2' : 'test_file|data:image/png;base64,abcdefghijklmnopqrstuvwxyz0123456789'

object (CallbackData)
email_target
string

Permette di ricevere il documento di servizio richiesto direttamente via e-mail una volta che il servizio è stato elaborato.

object

Permette di passare le opzioni se fornite nella 'json_struttura' della 'visura'.

Responses

Response Schema: application/json
object (Richiesta)
success
boolean
message
string
error
integer

Request samples

Content type
application/json
{
  • "hash_visura": "eccbc87e4b5ce2fe28308fd9f2a7baf3",
  • "json_visura": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Trova la richiesta per _id

Servizio che restituisce la richiesta contrassegnata dall'identificatore passato nel percorso

Authorizations:
bearerAuth
path Parameters
_id
required
string
Example: 5f22f722065afc42223c7131

_id della richiesta da restituire

Responses

Response Schema: application/json
object (Richiesta)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://visengine2.altravia.com/richiesta/%7B_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Aggiungere una ricerca alla richiesta

I servizi che hanno il parametro 'ricerca' : 1 consentono di aggiungere ulteriori ricerche alla prima richiesta di servizio.

Authorizations:
bearerAuth
path Parameters
_id
required
string
Example: 5f2829ce065afc21cc60ad0e

_id della richiesta a cui aggiungere una ricerca

Request Body schema: application/json
object (JsonVisura)

Oggetto per passare tutti i campi di input richiesti per generare un documento di output dal servizio richiesto. Se si deve passare un file, deve essere passato in questo modo: name + '|data:' + tipo di file + ';base64,' + base64_encode(contenuto del file); esempio: '$2' : 'test_file|data:image/png;base64,abcdefghijklmnopqrstuvwxyz0123456789'

Responses

Response Schema: application/json
object (Richiesta)
success
boolean
message
string
error
integer

Request samples

Content type
application/json
{
  • "json_visura": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Aggiorna la richiesta

Questa chiamata consente di aggiornare i campi di ricerca della richiesta e di chiudere la transazione.

Authorizations:
bearerAuth
path Parameters
_id
required
string
Example: 5f2829ce065afc21cc60ad0e

request _id

Request Body schema: application/json
state
integer
Enum: 0 1

Se la transazione è ancora aperta, con lo stato a 0, non verrà convalidata e passata al sistema fino a quando non verrà passato 1.

object (JsonVisura)

Oggetto per passare tutti i campi di input richiesti per generare un documento di output dal servizio richiesto. Se si deve passare un file, deve essere passato in questo modo: name + '|data:' + tipo di file + ';base64,' + base64_encode(contenuto del file); esempio: '$2' : 'test_file|data:image/png;base64,abcdefghijklmnopqrstuvwxyz0123456789'

json_visura.$n
string

Permette di modificare il singolo campo di input richiesto dal servizio.

email_target
string

Permette di ricevere il documento di servizio richiesto direttamente via e-mail una volta che il servizio è stato elaborato.

Responses

Response Schema: application/json
object (Richiesta)
success
boolean
message
string
error
integer

Request samples

Content type
application/json
{
  • "json_visura.$0": "altravia",
  • "state": 1
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

Aggiorna la richiesta con l'indice e la ricerca prescelti.

Nei servizi con 'ricerca': 1 il documento finale viene rilasciato al momento della scelta del risultato di ricerca

Authorizations:
bearerAuth
path Parameters
_id
required
string
Example: 5f283eae065afc21cf466ea4

request _id

Request Body schema: application/json
id_ricerca
string

Identificatore della ricerca per la quale abbiamo un risultato

indice
integer

Indice del risultato della ricerca che abbiamo scelto

Responses

Response Schema: application/json
object (Richiesta)
success
boolean
message
string
error
integer

Request samples

Content type
application/json
{
  • "id_ricerca": "5f283eae065afc21cf466ea4_0",
  • "indice": 1
}

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}

documento

Area dedicata alla fruizione del servizio richiesto attraverso l'output di un documento

Documento generato dalla richiesta

Consente di ottenere il documento relativo a una specifica richiesta

Authorizations:
bearerAuth
path Parameters
_id
required
string
Example: 5f22f5b5065afc21cc60a27a

request _id

Responses

Response Schema: application/json
object (Allegato)
success
boolean
message
string
error
integer

Request samples

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "https://visengine2.altravia.com/documento/%7B_id%7D");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);

Response samples

Content type
application/json
{
  • "data": {
    },
  • "success": true,
  • "message": "",
  • "error": null
}