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
(Visual FoxPro) HMRC Validate Fraud Prevention HeadersDemonstrates how to test (validate) HMRC fraud prevention headers.
LOCAL loRest LOCAL lnSuccess LOCAL loJson LOCAL lcAccessToken LOCAL loSbAuthHeaderValue LOCAL lcResponseStr * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Rest') loRest = CreateObject('Chilkat.Rest') lnSuccess = loRest.Connect("test-api.service.hmrc.gov.uk",443,1,1) IF (lnSuccess = 0) THEN ? loRest.LastErrorText RELEASE loRest CANCEL ENDIF * Load the previously fetched access token. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject') loJson = CreateObject('Chilkat.JsonObject') lnSuccess = loJson.LoadFile("qa_data/tokens/hmrc.json") lcAccessToken = loJson.StringOf("access_token") ? "Using access toke: " + lcAccessToken * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbAuthHeaderValue = CreateObject('Chilkat.StringBuilder') loSbAuthHeaderValue.Append("Bearer ") loSbAuthHeaderValue.Append(lcAccessToken) loRest.AddHeader("Accept","application/vnd.hmrc.1.0+json") loRest.AddHeader("Authorization",loSbAuthHeaderValue.GetAsString()) * Add the fraud prevention headers. * See https://developer.service.hmrc.gov.uk/api-documentation/docs/fraud-prevention loRest.AddHeader("gov-client-connection-method","DESKTOP_APP_DIRECT") * This should be generated by an application and persistently stored on the device. The identifier should not expire. loRest.AddHeader("gov-client-device-id","beec798b-b366-47fa-b1f8-92cede14a1ce") * See https://developer.service.hmrc.gov.uk/api-documentation/docs/fraud-prevention loRest.AddHeader("gov-client-user-ids","os=user123") * Your local IP addresses (comma separated), such as addresses beginning with "192.168." or "172.16." loRest.AddHeader("gov-client-local-ips","172.16.16.23") * You'll need to find a way to get your MAC address. Chilkat does not yet provide this ability... loRest.AddHeader("gov-client-mac-addresses","7C%3AD3%3A0A%3A25%3ADA%3A1C") loRest.AddHeader("gov-client-timezone","UTC+00:00") * You can probably just hard-code these so they're always the same with each request. loRest.AddHeader("gov-client-window-size","width=1256&height=800") loRest.AddHeader("gov-client-screens","width=1920&height=1080&scaling-factor=1&colour-depth=16") loRest.AddHeader("gov-client-user-agent","Windows/Server%202012 (Dell%20Inc./OptiPlex%20980)") loRest.AddHeader("gov-vendor-version","My%20Desktop%20Software=1.2.3.build4286") lcResponseStr = loRest.FullRequestNoBody("GET","/test/fraud-prevention-headers/validate") IF (loRest.LastMethodSuccess = 0) THEN ? loRest.LastErrorText RELEASE loRest RELEASE loJson RELEASE loSbAuthHeaderValue CANCEL ENDIF * If the status code is 200, then the fraud prevention headers were validated. * The JSON response may include some warnings.. ? "Response status code = " + STR(loRest.ResponseStatusCode) ? "Response JSON body: " ? lcResponseStr RELEASE loRest RELEASE loJson RELEASE loSbAuthHeaderValue |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.