DataFlex
DataFlex
Refinitiv World-Check One - Synchronous Screening (POST)
See more Refinitiv Examples
Sends a signed POST request to do simple synchronous screening.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoJson
Handle hoHttp
Variant vJsonBody
Handle hoJsonBody
Variant vResp
Handle hoResp
Handle hoJsonResp
String sTemp1
Integer iTemp1
Move False To iSuccess
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
// 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"
Get ComUpdateString Of hoJson "keyId" "api-key" To iSuccess
Get ComUpdateString Of hoJson "hmacKey" "api-secret" To iSuccess
Get ComUpdateString Of hoJson "algorithm" "hmac-sha256" To iSuccess
Get ComUpdateString Of hoJson "headers[0]" "(request-target)" To iSuccess
Get ComUpdateString Of hoJson "headers[1]" "host" To iSuccess
Get ComUpdateString Of hoJson "headers[2]" "date" To iSuccess
Get ComUpdateString Of hoJson "headers[3]" "content-type" To iSuccess
Get ComUpdateString Of hoJson "headers[4]" "content-length" To iSuccess
Get Create (RefClass(cComChilkatHttp)) To hoHttp
If (Not(IsComObjectCreated(hoHttp))) Begin
Send CreateComObject of hoHttp
End
// 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="..."
Get ComEmit Of hoJson To sTemp1
Set ComAuthSignature Of hoHttp To sTemp1
// 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
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonBody
If (Not(IsComObjectCreated(hoJsonBody))) Begin
Send CreateComObject of hoJsonBody
End
Get ComUpdateString Of hoJsonBody "groupId" "{{group-id}}" To iSuccess
Get ComUpdateString Of hoJsonBody "entityType" "ORGANISATION" To iSuccess
Get ComUpdateString Of hoJsonBody "caseId" "" To iSuccess
Get ComUpdateString Of hoJsonBody "providerTypes[0]" "WATCHLIST" To iSuccess
Get ComUpdateString Of hoJsonBody "name" "COMPANY NAME" To iSuccess
Get ComUpdateBool Of hoJsonBody "nameTransposition" False To iSuccess
Get ComUpdateNewArray Of hoJsonBody "secondaryFields" To iSuccess
Get ComUpdateNewArray Of hoJsonBody "customFields" To iSuccess
Get Create (RefClass(cComChilkatHttpResponse)) To hoResp
If (Not(IsComObjectCreated(hoResp))) Begin
Send CreateComObject of hoResp
End
Get pvComObject of hoJsonBody to vJsonBody
Get pvComObject of hoResp to vResp
Get ComHttpJson Of hoHttp "POST" "https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest" vJsonBody "application/json" vResp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComStatusCode Of hoResp To iTemp1
Showln "Response status code = " iTemp1
Get Create (RefClass(cComChilkatJsonObject)) To hoJsonResp
If (Not(IsComObjectCreated(hoJsonResp))) Begin
Send CreateComObject of hoJsonResp
End
Get ComBodyStr Of hoResp To sTemp1
Get ComLoad Of hoJsonResp sTemp1 To iSuccess
Set ComEmitCompact Of hoJsonResp To False
Get ComEmit Of hoJsonResp To sTemp1
Showln sTemp1
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
End_Procedure