PureBasic
PureBasic
Refinitiv World-Check One - Archive Case (PUT)
See more Refinitiv Examples
Sends a signed PUT request to archive a case.Chilkat PureBasic Downloads
IncludeFile "CkHttpResponse.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
; 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
; 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",
; ]
; }
; Substitute your actual API key and API secret in place of "api-key" and "api-secret"
; Note: This particular API call is a PUT with an empty request body.
; Because the request body is empty, we don't include the content-type and content-length headers.
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")
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", signature="..."
CkHttp::setCkAuthSignature(http, CkJsonObject::ckEmit(json))
resp.i = CkHttpResponse::ckCreate()
If resp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckHttpStr(http,"PUT","https://api-worldcheck.refinitiv.com/v2/cases/{{case-system-id}}/archive","","","",resp)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkJsonObject::ckDispose(json)
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndIf
Debug "Response status code = " + Str(CkHttpResponse::ckStatusCode(resp))
Debug CkHttpResponse::ckBodyStr(resp)
; If successful, the response status code will equal 204, and the response body will be empty JSON "{}"
CkJsonObject::ckDispose(json)
CkHttp::ckDispose(http)
CkHttpResponse::ckDispose(resp)
ProcedureReturn
EndProcedure