Sample code for 30+ languages & platforms
Dart Requires Chilkat v11.0.0+

Refinitiv World-Check One - Synchronous Screening (POST)

See more Refinitiv Examples

Sends a signed POST request to do simple synchronous screening.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // This example assumes the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  final json = CkJsonObject();

  // 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('keyId', 'api-key');
  json.updateString('hmacKey', 'api-secret');
  json.updateString('algorithm', 'hmac-sha256');
  json.updateString('headers[0]', '(request-target)');
  json.updateString('headers[1]', 'host');
  json.updateString('headers[2]', 'date');
  json.updateString('headers[3]', 'content-type');
  json.updateString('headers[4]', 'content-length');

  final http = CkHttp();

  // 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

  final jsonBody = CkJsonObject();
  jsonBody.updateString('groupId', '{{group-id}}');
  jsonBody.updateString('entityType', 'ORGANISATION');
  jsonBody.updateString('caseId', '');
  jsonBody.updateString('providerTypes[0]', 'WATCHLIST');
  jsonBody.updateString('name', 'COMPANY NAME');
  jsonBody.updateBool('nameTransposition', false);
  jsonBody.updateNewArray('secondaryFields');
  jsonBody.updateNewArray('customFields');

  final resp = CkHttpResponse();
  try {
    http.httpJson('POST', 'https://api-worldcheck.refinitiv.com/v2/cases/screeningRequest', jsonBody, 'application/json', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print('Response status code = ${resp.statusCode}');

  final jsonResp = CkJsonObject();
  jsonResp.load(resp.bodyStr);

  jsonResp.emitCompact = false;
  print(jsonResp.emit());

  // Use this online tool to generate parsing code from sample JSON: 
  // Generate Parsing Code from JSON
}