Visengine

All official documents from Chamber of Commerce, INPS and Tax Agency

Get certified documents on companies, people, real estate in real time

All the knowledge you need

Here you can find some advice to consider to approach this API. If you prefer, we provide code samples, OAS3 documentation, the ability to try the API live via the Swagger UI or import the entire collection into Postman. We also offer a Sandbox environment where you can experiment with all kinds of requests completely free of charge.

Useful tips to start with Visengine

Get the token in the appropriate section before you start.

Use the the online tool or generate it via API. Set the expire date, a usefull name and now add a bunch of scopes to limit the possible actions your token can do.

Visengine 2.0 (2.0.0)

This service offers rest calls to take advantage of a whole series of chamber of commerce, cadastral or patronage services linked to businesses and individuals

visure

Section dedicated to calls showing all available services and their input parameters

List of all services

For each element of the list, 'hash_visura' is important, which identifies the service

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
}

Service identified with hash_visura

Service description with input parameters, prices and validation instructions.

For these 4 visure:

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

it is important to download the delegation file which will then have to be uploaded during the POST/richiesta phase. The link to download the delegation file can be found by decoding in base 64 the 'istruzioni' field of the visura object.

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

hash_visura of visura to return

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

Real and own calls to access service requests, to enter and modify input parameters and to close the transaction

List of all requests

Summary list of all requests made from your profile

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
}

Creating a request

Call to instantiate a new service request. Possibility to create it immediately complete or through transactionality you can finish completing it with a put

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

By default it is 1, if you pass 0 the transaction is only initialized and remains open with the possibility of modifying the fields through the Put

test
boolean

If passed to true it simulates the validation of the data and also returns the prices of the service

hash_visura
string

Identification of the requested service

object (JsonVisura)

Object to pass all required input fields to generate an output document from the requested service. If you have to pass a file, it must be passed like this: name + '|data:' + file type + ';base64,' + base64_encode(file content); example: '$2' : 'test_file|data:image/png;base64,abcdefghijklmnopqrstuvwxyz0123456789'

object (CallbackData)
email_target
string

Allows you to receive the requested service document directly via email once the service has been processed

object

Allows you to pass options if provided in the 'json_struttura' of the '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
}

Finds request by _id

Service that returns your request marked by the identifier passed in the path

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

_id of request to return

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
}

Add a search to the request

Services that have the parameter 'ricerca' : 1 allow you to add additional searches to the first service request

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

_id of request to add a search to

Request Body schema: application/json
object (JsonVisura)

Object to pass all required input fields to generate an output document from the requested service. If you have to pass a file, it must be passed like this: name + '|data:' + file type + ';base64,' + base64_encode(file content); example: '$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
}

Updates the request

This call allows you to update the search fields of the request and to close the transaction

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

request _id

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

If the transaction is still open, with state at 0, it will not be validated and passed to the system until 1 is passed

object (JsonVisura)

Object to pass all required input fields to generate an output document from the requested service. If you have to pass a file, it must be passed like this: name + '|data:' + file type + ';base64,' + base64_encode(file content); example: '$2' : 'test_file|data:image/png;base64,abcdefghijklmnopqrstuvwxyz0123456789'

json_visura.$n
string

Allows you to change the single input field required by the service

email_target
string

Allows you to receive the requested service document directly via email once the service has been processed

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
}

Updates the request with the chosen index and search

In services with 'ricerca': 1 the final document is released upon choice of the search result

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

request _id

Request Body schema: application/json
id_ricerca
string

Identifier of the search for which we have a result

indice
integer

Index of the search result we have chosen

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 dedicated to the use of the requested service through the output of a document

Document generated by the request

Allows to obtain the document relating to a specific request

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
}