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
(Unicode C) 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.
#include <C_CkJsonObjectW.h> #include <C_CkHttpW.h> #include <C_CkHttpResponseW.h> void ChilkatSample(void) { HCkJsonObjectW json; BOOL success; HCkHttpW http; HCkJsonObjectW jsonBody; HCkHttpResponseW resp; HCkJsonObjectW jsonResp; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. json = CkJsonObjectW_Create(); // 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" CkJsonObjectW_UpdateString(json,L"keyId",L"api-key"); CkJsonObjectW_UpdateString(json,L"hmacKey",L"api-secret"); CkJsonObjectW_UpdateString(json,L"algorithm",L"hmac-sha256"); CkJsonObjectW_UpdateString(json,L"headers[0]",L"(request-target)"); CkJsonObjectW_UpdateString(json,L"headers[1]",L"host"); CkJsonObjectW_UpdateString(json,L"headers[2]",L"date"); CkJsonObjectW_UpdateString(json,L"headers[3]",L"content-type"); CkJsonObjectW_UpdateString(json,L"headers[4]",L"content-length"); http = CkHttpW_Create(); // 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="..." CkHttpW_putAuthSignature(http,CkJsonObjectW_emit(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 = CkJsonObjectW_Create(); CkJsonObjectW_UpdateString(jsonBody,L"groupId",L"{{group-id}}"); CkJsonObjectW_UpdateString(jsonBody,L"entityType",L"ORGANISATION"); CkJsonObjectW_UpdateString(jsonBody,L"caseId",L""); CkJsonObjectW_UpdateString(jsonBody,L"providerTypes[0]",L"WATCHLIST"); CkJsonObjectW_UpdateString(jsonBody,L"name",L"COMPANY NAME"); CkJsonObjectW_UpdateBool(jsonBody,L"nameTransposition",FALSE); CkJsonObjectW_UpdateNewArray(jsonBody,L"secondaryFields"); CkJsonObjectW_UpdateNewArray(jsonBody,L"customFields"); resp = CkHttpW_PostJson3(http,L"https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest",L"application/json",jsonBody); if (CkHttpW_getLastMethodSuccess(http) != TRUE) { wprintf(L"%s\n",CkHttpW_lastErrorText(http)); CkJsonObjectW_Dispose(json); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonBody); return; } wprintf(L"Response status code = %d\n",CkHttpResponseW_getStatusCode(resp)); jsonResp = CkJsonObjectW_Create(); CkJsonObjectW_Load(jsonResp,CkHttpResponseW_bodyStr(resp)); CkJsonObjectW_putEmitCompact(jsonResp,FALSE); wprintf(L"%s\n",CkJsonObjectW_emit(jsonResp)); // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON CkJsonObjectW_Dispose(json); CkHttpW_Dispose(http); CkJsonObjectW_Dispose(jsonBody); CkJsonObjectW_Dispose(jsonResp); } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.