Sample code for 30+ languages & platforms
Xbase++

Cerved API Advanced Entity Search

See more Cerved Examples

The "Advanced Entity Search" API allows you to find subjects in the Cerved database that meet specific search criteria, specified through the parameters provided as input to the service.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oJson
LOCAL oResp
LOCAL oSbResponseBody
LOCAL oJResp
LOCAL nRespStatusCode
LOCAL cSubject_id
LOCAL cSubject_type
LOCAL cTax_code
LOCAL cAddressStreetDescription
LOCAL cAddressCityCode
LOCAL cAddressCityIstat_code
LOCAL cAddressCityDescription
LOCAL cAddressProvinceCode
LOCAL cAddressProvinceDescription
LOCAL cAddressPostal_code
LOCAL cAddressCountryCode
LOCAL cAddressCountryDescription
LOCAL cCompany_infoLegal_formCode
LOCAL cCompany_infoLegal_formDescription
LOCAL cCompany_infoLegal_formClass_code
LOCAL cCompany_infoActivity_statusCode
LOCAL cCompany_infoActivity_statusDescription
LOCAL cCompany_infoBusiness_name
LOCAL cCompany_infoEconomic_activityAtecoCode
LOCAL cCompany_infoEconomic_activityAtecoDescription
LOCAL cCompany_infoHead_office
LOCAL cCompany_infoLei_code
LOCAL cCompany_infoOperational_flag
LOCAL cCompany_infoPublic_administrationPa_subject
LOCAL cCompany_infoPublic_administrationPa_supplier
LOCAL cCompany_infoPublic_administrationPa_owned
LOCAL cCompany_infoRea_codeCciaa
LOCAL nCompany_infoRea_codeRea_number
LOCAL cCompany_infoRea_codeRegistration_date
LOCAL cCompany_infoVat_number
LOCAL cCompany_infoNo_rea_dataForm_code
LOCAL cCompany_infoNo_rea_dataForm_description
LOCAL cPerson_infoFirst_name
LOCAL cPerson_infoLast_name
LOCAL cPerson_infoName
LOCAL cPerson_infoBirth_date
LOCAL cPerson_infoBirth_placeStreetDescription
LOCAL cPerson_infoBirth_placeCityCode
LOCAL cPerson_infoBirth_placeCityIstat_code
LOCAL cPerson_infoBirth_placeCityDescription
LOCAL cPerson_infoBirth_placeProvinceCode
LOCAL cPerson_infoBirth_placeProvinceDescription
LOCAL cPerson_infoBirth_placePostal_code
LOCAL cPerson_infoBirth_placeCountryCode
LOCAL cPerson_infoBirth_placeCountryDescription
LOCAL nSubjects_total_number
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 POST \
//    https://api.cerved.com/cervedApi/v1/entitySearch/advanced \
//    -H 'accept: application/json' \
//    -H 'apikey: ********************************' \
//  -d '{
//    "search_text": "string",
//    "activity_status_codes": [
//      "A",
//      "C",
//      "D",
//      "F",
//      "I",
//      "L",
//      "N",
//      "P",
//      "R",
//      "S",
//      "T"
//    ],
//    "birth_date": "string",
//    "name": "string",
//    "subject_types": [
//      "PERSON",
//      "INDIVIDUAL_COMPANY",
//      "COMPANY",
//      "FOREIGN",
//      "OTHER"
//    ],
//    "tax_code": "string",
//    "vat_number": "string",
//    "rea": {
//      "cciaa": "string",
//      "rea_number": 0
//    },
//    "city_istat_code": "string",
//    "province_code": "string"
//  }'

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

//  Use this online tool to generate code from sample JSON:
//  Generate Code to Create JSON

//  The following JSON is sent in the request body.

//  {
//    "search_text": "string",
//    "activity_status_codes": [
//      "A",
//      "C",
//      "D",
//      "F",
//      "I",
//      "L",
//      "N",
//      "P",
//      "R",
//      "S",
//      "T"
//    ],
//    "birth_date": "string",
//    "name": "string",
//    "subject_types": [
//      "PERSON",
//      "INDIVIDUAL_COMPANY",
//      "COMPANY",
//      "FOREIGN",
//      "OTHER"
//    ],
//    "tax_code": "string",
//    "vat_number": "string",
//    "rea": {
//      "cciaa": "string",
//      "rea_number": 0
//    },
//    "city_istat_code": "string",
//    "province_code": "string"
//  }

oJson := CreateObject("Chilkat.JsonObject")
//  IMPORTANT:  Only include the lines for the search criteria you wish to include.
oJson:UpdateString("search_text", "string")
oJson:UpdateString("activity_status_codes[0]", "A")
oJson:UpdateString("activity_status_codes[1]", "C")
oJson:UpdateString("activity_status_codes[2]", "D")
oJson:UpdateString("activity_status_codes[3]", "F")
oJson:UpdateString("activity_status_codes[4]", "I")
oJson:UpdateString("activity_status_codes[5]", "L")
oJson:UpdateString("activity_status_codes[6]", "N")
oJson:UpdateString("activity_status_codes[7]", "P")
oJson:UpdateString("activity_status_codes[8]", "R")
oJson:UpdateString("activity_status_codes[9]", "S")
oJson:UpdateString("activity_status_codes[10]", "T")
oJson:UpdateString("birth_date", "string")
oJson:UpdateString("name", "string")
oJson:UpdateString("subject_types[0]", "PERSON")
oJson:UpdateString("subject_types[1]", "INDIVIDUAL_COMPANY")
oJson:UpdateString("subject_types[2]", "COMPANY")
oJson:UpdateString("subject_types[3]", "FOREIGN")
oJson:UpdateString("subject_types[4]", "OTHER")
oJson:UpdateString("tax_code", "string")
oJson:UpdateString("vat_number", "string")
oJson:UpdateString("rea.cciaa", "string")
oJson:UpdateInt("rea.rea_number", 0)
oJson:UpdateString("city_istat_code", "string")
oJson:UpdateString("province_code", "string")

oHttp:SetRequestHeader("accept", "application/json")
oHttp:SetRequestHeader("apikey", "********************************")

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", "https://api.cerved.com/cervedApi/v1/entitySearch/advanced", oJson, "application/json", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oJson:destroy()
    oResp:destroy()
    RETURN
ENDIF

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

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

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

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

//  {
//    "subjects": [
//      {
//        "subject_id": "string",
//        "subject_type": "string",
//        "tax_code": "string",
//        "address": {
//          "street": {
//            "description": "string"
//          },
//          "city": {
//            "code": "string",
//            "istat_code": "string",
//            "description": "string"
//          },
//          "province": {
//            "code": "string",
//            "description": "string"
//          },
//          "postal_code": "string",
//          "country": {
//            "code": "string",
//            "description": "string"
//          }
//        },
//        "company_info": {
//          "legal_form": {
//            "code": "string",
//            "description": "string",
//            "class_code": "string"
//          },
//          "activity_status": {
//            "code": "string",
//            "description": "string"
//          },
//          "business_name": "string",
//          "economic_activity": {
//            "ateco": {
//              "code": "string",
//              "description": "string"
//            }
//          },
//          "head_office": "true",
//          "lei_code": "string",
//          "operational_flag": "true",
//          "public_administration": {
//            "pa_subject": "true",
//            "pa_supplier": "true",
//            "pa_owned": "true"
//          },
//          "rea_code": {
//            "cciaa": "string",
//            "rea_number": 0,
//            "registration_date": "string"
//          },
//          "vat_number": "string",
//          "no_rea_data": {
//            "form_code": "string",
//            "form_description": "string"
//          }
//        },
//        "person_info": {
//          "first_name": "string",
//          "last_name": "string",
//          "name": "string",
//          "birth_date": "string",
//          "birth_place": {
//            "street": {
//              "description": "string"
//            },
//            "city": {
//              "code": "string",
//              "istat_code": "string",
//              "description": "string"
//            },
//            "province": {
//              "code": "string",
//              "description": "string"
//            },
//            "postal_code": "string",
//            "country": {
//              "code": "string",
//              "description": "string"
//            }
//          }
//        }
//      }
//    ],
//    "subjects_total_number": 0
//  }

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

nSubjects_total_number := oJResp:IntOf("subjects_total_number")
i := 0
nCount_i := oJResp:SizeOfArray("subjects")
DO WHILE i < nCount_i
    oJResp:I := i
    cSubject_id := oJResp:StringOf("subjects[i].subject_id")
    cSubject_type := oJResp:StringOf("subjects[i].subject_type")
    cTax_code := oJResp:StringOf("subjects[i].tax_code")
    cAddressStreetDescription := oJResp:StringOf("subjects[i].address.street.description")
    cAddressCityCode := oJResp:StringOf("subjects[i].address.city.code")
    cAddressCityIstat_code := oJResp:StringOf("subjects[i].address.city.istat_code")
    cAddressCityDescription := oJResp:StringOf("subjects[i].address.city.description")
    cAddressProvinceCode := oJResp:StringOf("subjects[i].address.province.code")
    cAddressProvinceDescription := oJResp:StringOf("subjects[i].address.province.description")
    cAddressPostal_code := oJResp:StringOf("subjects[i].address.postal_code")
    cAddressCountryCode := oJResp:StringOf("subjects[i].address.country.code")
    cAddressCountryDescription := oJResp:StringOf("subjects[i].address.country.description")
    cCompany_infoLegal_formCode := oJResp:StringOf("subjects[i].company_info.legal_form.code")
    cCompany_infoLegal_formDescription := oJResp:StringOf("subjects[i].company_info.legal_form.description")
    cCompany_infoLegal_formClass_code := oJResp:StringOf("subjects[i].company_info.legal_form.class_code")
    cCompany_infoActivity_statusCode := oJResp:StringOf("subjects[i].company_info.activity_status.code")
    cCompany_infoActivity_statusDescription := oJResp:StringOf("subjects[i].company_info.activity_status.description")
    cCompany_infoBusiness_name := oJResp:StringOf("subjects[i].company_info.business_name")
    cCompany_infoEconomic_activityAtecoCode := oJResp:StringOf("subjects[i].company_info.economic_activity.ateco.code")
    cCompany_infoEconomic_activityAtecoDescription := oJResp:StringOf("subjects[i].company_info.economic_activity.ateco.description")
    cCompany_infoHead_office := oJResp:StringOf("subjects[i].company_info.head_office")
    cCompany_infoLei_code := oJResp:StringOf("subjects[i].company_info.lei_code")
    cCompany_infoOperational_flag := oJResp:StringOf("subjects[i].company_info.operational_flag")
    cCompany_infoPublic_administrationPa_subject := oJResp:StringOf("subjects[i].company_info.public_administration.pa_subject")
    cCompany_infoPublic_administrationPa_supplier := oJResp:StringOf("subjects[i].company_info.public_administration.pa_supplier")
    cCompany_infoPublic_administrationPa_owned := oJResp:StringOf("subjects[i].company_info.public_administration.pa_owned")
    cCompany_infoRea_codeCciaa := oJResp:StringOf("subjects[i].company_info.rea_code.cciaa")
    nCompany_infoRea_codeRea_number := oJResp:IntOf("subjects[i].company_info.rea_code.rea_number")
    cCompany_infoRea_codeRegistration_date := oJResp:StringOf("subjects[i].company_info.rea_code.registration_date")
    cCompany_infoVat_number := oJResp:StringOf("subjects[i].company_info.vat_number")
    cCompany_infoNo_rea_dataForm_code := oJResp:StringOf("subjects[i].company_info.no_rea_data.form_code")
    cCompany_infoNo_rea_dataForm_description := oJResp:StringOf("subjects[i].company_info.no_rea_data.form_description")
    cPerson_infoFirst_name := oJResp:StringOf("subjects[i].person_info.first_name")
    cPerson_infoLast_name := oJResp:StringOf("subjects[i].person_info.last_name")
    cPerson_infoName := oJResp:StringOf("subjects[i].person_info.name")
    cPerson_infoBirth_date := oJResp:StringOf("subjects[i].person_info.birth_date")
    cPerson_infoBirth_placeStreetDescription := oJResp:StringOf("subjects[i].person_info.birth_place.street.description")
    cPerson_infoBirth_placeCityCode := oJResp:StringOf("subjects[i].person_info.birth_place.city.code")
    cPerson_infoBirth_placeCityIstat_code := oJResp:StringOf("subjects[i].person_info.birth_place.city.istat_code")
    cPerson_infoBirth_placeCityDescription := oJResp:StringOf("subjects[i].person_info.birth_place.city.description")
    cPerson_infoBirth_placeProvinceCode := oJResp:StringOf("subjects[i].person_info.birth_place.province.code")
    cPerson_infoBirth_placeProvinceDescription := oJResp:StringOf("subjects[i].person_info.birth_place.province.description")
    cPerson_infoBirth_placePostal_code := oJResp:StringOf("subjects[i].person_info.birth_place.postal_code")
    cPerson_infoBirth_placeCountryCode := oJResp:StringOf("subjects[i].person_info.birth_place.country.code")
    cPerson_infoBirth_placeCountryDescription := oJResp:StringOf("subjects[i].person_info.birth_place.country.description")
    i := i + 1
ENDDO

oHttp:destroy()
oJson:destroy()
oResp:destroy()
oSbResponseBody:destroy()
oJResp:destroy()