Sample code for 30+ languages & platforms
Ruby Requires Chilkat v11.0.0+

Refinitiv World-Check One - Synchronous Screening (POST)

See more Refinitiv Examples

Sends a signed POST request to do simple synchronous screening.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

#  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",false)
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 == false)
    print http.lastErrorText() + "\n";
    exit
end

print "Response status code = " + resp.get_StatusCode().to_s() + "\n";

jsonResp = Chilkat::CkJsonObject.new()
jsonResp.Load(resp.bodyStr())

jsonResp.put_EmitCompact(false)
print jsonResp.emit() + "\n";

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