Mètodes i crides de l'API

L'API només és de consulta, via REST i utilitza URLs “netes” per a les crides. Per tant, no hi ha paràmetres GET, sinó que en el seu lloc utilitza un sistema de parelles de paràmetre i valor.

La ruta és: http://do.diba.cat/api/_CRIDA_

On _CRIDA_ te la forma parametre1/valor1/parametre2/valor2/ ... /parametreN/valorN

Totes les dades són accessibles en format CSV, XML, RDF-XML i JSON (per defecte). Els resultats en format XML, RDF-XML i JSON contindran l'estructura interna de camps i grups que s'ha definit; en canvi, el format CSV per la seva naturalesa només permet els valors dels camps de forma lineal sense estructura. Per als camps multiavaluats en format CSV, s'utilitza un caràcter separador “;” per separar els diferents valors dins d'un mateix camp: “valor1_camp1”,”valor1_camp2;valor2_camp2;valor3_camp2”,”valor1_camp3”...

No importa l'ordre en què es cridin els parells. Si els paràmetres tenen un valor per defecte i no incloem a la ruta el valor d’un paràmetre que és obligatori, aquest prendrà el valor per defecte.

Un concepte clau que està definit en tots els tipus de continguts, datasets i camps és el machine_name o nom-màquina. Es tracta d’un valor preparat especialment perquè l’utilitzi el software i les màquines, que no canvia mai i que no conté cap caràcter especial, ni espais en blanc i es limita al subconjunt de caràcters ASCII-96. Aquest valor s’utilitza com a identificador i és ideal per utilitzar en totes les crides independentment del joc de caràcters utilitzat, perquè el subconjunt ASCII-96 és comú en tots els jocs de caràcters; per tant, sempre que sigui possible s’ha de treballar amb el machine_name.

Quadre resum de crides disponibles

Informació de l'estructura info/datasets
info/tipus
Selecció de dades dataset/[dataset]
tipus/[content_type]
Operadors de comparació camp-[field]/[value]
camp-[field]-like/[value]
camp-[field]-ornull/[value]
camp-[field]-greater/[value]
camp-[field]-greaterequal/[value]
camp-[field]-lower/[value]
camp-[field]-lowerequal/[value]
Operadors lògics camp-[field]/[value1]++[value2]
camp-[field]/[value1]||[value2]
Agregació agrega/[field]
Paginació pag-ini/[value1]/pag-fi/[value2]
pag-ini/[value1]
pag-fi/[value2]
Ordenació ord-[field]/asc
ord-[field]/desc
Format format/json
format/xml
format/csv
format/rdf-xml
Idioma idioma/ca
idioma/es
idioma/en
Ordenació per proximitat geord-camp/[field]/geord-cord/[lat,lng]
Filtre per proximitat ubicacio/[lat,lng]/geocamp/[field]/radi/[value]
Cerca de text lliure camp-all/[value]
camp-all-like/[value]