PureBasic / EDS API / Dokumenta pamatdati.
Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
CkHttp::ckSetRequestHeader(http,"Accept","application/json")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://eds.vid.gov.lv/api/doc/:id",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jResp.i = CkJsonObject::ckCreate()
If jResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jResp,sbResponseBody)
CkJsonObject::setCkEmitCompact(jResp, 0)
Debug "Response Body:"
Debug CkJsonObject::ckEmit(jResp)
respStatusCode.i = CkHttp::ckLastStatus(http)
Debug "Response Status Code = " + Str(respStatusCode)
If respStatusCode >= 400
Debug "Response Header:"
Debug CkHttp::ckLastHeader(http)
Debug "Failed."
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndIf
; Sample JSON response:
; (Sample code for parsing the JSON response is shown below)
; {
; "ParbaudesRezultats": {
; "Kluda": [
; "dolor ad aliqua",
; "commodo enim est"
; ],
; "Bridinajums": [
; "aliqua adipisicing eiusmod incididunt",
; "Ut eiusmod laborum"
; ],
; "Informacija": [
; "exercitation inc",
; "irure amet ut"
; ],
; "Apstiprinajums": [
; "labore eu magna irure",
; "dolor laboris tempor"
; ]
; },
; "SanemtasAtbildes": [
; {
; "Tips": "ex dolore amet",
; "Datums": "2000-01-31T00:00:00",
; "Teksts": "commodo sint minim"
; },
; {
; "Tips": "in laborum",
; "Datums": "2000-01-31T00:00:00",
; "Teksts": "in fugiat"
; }
; ],
; "Id": -19950873,
; "Izveidots": "2000-01-31T00:00:00",
; "Iesniegts": "2000-01-31T00:00:00",
; "DokumentaVersija": "cillum ut magna adipisicing aliqua",
; "DokumentaVeids": "ex magna reprehenderit",
; "PeriodsNo": "2000-01-31T00:00:00",
; "PeriodsLidz": "2000-01-31T00:00:00",
; "Papildinformacija": "pariatur tempor occ",
; "StatussId": 94653878,
; "Statuss": "aliquip occaec",
; "IrBridinajumi": true,
; "VarIesniegt": true,
; "VarDzest": true,
; "IrSanemtasAtbildes": true,
; "Arhivets": false
; }
; Sample code for parsing the JSON response...
; Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
strVal.s
Tips.s
Datums.s
Teksts.s
Id.i = CkJsonObject::ckIntOf(jResp,"Id")
Izveidots.s = CkJsonObject::ckStringOf(jResp,"Izveidots")
Iesniegts.s = CkJsonObject::ckStringOf(jResp,"Iesniegts")
DokumentaVersija.s = CkJsonObject::ckStringOf(jResp,"DokumentaVersija")
DokumentaVeids.s = CkJsonObject::ckStringOf(jResp,"DokumentaVeids")
PeriodsNo.s = CkJsonObject::ckStringOf(jResp,"PeriodsNo")
PeriodsLidz.s = CkJsonObject::ckStringOf(jResp,"PeriodsLidz")
Papildinformacija.s = CkJsonObject::ckStringOf(jResp,"Papildinformacija")
StatussId.i = CkJsonObject::ckIntOf(jResp,"StatussId")
Statuss.s = CkJsonObject::ckStringOf(jResp,"Statuss")
IrBridinajumi.i = CkJsonObject::ckBoolOf(jResp,"IrBridinajumi")
VarIesniegt.i = CkJsonObject::ckBoolOf(jResp,"VarIesniegt")
VarDzest.i = CkJsonObject::ckBoolOf(jResp,"VarDzest")
IrSanemtasAtbildes.i = CkJsonObject::ckBoolOf(jResp,"IrSanemtasAtbildes")
Arhivets.i = CkJsonObject::ckBoolOf(jResp,"Arhivets")
i.i = 0
count_i.i = CkJsonObject::ckSizeOfArray(jResp,"ParbaudesRezultats.Kluda")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"ParbaudesRezultats.Kluda[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"ParbaudesRezultats.Bridinajums")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"ParbaudesRezultats.Bridinajums[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"ParbaudesRezultats.Informacija")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"ParbaudesRezultats.Informacija[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"ParbaudesRezultats.Apstiprinajums")
While i < count_i
CkJsonObject::setCkI(jResp, i)
strVal = CkJsonObject::ckStringOf(jResp,"ParbaudesRezultats.Apstiprinajums[i]")
i = i + 1
Wend
i = 0
count_i = CkJsonObject::ckSizeOfArray(jResp,"SanemtasAtbildes")
While i < count_i
CkJsonObject::setCkI(jResp, i)
Tips = CkJsonObject::ckStringOf(jResp,"SanemtasAtbildes[i].Tips")
Datums = CkJsonObject::ckStringOf(jResp,"SanemtasAtbildes[i].Datums")
Teksts = CkJsonObject::ckStringOf(jResp,"SanemtasAtbildes[i].Teksts")
i = i + 1
Wend
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure
Curl Command
curl -X GET
-H "Accept: application/json"
https://eds.vid.gov.lv/api/doc/:id
Postman Collection Item JSON
{
"name": "Dokumenta pamatdati.",
"request": {
"method": "GET",
"header": [
{
"key": "Accept",
"value": "application/json"
}
],
"url": {
"raw": "{{baseUrl}}/api/doc/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"doc",
":id"
],
"variable": [
{
"key": "id",
"value": "25210683",
"description": "(Required) Dokumenta id."
}
]
}
},
"response": [
{
"name": "OK",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/doc/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"doc",
":id"
],
"variable": [
{
"key": "id",
"value": "25210683",
"description": "(Required) Dokumenta id."
}
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"ParbaudesRezultats\": {\n \"Kluda\": [\n \"dolor ad aliqua\",\n \"commodo enim est\"\n ],\n \"Bridinajums\": [\n \"aliqua adipisicing eiusmod incididunt\",\n \"Ut eiusmod laborum\"\n ],\n \"Informacija\": [\n \"exercitation inc\",\n \"irure amet ut\"\n ],\n \"Apstiprinajums\": [\n \"labore eu magna irure\",\n \"dolor laboris tempor\"\n ]\n },\n \"SanemtasAtbildes\": [\n {\n \"Tips\": \"ex dolore amet\",\n \"Datums\": \"2000-01-31T00:00:00\",\n \"Teksts\": \"commodo sint minim\"\n },\n {\n \"Tips\": \"in laborum\",\n \"Datums\": \"2000-01-31T00:00:00\",\n \"Teksts\": \"in fugiat\"\n }\n ],\n \"Id\": -19950873,\n \"Izveidots\": \"2000-01-31T00:00:00\",\n \"Iesniegts\": \"2000-01-31T00:00:00\",\n \"DokumentaVersija\": \"cillum ut magna adipisicing aliqua\",\n \"DokumentaVeids\": \"ex magna reprehenderit\",\n \"PeriodsNo\": \"2000-01-31T00:00:00\",\n \"PeriodsLidz\": \"2000-01-31T00:00:00\",\n \"Papildinformacija\": \"pariatur tempor occ\",\n \"StatussId\": 94653878,\n \"Statuss\": \"aliquip occaec\",\n \"IrBridinajumi\": true,\n \"VarIesniegt\": true,\n \"VarDzest\": true,\n \"IrSanemtasAtbildes\": true,\n \"Arhivets\": false\n}"
},
{
"name": "Lietotājs nav autentificēts.",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/doc/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"doc",
":id"
],
"variable": [
{
"key": "id",
"value": "25210683",
"description": "(Required) Dokumenta id."
}
]
}
},
"status": "Unauthorized",
"code": 401,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
},
{
"name": "Dokuments neeksistē vai lietotājam nav tiesību.",
"originalRequest": {
"method": "GET",
"header": [
],
"url": {
"raw": "{{baseUrl}}/api/doc/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"doc",
":id"
],
"variable": [
{
"key": "id",
"value": "25210683",
"description": "(Required) Dokumenta id."
}
]
}
},
"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/doc/:id",
"host": [
"{{baseUrl}}"
],
"path": [
"api",
"doc",
":id"
],
"variable": [
{
"key": "id",
"value": "25210683",
"description": "(Required) Dokumenta id."
}
]
}
},
"status": "Too Many Requests",
"code": 429,
"_postman_previewlanguage": "text",
"header": [
{
"key": "Content-Type",
"value": "text/plain"
}
],
"cookie": [
],
"body": ""
}
]
}