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'
use chilkat();
$rest = chilkat::CkRest->new();
# URL: https://test-api.service.hmrc.gov.uk/organisations/vat/MY_HMRC_VRN/obligations?from=2018-06-25&to=2019-01-01
$bTls = 1;
$port = 443;
$bAutoReconnect = 1;
$success = $rest->Connect("test-api.service.hmrc.gov.uk",$port,$bTls,$bAutoReconnect);
if ($success != 1) {
print "ConnectFailReason: " . $rest->get_ConnectFailReason() . "\r\n";
print $rest->lastErrorText() . "\r\n";
exit;
}
$rest->AddHeader("Authorization","Bearer HMRC_ACCESS_TOKEN");
$rest->AddHeader("Accept","application/vnd.hmrc.1.0+json");
$sbResponseBody = chilkat::CkStringBuilder->new();
$success = $rest->FullRequestNoBodySb("GET","/organisations/vat/MY_HMRC_VRN/obligations?from=2018-06-25&to=2019-01-01",$sbResponseBody);
if ($success != 1) {
print $rest->lastErrorText() . "\r\n";
exit;
}
$respStatusCode = $rest->get_ResponseStatusCode();
if ($respStatusCode >= 400) {
print "Response Status Code = " . $respStatusCode . "\r\n";
print "Response Header:" . "\r\n";
print $rest->responseHeader() . "\r\n";
print "Response Body:" . "\r\n";
print $sbResponseBody->getAsString() . "\r\n";
exit;
}
$jsonResponse = chilkat::CkJsonObject->new();
$jsonResponse->LoadSb($sbResponseBody);
# See the Online Tool for Generating JSON Parse Code
$i = 0;
$count_i = $jsonResponse->SizeOfArray("obligations");
while ($i < $count_i) {
$jsonResponse->put_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;
}
{
"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"
}
]
}