An authorization issue while calling WorldCheck One API. Response: status 401

Hello,

we try to integrate WorldCheck One API in our System.

Firstly, we download documentation and postmen collection: Thomson-Reuters-World-Check-One-API-documentation.v1.5 and World-Check One API Postman Collection

Secondly, we try to run the test postman collection as shown in https://developers.thomsonreuters.com/customer-and-third-party-screening/world-check-one-api/quick-start. Before this, we enter API Key and API Secret provided for us by Administrator (the screenshot are attached).

We try to execute GET request - SEQ-pre-groups: Get my top-level groups but as a result, we receive the following response: Status: 401 Unauthorized FAIL: Status code is 200 | AssertionError: expected response to having status code 200 but got 401 FAIL: Could retrieve the groupId from response | AssertionError: expected response body to be a valid json but got error No data, empty input at 1:1

image

image

Best Answer

  • Prabhjyot
    Answer ✓

    @otkachova,

    Thank you for sharing the console logs.

    Based on the details, I can see that you are using an empty ‘Content-Type’
    in the ‘Request Headers’ which is not required for the GET request. The GET
    request headers would only include ‘Date’ and ‘Authorization’. Could you please remove the ‘Content-Type’ from the
    Header and then try?

    Group-id would be obtained when you use the API call – “SEQ-pre-groups: Get my top-level groups
    and the response code is 200 OK (see the format below). Group-id would not be required for the above mentioned request.

    {

    "id" : "Group Id",

    "parentId" : "Parent Group
    ID",

    "name" : "John Smith",

    "hasChildren" : true,

    "children" : [ ],

    "status" : "ACTIVE"

    }

    Custom-fields are the fields which you may want to use in
    addition while screening a case. The information of the available custom fields
    could be obtained when you use the API call – ‘SEQ-pre-group-case-template: Get the case template for a group
    in the below format and would not be required for the API call - 'Get my top-level groups':

    "customFields" : [ {

    "typeId" : "Custom Field Id 1",

    "value" : "Reference Id 1234567"

    }, {

    "typeId" : "Custom Field Id 2",

    "value" : "Deal Id 1234567"

    } ],

    Let me know if this helps.

Answers

  • Hi @otkachova,

    Can you please share the postman console logs in order to investigate the exact cause for the Error 401?

  • @Prabhjyot.Mandla thank you for the assist!

    Sure

    The log:

    Request Headers:

    date: "Tue, 28 Aug 2018 13:42:13 GMT"

    authorization:"Signature keyId="ffd37d13-36f9-4efc-ab5e-d9ec9dbee778",algorithm="hmac-sha256",headers="(request-target) host date",signature="cGIWyWvC87EzG9UgMCLPRmBzs9A0EDlX2D2OJ145x4Q=""

    content-type:""

    cache-control:"no-cache"

    postman-token:"8d293112-d189-456e-bacd-cd69bd7aced9"

    user-agent:"PostmanRuntime/7.2.0"

    accept:"*/*"

    host:"rms-world-check-one-api-pilot.thomsonreuters.com"

    accept-encoding:"gzip, deflate"

    Response Headers:

    x-application-context:"application"

    authorization:"WWW-Authenticate: Signature realm="World-Check One API",algorithm="hmac-sha256",headers="(request-target) host date content-type content-length"

    transfer-encoding:"chunked"

    date:"Tue, 28 Aug 2018 13:42:12 GMT"

    server:""""

    Response Body:

    I am not sure that we entered all data in the environment. We do not know what exactly needs to be provided in the following parameters:

    group-id

    custom-field-1

    custom-field-2

    custom-field-3

    The screenshot is attached

    environment-config-3.png