Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Refinitiv World-Check One - Synchronous Screening (POST)See more Refinitiv ExamplesSends a signed POST request to do simple synchronous screening. Note: This example requires Chilkat v9.5.0.89 or later.
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; 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" CkJsonObject::ckUpdateString(json,"keyId","api-key") CkJsonObject::ckUpdateString(json,"hmacKey","api-secret") CkJsonObject::ckUpdateString(json,"algorithm","hmac-sha256") CkJsonObject::ckUpdateString(json,"headers[0]","(request-target)") CkJsonObject::ckUpdateString(json,"headers[1]","host") CkJsonObject::ckUpdateString(json,"headers[2]","date") CkJsonObject::ckUpdateString(json,"headers[3]","content-type") CkJsonObject::ckUpdateString(json,"headers[4]","content-length") http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; 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="..." CkHttp::setCkAuthSignature(http, CkJsonObject::ckEmit(json)) ; 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.i = CkJsonObject::ckCreate() If jsonBody.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(jsonBody,"groupId","{{group-id}}") CkJsonObject::ckUpdateString(jsonBody,"entityType","ORGANISATION") CkJsonObject::ckUpdateString(jsonBody,"caseId","") CkJsonObject::ckUpdateString(jsonBody,"providerTypes[0]","WATCHLIST") CkJsonObject::ckUpdateString(jsonBody,"name","COMPANY NAME") CkJsonObject::ckUpdateBool(jsonBody,"nameTransposition",0) CkJsonObject::ckUpdateNewArray(jsonBody,"secondaryFields") CkJsonObject::ckUpdateNewArray(jsonBody,"customFields") resp.i = CkHttp::ckPostJson3(http,"https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest","application/json",jsonBody) If CkHttp::ckLastMethodSuccess(http) <> 1 Debug CkHttp::ckLastErrorText(http) CkJsonObject::ckDispose(json) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonBody) ProcedureReturn EndIf Debug "Response status code = " + Str(CkHttpResponse::ckStatusCode(resp)) jsonResp.i = CkJsonObject::ckCreate() If jsonResp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckLoad(jsonResp,CkHttpResponse::ckBodyStr(resp)) CkJsonObject::setCkEmitCompact(jsonResp, 0) Debug CkJsonObject::ckEmit(jsonResp) ; Use this online tool to generate parsing code from sample JSON: ; Generate Parsing Code from JSON CkJsonObject::ckDispose(json) CkHttp::ckDispose(http) CkJsonObject::ckDispose(jsonBody) CkJsonObject::ckDispose(jsonResp) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.