Sample code for 30+ languages & platforms
Tcl

Cerved API Entity Search

See more Cerved Examples

Perform searches on a Subject, known indifferently, the Fiscal Code, VAT number or Name, and to obtain basic information of the Subject.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

# Implements the following CURL command:

# curl -X GET \
#   https://api.cerved.com/cervedApi/v1/entitySearch/live?testoricerca=test \
#   -H 'accept: application/json' \
#   -H 'apikey: ********************************'

# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code

CkHttp_SetRequestHeader $http "accept" "application/json"
# Note: Your apikey is your Consumer Key
CkHttp_SetRequestHeader $http "apikey" "********************************"

set sbResponseBody [new_CkStringBuilder]

set success [CkHttp_QuickGetSb $http "https://api.cerved.com/cervedApi/v1/entitySearch/live?testoricerca=test" $sbResponseBody]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkStringBuilder $sbResponseBody
    exit
}

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0

puts "Response Body:"
puts [CkJsonObject_emit $jResp]

set respStatusCode [CkHttp_get_LastStatus $http]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
    puts "Response Header:"
    puts [CkHttp_lastHeader $http]
    puts "Failed."
    delete_CkHttp $http
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "peopleTotalNumber": 1,
#   "companiesTotalNumber": 49,
#   "companies": [
#     {
#       "dati_anagrafici": {
#         "id_soggetto": 12207335,
#         "denominazione": "ANGELANTONI TEST TECHNOLOGIES S.R.L. IN FORMA ABBREVIATA ATT S.R.L.",
#         "codice_fiscale": "01234567890",
#         "partita_iva": "01234567890",
#         "indirizzo": {
#           "descrizione": "LOCALITA' CIMACOLLE, 464",
#           "cap": "06056",
#           "codice_comune": "PG028",
#           "descrizione_comune": "MASSA MARTANA",
#           "codice_comune_istat": "054028",
#           "provincia": "PG",
#           "descrizione_provincia": "PERUGIA"
#         }
#       },
#       "dati_attivita": {
#         "codice_ateco": "265129",
#         "ateco": "Fabbricazione di altri apparecchi di misura e regolazione, strumenti da disegno, di contatori di elettricita', gas, acqua ed altri liquidi, di bilance analitiche di precisione (incluse parti staccate ed accessori)",
#         "codice_stato_attivita": "A",
#         "flag_operativa": true,
#         "codice_rea": "PG 272575",
#         "company_form": {
#           "code": "SR",
#           "description": "SOCIETA' A RESPONSABILITA' LIMITATA",
#           "company_form_class": "SC"
#         }
#       },
#       "dati_pa": {
#         "ente": false,
#         "fornitore": true,
#         "partecipata": false
#       }
#     },
#     {
#       "dati_anagrafici": {
#         "id_soggetto": 1046896,
#         "denominazione": "TEST INDUSTRY S.R.L.",
#         "codice_fiscale": "01234567890",
#         "partita_iva": "01234567890",
#         "indirizzo": {
#           "descrizione": "CORSO VENEZIA, 36",
#           "cap": "20121",
#           "codice_comune": "MI146",
#           "descrizione_comune": "MILANO",
#           "codice_comune_istat": "015146",
#           "provincia": "MI",
#           "descrizione_provincia": "MILANO"
#         }
#       },
#       "dati_attivita": {
#         "codice_ateco": "265129",
#         "ateco": "Fabbricazione di altri apparecchi di misura e regolazione, strumenti da disegno, di contatori di elettricita', gas, acqua ed altri liquidi, di bilance analitiche di precisione (incluse parti staccate ed accessori)",
#         "codice_stato_attivita": "A",
#         "flag_operativa": true,
#         "codice_rea": "MI 2579272",
#         "company_form": {
#           "code": "SR",
#           "description": "SOCIETA' A RESPONSABILITA' LIMITATA",
#           "company_form_class": "SC"
#         }
#       },
#       "dati_pa": {
#         "ente": false,
#         "fornitore": true,
#         "partecipata": false
#       }
#     },
#     {
#       "dati_anagrafici": {
#         "id_soggetto": 300632,
#         "denominazione": "ITW TEST AND MEASUREMENT ITALIA S.R.L.",
#         "codice_fiscale": "01234567890",
#         "partita_iva": "01234567890",
#         "indirizzo": {
#           "descrizione": "VIA AIRAUDA, 12",
#           "cap": "10044",
#           "codice_comune": "TO189",
#           "descrizione_comune": "PIANEZZA",
#           "codice_comune_istat": "001189",
#           "provincia": "TO",
#           "descrizione_provincia": "TORINO"
#         }
#       },
#       "dati_attivita": {
#         "codice_ateco": "265129",
#         "ateco": "Fabbricazione di altri apparecchi di misura e regolazione, strumenti da disegno, di contatori di elettricita', gas, acqua ed altri liquidi, di bilance analitiche di precisione (incluse parti staccate ed accessori)",
#         "codice_stato_attivita": "A",
#         "flag_operativa": true,
#         "codice_rea": "TO 379571",
#         "company_form": {
#           "code": "SU",
#           "description": "SOCIETA' A RESPONSABILITA' LIMITATA CON UNICO SOCIO",
#           "company_form_class": "SC"
#         }
#       },
#       "dati_pa": {
#         "ente": false,
#         "fornitore": true,
#         "partecipata": false
#       }
#     }
#   ],
#   "people": [
#     {
#       "dati_anagrafici": {
#         "id_soggetto": 333333333,
#         "denominazione": "ROBUSTELLI TEST ALESSANDRO",
#         "dt_nascita": "08-22-1978",
#         "codice_fiscale": "RBSSMMMMMMMMMMMM",
#         "indirizzo": {
#           "descrizione": "VIA ALESSANDRINI, 22",
#           "cap": "26027",
#           "codice_comune": "CR084",
#           "descrizione_comune": "RIVOLTA D'ADDA",
#           "codice_comune_istat": "019084",
#           "provincia": "CR",
#           "descrizione_provincia": "CREMONA"
#         }
#       }
#     }
#   ]
# }

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON

set peopleTotalNumber [CkJsonObject_IntOf $jResp "peopleTotalNumber"]
set companiesTotalNumber [CkJsonObject_IntOf $jResp "companiesTotalNumber"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "companies"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set dati_anagraficiId_soggetto [CkJsonObject_IntOf $jResp "companies[i].dati_anagrafici.id_soggetto"]
    set dati_anagraficiDenominazione [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.denominazione"]
    set dati_anagraficiCodice_fiscale [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.codice_fiscale"]
    set dati_anagraficiPartita_iva [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.partita_iva"]
    set dati_anagraficiIndirizzoDescrizione [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.indirizzo.descrizione"]
    set dati_anagraficiIndirizzoCap [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.indirizzo.cap"]
    set dati_anagraficiIndirizzoCodice_comune [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.indirizzo.codice_comune"]
    set dati_anagraficiIndirizzoDescrizione_comune [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.indirizzo.descrizione_comune"]
    set dati_anagraficiIndirizzoCodice_comune_istat [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.indirizzo.codice_comune_istat"]
    set dati_anagraficiIndirizzoProvincia [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.indirizzo.provincia"]
    set dati_anagraficiIndirizzoDescrizione_provincia [CkJsonObject_stringOf $jResp "companies[i].dati_anagrafici.indirizzo.descrizione_provincia"]
    set dati_attivitaCodice_ateco [CkJsonObject_stringOf $jResp "companies[i].dati_attivita.codice_ateco"]
    set dati_attivitaAteco [CkJsonObject_stringOf $jResp "companies[i].dati_attivita.ateco"]
    set dati_attivitaCodice_stato_attivita [CkJsonObject_stringOf $jResp "companies[i].dati_attivita.codice_stato_attivita"]
    set dati_attivitaFlag_operativa [CkJsonObject_BoolOf $jResp "companies[i].dati_attivita.flag_operativa"]
    set dati_attivitaCodice_rea [CkJsonObject_stringOf $jResp "companies[i].dati_attivita.codice_rea"]
    set dati_attivitaCompany_formCode [CkJsonObject_stringOf $jResp "companies[i].dati_attivita.company_form.code"]
    set dati_attivitaCompany_formDescription [CkJsonObject_stringOf $jResp "companies[i].dati_attivita.company_form.description"]
    set dati_attivitaCompany_formCompany_form_class [CkJsonObject_stringOf $jResp "companies[i].dati_attivita.company_form.company_form_class"]
    set dati_paEnte [CkJsonObject_BoolOf $jResp "companies[i].dati_pa.ente"]
    set dati_paFornitore [CkJsonObject_BoolOf $jResp "companies[i].dati_pa.fornitore"]
    set dati_paPartecipata [CkJsonObject_BoolOf $jResp "companies[i].dati_pa.partecipata"]
    set i [expr $i + 1]
}
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "people"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set dati_anagraficiId_soggetto [CkJsonObject_IntOf $jResp "people[i].dati_anagrafici.id_soggetto"]
    set dati_anagraficiDenominazione [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.denominazione"]
    set dati_anagraficiDt_nascita [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.dt_nascita"]
    set dati_anagraficiCodice_fiscale [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.codice_fiscale"]
    set dati_anagraficiIndirizzoDescrizione [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.indirizzo.descrizione"]
    set dati_anagraficiIndirizzoCap [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.indirizzo.cap"]
    set dati_anagraficiIndirizzoCodice_comune [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.indirizzo.codice_comune"]
    set dati_anagraficiIndirizzoDescrizione_comune [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.indirizzo.descrizione_comune"]
    set dati_anagraficiIndirizzoCodice_comune_istat [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.indirizzo.codice_comune_istat"]
    set dati_anagraficiIndirizzoProvincia [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.indirizzo.provincia"]
    set dati_anagraficiIndirizzoDescrizione_provincia [CkJsonObject_stringOf $jResp "people[i].dati_anagrafici.indirizzo.descrizione_provincia"]
    set i [expr $i + 1]
}

delete_CkHttp $http
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp