Retrieve VAT liabilities
curl -X GET https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/liabilities?from=2018-06-25&to=2019-02-17 \
-H 'Authorization: Bearer HMRC_ACCESS_TOKEN' \
-H 'Accept: application/vnd.hmrc.1.0+json'
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Set outFile = fso.CreateTextFile("output.txt", True)
set rest = CreateObject("Chilkat_9_5_0.Rest")
' URL: https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/liabilities?from=2018-06-25&to=2019-02-17
bTls = 1
port = 443
bAutoReconnect = 1
success = rest.Connect("test-api.service.hmrc.gov.uk",port,bTls,bAutoReconnect)
If (success <> 1) Then
outFile.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
outFile.WriteLine(rest.LastErrorText)
WScript.Quit
End If
success = rest.AddHeader("Authorization","Bearer HMRC_ACCESS_TOKEN")
success = rest.AddHeader("Accept","application/vnd.hmrc.1.0+json")
set sbResponseBody = CreateObject("Chilkat_9_5_0.StringBuilder")
success = rest.FullRequestNoBodySb("GET","/organisations/vat/MY_HMRC_VRN/liabilities?from=2018-06-25&to=2019-02-17",sbResponseBody)
If (success <> 1) Then
outFile.WriteLine(rest.LastErrorText)
WScript.Quit
End If
respStatusCode = rest.ResponseStatusCode
If (respStatusCode >= 400) Then
outFile.WriteLine("Response Status Code = " & respStatusCode)
outFile.WriteLine("Response Header:")
outFile.WriteLine(rest.ResponseHeader)
outFile.WriteLine("Response Body:")
outFile.WriteLine(sbResponseBody.GetAsString())
WScript.Quit
End If
set jsonResponse = CreateObject("Chilkat_9_5_0.JsonObject")
success = jsonResponse.LoadSb(sbResponseBody)
' See the Online Tool for Generating JSON Parse Code
i = 0
count_i = jsonResponse.SizeOfArray("liabilities")
Do While i < count_i
jsonResponse.I = i
taxPeriodFrom = jsonResponse.StringOf("liabilities[i].taxPeriod.from")
taxPeriodTo = jsonResponse.StringOf("liabilities[i].taxPeriod.to")
type = jsonResponse.StringOf("liabilities[i].type")
originalAmount = jsonResponse.StringOf("liabilities[i].originalAmount")
outstandingAmount = jsonResponse.StringOf("liabilities[i].outstandingAmount")
due = jsonResponse.StringOf("liabilities[i].due")
i = i + 1
Loop
outFile.Close
{
"liabilities": [
{
"taxPeriod": {
"from": "2018-04-06",
"to": "2018-07-06"
},
"type": "VAT ...",
"originalAmount": 6000.3,
"outstandingAmount": 100.51,
"due": "2018-07-06"
}
]
}