Dezvoltatori

 

Această secțiune documentează API-ul disponibil în data.gov.ro, pentru dezvoltatorii care doresc să interacționeaze la nivel de cod cu platforma și cu datele conținute. API-ul disponibil în stil RPC, expune toate caracteristicile de bază ale CKAN clienților API.

 

Exemple de apeluri API:

 

Lista seturilor de date in format JSON:​ 

https://data.gov.ro/api/3/action/package_list

Lista grupurilor in format JSON:​ 

https://data.gov.ro/api/3/action/group_list

Lista cuvintelor cheie (tag-urilor) in format JSON:​ 

https://data.gov.ro/api/3/action/tag_list

Reprezentare JSON a unui set de date:

https://data.gov.ro/api/3/action/package_show?id=traducatori-si-interpreti

Reprezentare JSON a unui tag:

https://data.gov.ro/api/3/action/tag_show?id=migratie

Reprezentare JSON a unui grup:

https://data.gov.ro/api/3/action/group_show?id=finante

Caută in seturile de date sau resurse după cuvinte cheie:

https://data.gov.ro/api/3/action/package_search?q=jandarmeria

https://data.gov.ro/api/3/action/resource_search?query=name:agentia-nationala-a-functionarilor-publici

Fluxul de activități recente pe seturile de date:

https://data.gov.ro/api/3/action/recently_changed_packages_activity_list

Documentatie si mai multe exemple:

https://docs.ckan.org/en/latest/api/index.html#api-examples

 

Instrument de test pentru apelurile API:

http://data.gov.ro:8888/notebooks/work/demo1.ipynb

 

Exemplu publicat set de date prin apelarea functiei API package_create:

  • curl:
curl -H "Authorization:<Your Key>" https://data.gov.ro/api/3/action/package_create -d '{"name":"test-dataset-2", "title":"Test dataset 2", "owner_org":"academia-de-politie-alexandru-ioan-cuza", "private":"true", "type":"csv"}'

 

  • python
#!/usr/bin/env python

import urllib2
import urllib
import json
import pprint

# Put the details of the dataset we're going to create into a dict.
dataset_dict = {
    'name': 'my_dataset_name',
    'notes': 'A long description of my dataset',
    'owner_org': 'org_id_or_name'
}

# Use the json module to dump the dictionary to a string for posting.
data_string = urllib.quote(json.dumps(dataset_dict))

# We'll use the package_create function to create a new dataset.
request = urllib2.Request(
    'https://data.gov.ro/api/3/action/package_create')

# Creating a dataset requires an authorization header.
# Replace *** with your API key, from your user account on the CKAN site
# that you're creating the dataset on.
request.add_header('Authorization', '***')

# Make the HTTP request.
response = urllib2.urlopen(request, data_string)
assert response.code == 200

# Use the json module to load CKAN's response into a dictionary.
response_dict = json.loads(response.read())
assert response_dict['success'] is True

# package_create returns the created package as its result.
created_package = response_dict['result']
pprint.pprint(created_package)