Sample code for 30+ languages & platforms
Perl

Refinitiv World-Check One - Synchronous Screening (POST)

See more Refinitiv Examples

Sends a signed POST request to do simple synchronous screening.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

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

$json = chilkat::CkJsonObject->new();

# Create the following JSON:
# 
# {
#   "keyId": "aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
#   "hmacKey": "xxxxzI3vi58xxxCBxxx1+P/d8tGxx7KuLqN/KMPNxxxxekhj8/bx83+1YQSUxxxxYyv939ceY06GvhYRKmxxxx==",
#   "algorithm": "hmac-sha256",
#   "headers": [
#     "(request-target)",
#     "host",
#     "date",
#     "content-type",
#     "content-length"
#   ]
# }

# Substitute your actual API key and API secret in place of "api-key" and "api-secret"
$json->UpdateString("keyId","api-key");
$json->UpdateString("hmacKey","api-secret");
$json->UpdateString("algorithm","hmac-sha256");
$json->UpdateString("headers[0]","(request-target)");
$json->UpdateString("headers[1]","host");
$json->UpdateString("headers[2]","date");
$json->UpdateString("headers[3]","content-type");
$json->UpdateString("headers[4]","content-length");

$http = chilkat::CkHttp->new();

# Setting the AuthSignature property causes the following header to be computed and added:
# Authorization: Signature keyId="...", algorithm="hmac-sha256", headers="(request-target) host date content-type content-length", signature="..."
$http->put_AuthSignature($json->emit());

# Build the following JSON to be sent in the POST request body.

# {
#     "groupId": "{{group-id}}",
#     "entityType": "ORGANISATION",
#     "caseId": "",
#     "providerTypes": [
#         "WATCHLIST"
#     ],
#     "name": "COMPANY NAME",
#     "nameTransposition": false,
#     "secondaryFields": [],
#     "customFields": []
# }

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

$jsonBody = chilkat::CkJsonObject->new();
$jsonBody->UpdateString("groupId","{{group-id}}");
$jsonBody->UpdateString("entityType","ORGANISATION");
$jsonBody->UpdateString("caseId","");
$jsonBody->UpdateString("providerTypes[0]","WATCHLIST");
$jsonBody->UpdateString("name","COMPANY NAME");
$jsonBody->UpdateBool("nameTransposition",0);
$jsonBody->UpdateNewArray("secondaryFields");
$jsonBody->UpdateNewArray("customFields");

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpJson("POST","https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest",$jsonBody,"application/json",$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

print "Response status code = " . $resp->get_StatusCode() . "\r\n";

$jsonResp = chilkat::CkJsonObject->new();
$jsonResp->Load($resp->bodyStr());

$jsonResp->put_EmitCompact(0);
print $jsonResp->emit() . "\r\n";

# Use this online tool to generate parsing code from sample JSON: 
# Generate Parsing Code from JSON