الواجهة البرمجية API لبيانات CKAN

الوصول إلى بيانات الموارد عبر واجهة الويب البرمجية API مع دعم قوي للاستعلام. Further information in the main CKAN Data API and DataStore documentation.

Code examples:

Get 5 results containing "jones" in any field:
curl https://data.kaltimprov.go.id/ar/api/action/datastore_search \
  -H"Authorization:$API_TOKEN" -d '
{
  "resource_id": "6a16ebe8-0ed0-456f-b015-8771e933bac2",
  "limit": 5,
  "q": "jones"
}'
const resp = await fetch(`https://data.kaltimprov.go.id/ar/api/action/datastore_search`, {
    method: 'POST',
    headers: {
        'content-type': 'application/json',
        authorization: API_TOKEN
    },
    body: JSON.stringify({
        resource_id: '6a16ebe8-0ed0-456f-b015-8771e933bac2',
        limit: 5,
        q: 'jones'
    })
})
await resp.json()
$json = @'
{
  "resource_id": "6a16ebe8-0ed0-456f-b015-8771e933bac2",
  "limit": 5,
  "q": "jones"
}
'@
$response = Invoke-RestMethod https://data.kaltimprov.go.id/ar/api/action/datastore_search`
  -Method Post -Body $json -Headers @{"Authorization"="$API_TOKEN"}
$response.result.records

(using the ckanapi client library)

from ckanapi import RemoteCKAN

rc = RemoteCKAN('https://data.kaltimprov.go.id/ar/', apikey=API_TOKEN)
result = rc.action.datastore_search(
    resource_id="6a16ebe8-0ed0-456f-b015-8771e933bac2",
    limit=5,
    q="jones",
)
print(result['records'])
library(httr2)

req <- request("https://data.kaltimprov.go.id/ar/api/action/datastore_search")
result <- req %>% 
    req_headers(Authorization = API_TOKEN) %>% 
    req_body_json(list(
        resource_id = '6a16ebe8-0ed0-456f-b015-8771e933bac2',
        limit = 5,
        q = 'jones'))
    req_perform %>% 
    resp_body_json
Get results with either "watershed" or "survey" as subject and "active" as its stage:
curl https://data.kaltimprov.go.id/ar/api/action/datastore_search \
-H"Authorization:$API_TOKEN" -d '
{
"resource_id": "6a16ebe8-0ed0-456f-b015-8771e933bac2",
  "filters": {
    "subject": ["watershed", "survey"],
    "stage": "active"
  }
}'
const resp = await fetch(`https://data.kaltimprov.go.id/ar/api/action/datastore_search`, {
    method: 'POST',
    headers: {
        'content-type': 'application/json',
        authorization: API_TOKEN
    },
    body: JSON.stringify({resource_id: '6a16ebe8-0ed0-456f-b015-8771e933bac2', filters: {
        subject: ['watershed', 'survey'],
        stage: 'active'
    }})})
await resp.json()
$json = @'
{
  "resource_id": "6a16ebe8-0ed0-456f-b015-8771e933bac2",
  "filters": {
    "subject": ["watershed", "survey"],
    "stage": "active"
  }
}
'@
$response = Invoke-RestMethod https://data.kaltimprov.go.id/ar/api/action/datastore_search`
  -Method Post -Body $json -Headers @{"Authorization"="$API_TOKEN"}
$response.result.records
from ckanapi import RemoteCKAN

rc = RemoteCKAN('https://data.kaltimprov.go.id/ar/', apikey=API_TOKEN)
result = rc.action.datastore_search(
    resource_id="6a16ebe8-0ed0-456f-b015-8771e933bac2",
    filters={
      "subject": ["watershed", "survey"],
      "stage": "active",
    },
)
print(result['records'])
library(httr2)

req <- request("https://data.kaltimprov.go.id/ar/api/action/datastore_search")
result <- req %>% 
    req_headers(Authorization = API_TOKEN) %>% 
    req_body_json(list(
        resource_id='6a16ebe8-0ed0-456f-b015-8771e933bac2', 
        filters = list(
            subject = list("watershed", "survey"), 
            stage = "active")))
    req_perform %>% 
    resp_body_json

Some API endpoints may be accessed using a GET query string.

مثال على الاستعلام (أول 5 نتائج)

https://data.kaltimprov.go.id/ar/api/action/datastore_search?resource_id=6a16ebe8-0ed0-456f-b015-8771e933bac2&limit=5

مثال على الاستعلام (النتائج التي تحتوي على 'jones' )

https://data.kaltimprov.go.id/ar/api/action/datastore_search?resource_id=6a16ebe8-0ed0-456f-b015-8771e933bac2&q=jones