Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
oleobject loo_SbResponseBody
oleobject loo_JResp
integer li_RespStatusCode
integer li_Dati_anagraficiId_soggetto
string ls_Dati_anagraficiDenominazione
string ls_Dati_anagraficiCodice_fiscale
string ls_Dati_anagraficiPartita_iva
string ls_Dati_anagraficiIndirizzoDescrizione
string ls_Dati_anagraficiIndirizzoCap
string ls_Dati_anagraficiIndirizzoCodice_comune
string ls_Dati_anagraficiIndirizzoDescrizione_comune
string ls_Dati_anagraficiIndirizzoCodice_comune_istat
string ls_Dati_anagraficiIndirizzoProvincia
string ls_Dati_anagraficiIndirizzoDescrizione_provincia
string ls_Dati_attivitaCodice_ateco
string ls_Dati_attivitaAteco
string ls_Dati_attivitaCodice_stato_attivita
integer li_Dati_attivitaFlag_operativa
string ls_Dati_attivitaCodice_rea
string ls_Dati_attivitaCompany_formCode
string ls_Dati_attivitaCompany_formDescription
string ls_Dati_attivitaCompany_formCompany_form_class
integer li_Dati_paEnte
integer li_Dati_paFornitore
integer li_Dati_paPartecipata
string ls_Dati_anagraficiDt_nascita
integer li_PeopleTotalNumber
integer li_CompaniesTotalNumber
integer i
integer li_Count_i

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

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

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

loo_SbResponseBody = create oleobject
li_rc = loo_SbResponseBody.ConnectToNewObject("Chilkat.StringBuilder")

li_Success = loo_Http.QuickGetSb("https://api.cerved.com/cervedApi/v1/entitySearch/live?testoricerca=test",loo_SbResponseBody)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_SbResponseBody
    return
end if

loo_JResp = create oleobject
li_rc = loo_JResp.ConnectToNewObject("Chilkat.JsonObject")

loo_JResp.LoadSb(loo_SbResponseBody)
loo_JResp.EmitCompact = 0

Write-Debug "Response Body:"
Write-Debug loo_JResp.Emit()

li_RespStatusCode = loo_Http.LastStatus
Write-Debug "Response Status Code = " + string(li_RespStatusCode)
if li_RespStatusCode >= 400 then
    Write-Debug "Response Header:"
    Write-Debug loo_Http.LastHeader
    Write-Debug "Failed."
    destroy loo_Http
    destroy loo_SbResponseBody
    destroy loo_JResp
    return
end if

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

li_PeopleTotalNumber = loo_JResp.IntOf("peopleTotalNumber")
li_CompaniesTotalNumber = loo_JResp.IntOf("companiesTotalNumber")
i = 0
li_Count_i = loo_JResp.SizeOfArray("companies")
do while i < li_Count_i
    loo_JResp.I = i
    li_Dati_anagraficiId_soggetto = loo_JResp.IntOf("companies[i].dati_anagrafici.id_soggetto")
    ls_Dati_anagraficiDenominazione = loo_JResp.StringOf("companies[i].dati_anagrafici.denominazione")
    ls_Dati_anagraficiCodice_fiscale = loo_JResp.StringOf("companies[i].dati_anagrafici.codice_fiscale")
    ls_Dati_anagraficiPartita_iva = loo_JResp.StringOf("companies[i].dati_anagrafici.partita_iva")
    ls_Dati_anagraficiIndirizzoDescrizione = loo_JResp.StringOf("companies[i].dati_anagrafici.indirizzo.descrizione")
    ls_Dati_anagraficiIndirizzoCap = loo_JResp.StringOf("companies[i].dati_anagrafici.indirizzo.cap")
    ls_Dati_anagraficiIndirizzoCodice_comune = loo_JResp.StringOf("companies[i].dati_anagrafici.indirizzo.codice_comune")
    ls_Dati_anagraficiIndirizzoDescrizione_comune = loo_JResp.StringOf("companies[i].dati_anagrafici.indirizzo.descrizione_comune")
    ls_Dati_anagraficiIndirizzoCodice_comune_istat = loo_JResp.StringOf("companies[i].dati_anagrafici.indirizzo.codice_comune_istat")
    ls_Dati_anagraficiIndirizzoProvincia = loo_JResp.StringOf("companies[i].dati_anagrafici.indirizzo.provincia")
    ls_Dati_anagraficiIndirizzoDescrizione_provincia = loo_JResp.StringOf("companies[i].dati_anagrafici.indirizzo.descrizione_provincia")
    ls_Dati_attivitaCodice_ateco = loo_JResp.StringOf("companies[i].dati_attivita.codice_ateco")
    ls_Dati_attivitaAteco = loo_JResp.StringOf("companies[i].dati_attivita.ateco")
    ls_Dati_attivitaCodice_stato_attivita = loo_JResp.StringOf("companies[i].dati_attivita.codice_stato_attivita")
    li_Dati_attivitaFlag_operativa = loo_JResp.BoolOf("companies[i].dati_attivita.flag_operativa")
    ls_Dati_attivitaCodice_rea = loo_JResp.StringOf("companies[i].dati_attivita.codice_rea")
    ls_Dati_attivitaCompany_formCode = loo_JResp.StringOf("companies[i].dati_attivita.company_form.code")
    ls_Dati_attivitaCompany_formDescription = loo_JResp.StringOf("companies[i].dati_attivita.company_form.description")
    ls_Dati_attivitaCompany_formCompany_form_class = loo_JResp.StringOf("companies[i].dati_attivita.company_form.company_form_class")
    li_Dati_paEnte = loo_JResp.BoolOf("companies[i].dati_pa.ente")
    li_Dati_paFornitore = loo_JResp.BoolOf("companies[i].dati_pa.fornitore")
    li_Dati_paPartecipata = loo_JResp.BoolOf("companies[i].dati_pa.partecipata")
    i = i + 1
loop
i = 0
li_Count_i = loo_JResp.SizeOfArray("people")
do while i < li_Count_i
    loo_JResp.I = i
    li_Dati_anagraficiId_soggetto = loo_JResp.IntOf("people[i].dati_anagrafici.id_soggetto")
    ls_Dati_anagraficiDenominazione = loo_JResp.StringOf("people[i].dati_anagrafici.denominazione")
    ls_Dati_anagraficiDt_nascita = loo_JResp.StringOf("people[i].dati_anagrafici.dt_nascita")
    ls_Dati_anagraficiCodice_fiscale = loo_JResp.StringOf("people[i].dati_anagrafici.codice_fiscale")
    ls_Dati_anagraficiIndirizzoDescrizione = loo_JResp.StringOf("people[i].dati_anagrafici.indirizzo.descrizione")
    ls_Dati_anagraficiIndirizzoCap = loo_JResp.StringOf("people[i].dati_anagrafici.indirizzo.cap")
    ls_Dati_anagraficiIndirizzoCodice_comune = loo_JResp.StringOf("people[i].dati_anagrafici.indirizzo.codice_comune")
    ls_Dati_anagraficiIndirizzoDescrizione_comune = loo_JResp.StringOf("people[i].dati_anagrafici.indirizzo.descrizione_comune")
    ls_Dati_anagraficiIndirizzoCodice_comune_istat = loo_JResp.StringOf("people[i].dati_anagrafici.indirizzo.codice_comune_istat")
    ls_Dati_anagraficiIndirizzoProvincia = loo_JResp.StringOf("people[i].dati_anagrafici.indirizzo.provincia")
    ls_Dati_anagraficiIndirizzoDescrizione_provincia = loo_JResp.StringOf("people[i].dati_anagrafici.indirizzo.descrizione_provincia")
    i = i + 1
loop


destroy loo_Http
destroy loo_SbResponseBody
destroy loo_JResp