Giao diện người sử dụng dữ liệu CKAN

Truy cập vào tài nguyên dữ liệu qua một web API với đây đủ hỗ trợ truy vấn.. Further information in the main CKAN Data API and DataStore documentation.

Code examples:

Get 5 results containing "jones" in any field:
curl https://opendatanepal.com/vi/api/action/datastore_search \
  -H"Authorization:$API_TOKEN" -d '
{
  "resource_id": "d963a8d1-dcb0-4a36-9936-710c3f319ed1",
  "limit": 5,
  "q": "jones"
}'
const resp = await fetch(`https://opendatanepal.com/vi/api/action/datastore_search`, {
    method: 'POST',
    headers: {
        'content-type': 'application/json',
        authorization: API_TOKEN
    },
    body: JSON.stringify({
        resource_id: 'd963a8d1-dcb0-4a36-9936-710c3f319ed1',
        limit: 5,
        q: 'jones'
    })
})
await resp.json()
$json = @'
{
  "resource_id": "d963a8d1-dcb0-4a36-9936-710c3f319ed1",
  "limit": 5,
  "q": "jones"
}
'@
$response = Invoke-RestMethod https://opendatanepal.com/vi/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://opendatanepal.com/vi/', apikey=API_TOKEN)
result = rc.action.datastore_search(
    resource_id="d963a8d1-dcb0-4a36-9936-710c3f319ed1",
    limit=5,
    q="jones",
)
print(result['records'])
library(httr2)

req <- request("https://opendatanepal.com/vi/api/action/datastore_search")
result <- req %>% 
    req_headers(Authorization = API_TOKEN) %>% 
    req_body_json(list(
        resource_id = 'd963a8d1-dcb0-4a36-9936-710c3f319ed1',
        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://opendatanepal.com/vi/api/action/datastore_search \
-H"Authorization:$API_TOKEN" -d '
{
"resource_id": "d963a8d1-dcb0-4a36-9936-710c3f319ed1",
  "filters": {
    "subject": ["watershed", "survey"],
    "stage": "active"
  }
}'
const resp = await fetch(`https://opendatanepal.com/vi/api/action/datastore_search`, {
    method: 'POST',
    headers: {
        'content-type': 'application/json',
        authorization: API_TOKEN
    },
    body: JSON.stringify({resource_id: 'd963a8d1-dcb0-4a36-9936-710c3f319ed1', filters: {
        subject: ['watershed', 'survey'],
        stage: 'active'
    }})})
await resp.json()
$json = @'
{
  "resource_id": "d963a8d1-dcb0-4a36-9936-710c3f319ed1",
  "filters": {
    "subject": ["watershed", "survey"],
    "stage": "active"
  }
}
'@
$response = Invoke-RestMethod https://opendatanepal.com/vi/api/action/datastore_search`
  -Method Post -Body $json -Headers @{"Authorization"="$API_TOKEN"}
$response.result.records
from ckanapi import RemoteCKAN

rc = RemoteCKAN('https://opendatanepal.com/vi/', apikey=API_TOKEN)
result = rc.action.datastore_search(
    resource_id="d963a8d1-dcb0-4a36-9936-710c3f319ed1",
    filters={
      "subject": ["watershed", "survey"],
      "stage": "active",
    },
)
print(result['records'])
library(httr2)

req <- request("https://opendatanepal.com/vi/api/action/datastore_search")
result <- req %>% 
    req_headers(Authorization = API_TOKEN) %>% 
    req_body_json(list(
        resource_id='d963a8d1-dcb0-4a36-9936-710c3f319ed1', 
        filters = list(
            subject = list("watershed", "survey"), 
            stage = "active")))
    req_perform %>% 
    resp_body_json
SQL query example:
curl https://opendatanepal.com/vi/api/action/datastore_search_sql \
  -H"Authorization:$API_TOKEN" -d @- <<END
{
  "sql": "SELECT * FROM \"d963a8d1-dcb0-4a36-9936-710c3f319ed1\" WHERE title LIKE 'jones'"
}
END
const resp = await fetch(`https://opendatanepal.com/vi/api/action/datastore_search_sql`, {
    method: 'POST',
    headers: {
        'content-type': 'application/json',
        authorization: API_TOKEN
    },
    body: JSON.stringify({
        sql: `SELECT * FROM "d963a8d1-dcb0-4a36-9936-710c3f319ed1" WHERE title LIKE 'jones'`
    })
})
await resp.json()
$json = @'
{
  "sql": "SELECT * from \"d963a8d1-dcb0-4a36-9936-710c3f319ed1\" WHERE title LIKE 'jones'"
}
'@
$response = Invoke-RestMethod https://opendatanepal.com/vi/api/action/datastore_search_sql`
  -Method Post -Body $json -Headers @{"Authorization"="$API_TOKEN"}
$response.result.records
from ckanapi import RemoteCKAN

rc = RemoteCKAN('https://opendatanepal.com/vi/', apikey=API_TOKEN)
result = rc.action.datastore_search_sql(
    sql="""SELECT * from "d963a8d1-dcb0-4a36-9936-710c3f319ed1" WHERE title LIKE 'jones'"""
)
print(result['records'])
library(httr2)

req <- request("https://opendatanepal.com/vi/api/action/datastore_search_sql")
result <- req %>% 
    req_headers(Authorization = API_TOKEN) %>% 
    req_body_json(list(
        sql = "SELECT * FROM \"d963a8d1-dcb0-4a36-9936-710c3f319ed1\" WHERE title LIKE 'jones'"))
    req_perform %>% 
    resp_body_json

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

Ví dụ câu hỏi (5 kết quả đầu tiên)

https://opendatanepal.com/vi/api/action/datastore_search?resource_id=d963a8d1-dcb0-4a36-9936-710c3f319ed1&limit=5

Ví dụ câu hỏi (kết quả có chứa "jones")

https://opendatanepal.com/vi/api/action/datastore_search?resource_id=d963a8d1-dcb0-4a36-9936-710c3f319ed1&q=jones

Ví dụ câu hỏi (bằng xác nhận SQL)

https://opendatanepal.com/vi/api/action/datastore_search_sql?sql=SELECT * from "d963a8d1-dcb0-4a36-9936-710c3f319ed1" WHERE title LIKE 'jones'