Chilkat Online Tools

Foxpro / EDS API / Nodokļu maksātājam iesniegto algas nodokļu grāmatiņu dati.

Back to Collection Items

LOCAL loHttp
LOCAL lnSuccess
LOCAL loQueryParams
LOCAL loResp
LOCAL loSbResponseBody
LOCAL loJResp
LOCAL lnRespStatusCode
LOCAL lcPersonasKods
LOCAL lcVardsUzvards
LOCAL lcNumurs
LOCAL lcIzdosanasDatums
LOCAL lcDatumsNo
LOCAL lcIzmainuDatums
LOCAL lcDatumsLidz
LOCAL j
LOCAL lnCount_j
LOCAL lcValue
LOCAL i
LOCAL lnCount_i

* This example assumes 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.Http')
loHttp = CreateObject('Chilkat.Http')

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject')
loQueryParams = CreateObject('Chilkat.JsonObject')
loQueryParams.UpdateString("tikaiIzmainas","true")
loQueryParams.UpdateString("periodsNo","nisi cillum sed")
loQueryParams.UpdateString("periodsLidz","nisi cillum sed")
loQueryParams.UpdateString("iesniedzejs","est i")
loQueryParams.UpdateInt("pmnmIzmainas",25210683)
loQueryParams.UpdateInt("neattelotAtvieglojumus",25210683)

loHttp.SetRequestHeader("Accept","application/json")

loResp = loHttp.QuickRequestParams("GET","https://eds.vid.gov.lv/api/reports/taxbooks",loQueryParams)
IF (loHttp.LastMethodSuccess = 0) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loQueryParams
    CANCEL
ENDIF

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder')
loSbResponseBody = CreateObject('Chilkat.StringBuilder')
loResp.GetBodySb(loSbResponseBody)

* For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.JsonObject')
loJResp = CreateObject('Chilkat.JsonObject')
loJResp.LoadSb(loSbResponseBody)
loJResp.EmitCompact = 0

? "Response Body:"
? loJResp.Emit()

lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + STR(lnRespStatusCode)
IF (lnRespStatusCode >= 400) THEN
    ? "Response Header:"
    ? loResp.Header
    ? "Failed."
    RELEASE loResp
    RELEASE loHttp
    RELEASE loQueryParams
    RELEASE loSbResponseBody
    RELEASE loJResp
    CANCEL
ENDIF

RELEASE loResp

* 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

i = 0
lnCount_i = loJResp.SizeOfArray("Gramatinas")
DO WHILE i < lnCount_i
    loJResp.I = i
    lcPersonasKods = loJResp.StringOf("Gramatinas[i].PersonasKods")
    lcVardsUzvards = loJResp.StringOf("Gramatinas[i].VardsUzvards")
    lcNumurs = loJResp.StringOf("Gramatinas[i].Numurs")
    lcIzdosanasDatums = loJResp.StringOf("Gramatinas[i].IzdosanasDatums")
    lcDatumsNo = loJResp.StringOf("Gramatinas[i].DatumsNo")
    lcIzmainuDatums = loJResp.StringOf("Gramatinas[i].IzmainuDatums")
    lcDatumsLidz = loJResp.StringOf("Gramatinas[i].DatumsLidz")
    j = 0
    lnCount_j = loJResp.SizeOfArray("Gramatinas[i].Apgadajamie")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("Gramatinas[i].Apgadajamie[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Gramatinas[i].Pensijas")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("Gramatinas[i].Pensijas[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Gramatinas[i].PapilduAtvieglojumi")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("Gramatinas[i].PapilduAtvieglojumi[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Gramatinas[i].IinLikmes")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("Gramatinas[i].IinLikmes[j].value")
        j = j + 1
    ENDDO
    j = 0
    lnCount_j = loJResp.SizeOfArray("Gramatinas[i].PrognozetaisMinimums")
    DO WHILE j < lnCount_j
        loJResp.J = j
        lcValue = loJResp.StringOf("Gramatinas[i].PrognozetaisMinimums[j].value")
        j = j + 1
    ENDDO
    i = i + 1
ENDDO

RELEASE loHttp
RELEASE loQueryParams
RELEASE loSbResponseBody
RELEASE loJResp

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": ""
    }
  ]
}