Sample code for 30+ languages & platforms
Xbase++

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 Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oSbResponseBody
LOCAL oJResp
LOCAL nRespStatusCode
LOCAL nDati_anagraficiId_soggetto
LOCAL cDati_anagraficiDenominazione
LOCAL cDati_anagraficiCodice_fiscale
LOCAL cDati_anagraficiPartita_iva
LOCAL cDati_anagraficiIndirizzoDescrizione
LOCAL cDati_anagraficiIndirizzoCap
LOCAL cDati_anagraficiIndirizzoCodice_comune
LOCAL cDati_anagraficiIndirizzoDescrizione_comune
LOCAL cDati_anagraficiIndirizzoCodice_comune_istat
LOCAL cDati_anagraficiIndirizzoProvincia
LOCAL cDati_anagraficiIndirizzoDescrizione_provincia
LOCAL cDati_attivitaCodice_ateco
LOCAL cDati_attivitaAteco
LOCAL cDati_attivitaCodice_stato_attivita
LOCAL nDati_attivitaFlag_operativa
LOCAL cDati_attivitaCodice_rea
LOCAL cDati_attivitaCompany_formCode
LOCAL cDati_attivitaCompany_formDescription
LOCAL cDati_attivitaCompany_formCompany_form_class
LOCAL nDati_paEnte
LOCAL nDati_paFornitore
LOCAL nDati_paPartecipata
LOCAL cDati_anagraficiDt_nascita
LOCAL nPeopleTotalNumber
LOCAL nCompaniesTotalNumber
LOCAL i
LOCAL nCount_i

nSuccess := 0

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

oHttp := CreateObject("Chilkat.Http")

//  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

oHttp:SetRequestHeader("accept", "application/json")
//  Note: Your apikey is your Consumer Key
oHttp:SetRequestHeader("apikey", "********************************")

oSbResponseBody := CreateObject("Chilkat.StringBuilder")
nSuccess := oHttp:QuickGetSb("https://api.cerved.com/cervedApi/v1/entitySearch/live?testoricerca=test", oSbResponseBody)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oSbResponseBody:destroy()
    RETURN
ENDIF

oJResp := CreateObject("Chilkat.JsonObject")
oJResp:LoadSb(oSbResponseBody)
oJResp:EmitCompact := 0

? "Response Body:"
? oJResp:Emit()

nRespStatusCode := oHttp:LastStatus
? "Response Status Code = " + Str(nRespStatusCode)
IF (nRespStatusCode >= 400)
    ? "Response Header:"
    ? oHttp:LastHeader
    ? "Failed."
    oHttp:destroy()
    oSbResponseBody:destroy()
    oJResp:destroy()
    RETURN
ENDIF

//  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

nPeopleTotalNumber := oJResp:IntOf("peopleTotalNumber")
nCompaniesTotalNumber := oJResp:IntOf("companiesTotalNumber")
i := 0
nCount_i := oJResp:SizeOfArray("companies")
DO WHILE i < nCount_i
    oJResp:I := i
    nDati_anagraficiId_soggetto := oJResp:IntOf("companies[i].dati_anagrafici.id_soggetto")
    cDati_anagraficiDenominazione := oJResp:StringOf("companies[i].dati_anagrafici.denominazione")
    cDati_anagraficiCodice_fiscale := oJResp:StringOf("companies[i].dati_anagrafici.codice_fiscale")
    cDati_anagraficiPartita_iva := oJResp:StringOf("companies[i].dati_anagrafici.partita_iva")
    cDati_anagraficiIndirizzoDescrizione := oJResp:StringOf("companies[i].dati_anagrafici.indirizzo.descrizione")
    cDati_anagraficiIndirizzoCap := oJResp:StringOf("companies[i].dati_anagrafici.indirizzo.cap")
    cDati_anagraficiIndirizzoCodice_comune := oJResp:StringOf("companies[i].dati_anagrafici.indirizzo.codice_comune")
    cDati_anagraficiIndirizzoDescrizione_comune := oJResp:StringOf("companies[i].dati_anagrafici.indirizzo.descrizione_comune")
    cDati_anagraficiIndirizzoCodice_comune_istat := oJResp:StringOf("companies[i].dati_anagrafici.indirizzo.codice_comune_istat")
    cDati_anagraficiIndirizzoProvincia := oJResp:StringOf("companies[i].dati_anagrafici.indirizzo.provincia")
    cDati_anagraficiIndirizzoDescrizione_provincia := oJResp:StringOf("companies[i].dati_anagrafici.indirizzo.descrizione_provincia")
    cDati_attivitaCodice_ateco := oJResp:StringOf("companies[i].dati_attivita.codice_ateco")
    cDati_attivitaAteco := oJResp:StringOf("companies[i].dati_attivita.ateco")
    cDati_attivitaCodice_stato_attivita := oJResp:StringOf("companies[i].dati_attivita.codice_stato_attivita")
    nDati_attivitaFlag_operativa := oJResp:BoolOf("companies[i].dati_attivita.flag_operativa")
    cDati_attivitaCodice_rea := oJResp:StringOf("companies[i].dati_attivita.codice_rea")
    cDati_attivitaCompany_formCode := oJResp:StringOf("companies[i].dati_attivita.company_form.code")
    cDati_attivitaCompany_formDescription := oJResp:StringOf("companies[i].dati_attivita.company_form.description")
    cDati_attivitaCompany_formCompany_form_class := oJResp:StringOf("companies[i].dati_attivita.company_form.company_form_class")
    nDati_paEnte := oJResp:BoolOf("companies[i].dati_pa.ente")
    nDati_paFornitore := oJResp:BoolOf("companies[i].dati_pa.fornitore")
    nDati_paPartecipata := oJResp:BoolOf("companies[i].dati_pa.partecipata")
    i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("people")
DO WHILE i < nCount_i
    oJResp:I := i
    nDati_anagraficiId_soggetto := oJResp:IntOf("people[i].dati_anagrafici.id_soggetto")
    cDati_anagraficiDenominazione := oJResp:StringOf("people[i].dati_anagrafici.denominazione")
    cDati_anagraficiDt_nascita := oJResp:StringOf("people[i].dati_anagrafici.dt_nascita")
    cDati_anagraficiCodice_fiscale := oJResp:StringOf("people[i].dati_anagrafici.codice_fiscale")
    cDati_anagraficiIndirizzoDescrizione := oJResp:StringOf("people[i].dati_anagrafici.indirizzo.descrizione")
    cDati_anagraficiIndirizzoCap := oJResp:StringOf("people[i].dati_anagrafici.indirizzo.cap")
    cDati_anagraficiIndirizzoCodice_comune := oJResp:StringOf("people[i].dati_anagrafici.indirizzo.codice_comune")
    cDati_anagraficiIndirizzoDescrizione_comune := oJResp:StringOf("people[i].dati_anagrafici.indirizzo.descrizione_comune")
    cDati_anagraficiIndirizzoCodice_comune_istat := oJResp:StringOf("people[i].dati_anagrafici.indirizzo.codice_comune_istat")
    cDati_anagraficiIndirizzoProvincia := oJResp:StringOf("people[i].dati_anagrafici.indirizzo.provincia")
    cDati_anagraficiIndirizzoDescrizione_provincia := oJResp:StringOf("people[i].dati_anagrafici.indirizzo.descrizione_provincia")
    i := i + 1
ENDDO

oHttp:destroy()
oSbResponseBody:destroy()
oJResp:destroy()