Swift
Swift
Refinitiv World-Check One - Synchronous Screening (POST)
See more Refinitiv Examples
Sends a signed POST request to do simple synchronous screening.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = false
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
let json = CkoJsonObject()!
// 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(jsonPath: "keyId", value: "api-key")
json.updateString(jsonPath: "hmacKey", value: "api-secret")
json.updateString(jsonPath: "algorithm", value: "hmac-sha256")
json.updateString(jsonPath: "headers[0]", value: "(request-target)")
json.updateString(jsonPath: "headers[1]", value: "host")
json.updateString(jsonPath: "headers[2]", value: "date")
json.updateString(jsonPath: "headers[3]", value: "content-type")
json.updateString(jsonPath: "headers[4]", value: "content-length")
let http = CkoHttp()!
// 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.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
let jsonBody = CkoJsonObject()!
jsonBody.updateString(jsonPath: "groupId", value: "{{group-id}}")
jsonBody.updateString(jsonPath: "entityType", value: "ORGANISATION")
jsonBody.updateString(jsonPath: "caseId", value: "")
jsonBody.updateString(jsonPath: "providerTypes[0]", value: "WATCHLIST")
jsonBody.updateString(jsonPath: "name", value: "COMPANY NAME")
jsonBody.updateBool(jsonPath: "nameTransposition", value: false)
jsonBody.updateNewArray(jsonPath: "secondaryFields")
jsonBody.updateNewArray(jsonPath: "customFields")
let resp = CkoHttpResponse()!
success = http.httpJson(verb: "POST", url: "https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest", json: jsonBody, contentType: "application/json", response: resp)
if success == false {
print("\(http.lastErrorText!)")
return
}
print("Response status code = \(resp.statusCode.intValue)")
let jsonResp = CkoJsonObject()!
jsonResp.load(json: resp.bodyStr)
jsonResp.emitCompact = false
print("\(jsonResp.emit()!)")
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
}