Lua Requires Chilkat v11.0.0+
Lua
Refinitiv World-Check One - Synchronous Screening (POST)
See more Refinitiv Examples
Sends a signed POST request to do simple synchronous screening.Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example assumes the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local json = chilkat.JsonObject.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:update_string("keyId", "api-key")
json:update_string("hmacKey", "api-secret")
json:update_string("algorithm", "hmac-sha256")
json:update_string("headers[0]", "(request-target)")
json:update_string("headers[1]", "host")
json:update_string("headers[2]", "date")
json:update_string("headers[3]", "content-type")
json:update_string("headers[4]", "content-length")
local http = chilkat.Http.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.auth_signature = 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
local jsonBody = chilkat.JsonObject.new()
jsonBody:update_string("groupId", "{{group-id}}")
jsonBody:update_string("entityType", "ORGANISATION")
jsonBody:update_string("caseId", "")
jsonBody:update_string("providerTypes[0]", "WATCHLIST")
jsonBody:update_string("name", "COMPANY NAME")
jsonBody:update_bool("nameTransposition", false)
jsonBody:update_new_array("secondaryFields")
jsonBody:update_new_array("customFields")
local resp = chilkat.HttpResponse.new()
local success = http:http_json("POST", "https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest", jsonBody, "application/json", resp)
if not success then
print(http.last_error_text)
return
end
print("Response status code = " .. resp.status_code)
local jsonResp = chilkat.JsonObject.new()
jsonResp:load(resp.body_str)
jsonResp.emit_compact = false
print(jsonResp:emit())
-- Use this online tool to generate parsing code from sample JSON:
-- Generate Parsing Code from JSON