Retrieve VAT obligations
curl -X GET https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/obligations?from=2018-06-25&to=2019-01-01 \
-H 'Authorization: Bearer HMRC_ACCESS_TOKEN' \
-H 'Accept: application/vnd.hmrc.1.0+json'
Dim rest As Chilkat.Rest
Set rest = Chilkat.NewRest
' URL: https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/obligations?from=2018-06-25&to=2019-01-01
bTls = True
port = 443
bAutoReconnect = True
success = rest.Connect("test-api.service.hmrc.gov.uk",port,bTls,bAutoReconnect)
If (success <> True) Then
Debug.Print "ConnectFailReason: "; rest.ConnectFailReason
Debug.Print rest.LastErrorText
Exit Sub
End If
success = rest.AddHeader("Authorization","Bearer HMRC_ACCESS_TOKEN")
success = rest.AddHeader("Accept","application/vnd.hmrc.1.0+json")
Dim sbResponseBody As Chilkat.StringBuilder
Set sbResponseBody = Chilkat.NewStringBuilder
success = rest.FullRequestNoBodySb("GET","/organisations/vat/MY_HMRC_VRN/obligations?from=2018-06-25&to=2019-01-01",sbResponseBody)
If (success <> True) Then
Debug.Print rest.LastErrorText
Exit Sub
End If
respStatusCode = rest.ResponseStatusCode
If (respStatusCode >= 400) Then
Debug.Print "Response Status Code = "; respStatusCode
Debug.Print "Response Header:"
Debug.Print rest.ResponseHeader
Debug.Print "Response Body:"
Debug.Print sbResponseBody.GetAsString()
Exit Sub
End If
Dim jsonResponse As Chilkat.JsonObject
Set jsonResponse = Chilkat.NewJsonObject
success = jsonResponse.LoadSb(sbResponseBody)
' See the Online Tool for Generating JSON Parse Code
i = 0
count_i = jsonResponse.SizeOfArray("obligations")
Do While i < count_i
jsonResponse.I = i
start = jsonResponse.StringOf("obligations[i].start")
end = jsonResponse.StringOf("obligations[i].end")
due = jsonResponse.StringOf("obligations[i].due")
status = jsonResponse.StringOf("obligations[i].status")
periodKey = jsonResponse.StringOf("obligations[i].periodKey")
received = jsonResponse.StringOf("obligations[i].received")
i = i + 1
Loop
{
"obligations": [
{
"start": "2017-01-01",
"end": "2017-03-31",
"due": "2017-05-07",
"status": "F",
"periodKey": "18A1",
"received": "2017-05-06"
},
{
"start": "2017-04-01",
"end": "2017-06-30",
"due": "2017-08-07",
"status": "O",
"periodKey": "18A2"
}
]
}