unicodeC / EDS API / Nodokļu maksātājam iesniegto algas nodokļu grāmatiņu dati.
Back to Collection Items
#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>
#include <C_CkStringBuilderW.h>
void ChilkatSample(void)
{
HCkHttpW http;
BOOL success;
HCkJsonObjectW queryParams;
HCkHttpResponseW resp;
HCkStringBuilderW sbResponseBody;
HCkJsonObjectW jResp;
int respStatusCode;
const wchar_t *PersonasKods;
const wchar_t *VardsUzvards;
const wchar_t *Numurs;
const wchar_t *IzdosanasDatums;
const wchar_t *DatumsNo;
const wchar_t *IzmainuDatums;
const wchar_t *DatumsLidz;
int j;
int count_j;
const wchar_t *value;
int i;
int count_i;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttpW_Create();
queryParams = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(queryParams,L"tikaiIzmainas",L"true");
CkJsonObjectW_UpdateString(queryParams,L"periodsNo",L"nisi cillum sed");
CkJsonObjectW_UpdateString(queryParams,L"periodsLidz",L"nisi cillum sed");
CkJsonObjectW_UpdateString(queryParams,L"iesniedzejs",L"est i");
CkJsonObjectW_UpdateInt(queryParams,L"pmnmIzmainas",25210683);
CkJsonObjectW_UpdateInt(queryParams,L"neattelotAtvieglojumus",25210683);
CkHttpW_SetRequestHeader(http,L"Accept",L"application/json");
resp = CkHttpW_QuickRequestParams(http,L"GET",L"https://eds.vid.gov.lv/api/reports/taxbooks",queryParams);
if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(queryParams);
return;
}
sbResponseBody = CkStringBuilderW_Create();
CkHttpResponseW_GetBodySb(resp,sbResponseBody);
jResp = CkJsonObjectW_Create();
CkJsonObjectW_LoadSb(jResp,sbResponseBody);
CkJsonObjectW_putEmitCompact(jResp,FALSE);
wprintf(L"Response Body:\n");
wprintf(L"%s\n",CkJsonObjectW_emit(jResp));
respStatusCode = CkHttpResponseW_getStatusCode(resp);
wprintf(L"Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
wprintf(L"Response Header:\n");
wprintf(L"%s\n",CkHttpResponseW_header(resp));
wprintf(L"Failed.\n");
CkHttpResponseW_Dispose(resp);
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(queryParams);
CkStringBuilderW_Dispose(sbResponseBody);
CkJsonObjectW_Dispose(jResp);
return;
}
CkHttpResponseW_Dispose(resp);
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "Gramatinas": [
// {
// "PersonasKods": "incididunt aute laborum sed",
// "VardsUzvards": "reprehenderi",
// "Numurs": "eiusmod sed ut tempor nulla",
// "IzdosanasDatums": "2000-01-31T00:00:00",
// "DatumsNo": "2000-01-31T00:00:00",
// "IzmainuDatums": "2000-01-31T00:00:00",
// "DatumsLidz": "2000-01-31T00:00:00",
// "Apgadajamie": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "Pensijas": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "PapilduAtvieglojumi": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "IinLikmes": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "PrognozetaisMinimums": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ]
// },
// {
// "PersonasKods": "qui cillum fugiat",
// "VardsUzvards": "reprehenderit minim consectetur consequat ea",
// "Numurs": "ut labore mollit",
// "IzdosanasDatums": "2000-01-31T00:00:00",
// "DatumsNo": "2000-01-31T00:00:00",
// "IzmainuDatums": "2000-01-31T00:00:00",
// "DatumsLidz": "2000-01-31T00:00:00",
// "Apgadajamie": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "Pensijas": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "PapilduAtvieglojumi": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "IinLikmes": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ],
// "PrognozetaisMinimums": [
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// },
// {
// "value": "<Error: Too many levels of nesting to fake this schema>"
// }
// ]
// }
// ]
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
i = 0;
count_i = CkJsonObjectW_SizeOfArray(jResp,L"Gramatinas");
while (i < count_i) {
CkJsonObjectW_putI(jResp,i);
PersonasKods = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].PersonasKods");
VardsUzvards = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].VardsUzvards");
Numurs = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].Numurs");
IzdosanasDatums = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].IzdosanasDatums");
DatumsNo = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].DatumsNo");
IzmainuDatums = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].IzmainuDatums");
DatumsLidz = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].DatumsLidz");
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"Gramatinas[i].Apgadajamie");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].Apgadajamie[j].value");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"Gramatinas[i].Pensijas");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].Pensijas[j].value");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"Gramatinas[i].PapilduAtvieglojumi");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].PapilduAtvieglojumi[j].value");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"Gramatinas[i].IinLikmes");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].IinLikmes[j].value");
j = j + 1;
}
j = 0;
count_j = CkJsonObjectW_SizeOfArray(jResp,L"Gramatinas[i].PrognozetaisMinimums");
while (j < count_j) {
CkJsonObjectW_putJ(jResp,j);
value = CkJsonObjectW_stringOf(jResp,L"Gramatinas[i].PrognozetaisMinimums[j].value");
j = j + 1;
}
i = i + 1;
}
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(queryParams);
CkStringBuilderW_Dispose(sbResponseBody);
CkJsonObjectW_Dispose(jResp);
}
Curl Command
curl -G -d "tikaiIzmainas=true"
-d "periodsNo=nisi%20cillum%20sed"
-d "periodsLidz=nisi%20cillum%20sed"
-d "iesniedzejs=est%20i"
-d "pmnmIzmainas=25210683"
-d "neattelotAtvieglojumus=25210683"
-H "Accept: application/json"
https://eds.vid.gov.lv/api/reports/taxbooks
Postman Collection Item JSON
{
"name": "Nodokļu maksātājam iesniegto algas nodokļu grāmatiņu dati.",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/api/reports/taxbooks?tikaiIzmainas=true&periodsNo=nisi cillum sed&periodsLidz=nisi cillum sed&iesniedzejs=est i&pmnmIzmainas=25210683&neattelotAtvieglojumus=25210683",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"reports",
"taxbooks"
],
"query": [
{
"key": "tikaiIzmainas",
"value": "true",
"description": "Atlasīt tikai tās grāmatiņas kurās veiktas izmaiņas."
},
{
"key": "periodsNo",
"value": "nisi cillum sed",
"description": "(Required) Pārskata perioda sākuma datums."
},
{
"key": "periodsLidz",
"value": "nisi cillum sed",
"description": "ārskata perioda beigu datums."
},
{
"key": "iesniedzejs",
"value": "est i",
"description": "Grāmatiņas iesniedzēja personas kods."
},
{
"key": "pmnmIzmainas",
"value": "25210683",
"description": "Iekļaut nodokļu maksātājus, kuriem:\r\n0 - mainījušies algas nodokļa grāmatiņas dati, izņemot prognozēto mēneša neapliekamo minimumu;\r\n1 - mainījušies algas nodokļa grāmatiņas dati, tai skaitā arī prognozētais mēneša neapliekamais minimums;\r\n2 - mainījies tikai prognozētais mēneša neapliekamais minimums."
},
{
"key": "neattelotAtvieglojumus",
"value": "25210683",
"description": "Neattēlot nodokļa atvieglojumus, kuri bija spēkā pirms pārskatā norādītā perioda."
}
]
}
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/reports/taxbooks?tikaiIzmainas=true&periodsNo=nisi cillum sed&periodsLidz=nisi cillum sed&iesniedzejs=est i&pmnmIzmainas=25210683&neattelotAtvieglojumus=25210683",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"reports",
"taxbooks"
],
"query": [
{
"key": "tikaiIzmainas",
"value": "true"
},
{
"key": "periodsNo",
"value": "nisi cillum sed"
},
{
"key": "periodsLidz",
"value": "nisi cillum sed"
},
{
"key": "iesniedzejs",
"value": "est i"
},
{
"key": "pmnmIzmainas",
"value": "25210683"
},
{
"key": "neattelotAtvieglojumus",
"value": "25210683"
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"Gramatinas\": [\n {\n \"PersonasKods\": \"incididunt aute laborum sed\",\n \"VardsUzvards\": \"reprehenderi\",\n \"Numurs\": \"eiusmod sed ut tempor nulla\",\n \"IzdosanasDatums\": \"2000-01-31T00:00:00\",\n \"DatumsNo\": \"2000-01-31T00:00:00\",\n \"IzmainuDatums\": \"2000-01-31T00:00:00\",\n \"DatumsLidz\": \"2000-01-31T00:00:00\",\n \"Apgadajamie\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"Pensijas\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"PapilduAtvieglojumi\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"IinLikmes\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"PrognozetaisMinimums\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ]\n },\n {\n \"PersonasKods\": \"qui cillum fugiat\",\n \"VardsUzvards\": \"reprehenderit minim consectetur consequat ea\",\n \"Numurs\": \"ut labore mollit\",\n \"IzdosanasDatums\": \"2000-01-31T00:00:00\",\n \"DatumsNo\": \"2000-01-31T00:00:00\",\n \"IzmainuDatums\": \"2000-01-31T00:00:00\",\n \"DatumsLidz\": \"2000-01-31T00:00:00\",\n \"Apgadajamie\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"Pensijas\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"PapilduAtvieglojumi\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"IinLikmes\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ],\n \"PrognozetaisMinimums\": [\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n },\n {\n \"value\": \"<Error: Too many levels of nesting to fake this schema>\"\n }\n ]\n }\n ]\n}"
},
{
"name": "Lietotājs nav autentificēts.",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/reports/taxbooks?tikaiIzmainas=true&periodsNo=nisi cillum sed&periodsLidz=nisi cillum sed&iesniedzejs=est i&pmnmIzmainas=25210683&neattelotAtvieglojumus=25210683",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"reports",
"taxbooks"
],
"query": [
{
"key": "tikaiIzmainas",
"value": "true"
},
{
"key": "periodsNo",
"value": "nisi cillum sed"
},
{
"key": "periodsLidz",
"value": "nisi cillum sed"
},
{
"key": "iesniedzejs",
"value": "est i"
},
{
"key": "pmnmIzmainas",
"value": "25210683"
},
{
"key": "neattelotAtvieglojumus",
"value": "25210683"
}
]
}
},
"status": "Unauthorized",
"code": 401,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "Lietotājam nav tiesību veikt šo darbību.",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/reports/taxbooks?tikaiIzmainas=true&periodsNo=nisi cillum sed&periodsLidz=nisi cillum sed&iesniedzejs=est i&pmnmIzmainas=25210683&neattelotAtvieglojumus=25210683",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"reports",
"taxbooks"
],
"query": [
{
"key": "tikaiIzmainas",
"value": "true"
},
{
"key": "periodsNo",
"value": "nisi cillum sed"
},
{
"key": "periodsLidz",
"value": "nisi cillum sed"
},
{
"key": "iesniedzejs",
"value": "est i"
},
{
"key": "pmnmIzmainas",
"value": "25210683"
},
{
"key": "neattelotAtvieglojumus",
"value": "25210683"
}
]
}
},
"status": "Forbidden",
"code": 403,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "Pārsniegts izsaukumu skaita ierobežojums.",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/reports/taxbooks?tikaiIzmainas=true&periodsNo=nisi cillum sed&periodsLidz=nisi cillum sed&iesniedzejs=est i&pmnmIzmainas=25210683&neattelotAtvieglojumus=25210683",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"reports",
"taxbooks"
],
"query": [
{
"key": "tikaiIzmainas",
"value": "true"
},
{
"key": "periodsNo",
"value": "nisi cillum sed"
},
{
"key": "periodsLidz",
"value": "nisi cillum sed"
},
{
"key": "iesniedzejs",
"value": "est i"
},
{
"key": "pmnmIzmainas",
"value": "25210683"
},
{
"key": "neattelotAtvieglojumus",
"value": "25210683"
}
]
}
},
"status": "Too Many Requests",
"code": 429,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}