
L'Idescat exposa part de les seves dades a través d'una col·lecció d'APIs de tipus REST (RESTful Web Services). Les APIs de l'Idescat ofereixen mètodes perquè els programes de tercers puguin obtenir informació de l'Institut d'Estadística de Catalunya i integrar-la en altres serveis. La utilització de qualsevol de les APIs de l'Idescat comporta l'acceptació de les condicions d'ús del servei.
| URI base | http://api.idescat.cat/{servei}/v{versió principal}/{operació}.{format}[?paràmetres] |
|---|---|
| Mètode HTTP | GET |
| Formats de la resposta | xml, json, php |
| Versió | 1.00 (14.12.2009) |
| Dreceres | Petició, Resposta |
Tota petició ha d'especificar obligatòriament un servei, la versió principal del servei, una operació vàlida per aquest servei i un format de resposta. Opcionalment, es poden especificar un seguit de paràmetres generals i específics del servei.
http://api.idescat.cat/{servei}/v{versió principal}/{operació}.{format}[?paràmetres]
Cada servei disposa d'un identificador, d'una versió i d'uns paràmetres específics. Per exemple, el servei d'Indicadors al dia s'identifica amb el valor indicadors i només disposa d'una versió (1).
http://api.idescat.cat/indicadors/v1/{…}
L'identificador del servei determina l'element arrel del document retornat.
Els serveis poden tenir diferents versions principals, incompatibles entre elles. Les millores incrementals no afecten la versió principal (per exemple, 1.01 respecte a 1.00) i, per tant, tampoc la petició.
Els serveis solen suportar una diversitat d'operacions. Per exemple, el servei indicadors admet l'operació dades, que retorna resultats estadístics, però també l'operació nodes.
http://api.idescat.cat/indicadors/v1/dades.{…}
http://api.idescat.cat/indicadors/v1/nodes.{…}
El servei i l'operació determinen l'estructura del document retornat.
Determina el format de la resposta. Admet tres valors:
http://api.idescat.cat/indicadors/v1/dades.xml http://api.idescat.cat/indicadors/v1/dades.php http://api.idescat.cat/indicadors/v1/dades.json http://api.idescat.cat/indicadors/v1/dades.json?callback=f
Tota petició té uns paràmetres generals (comuns a tots els serveis) i uns paràmetres específics del servei, documentats a l'API del servei.
Admet tres valors:
http://api.idescat.cat/indicadors/v1/dades.xml?lang=es
Aquest paràmetre admet dos valors: utf-8 (valor per defecte) i iso-8859-1.
http://api.idescat.cat/indicadors/v1/dades.xml?enc=iso-8859-1
Si el format de la resposta és php la codificació és UTF-8, sigui quin sigui el valor d'enc.
A més dels paràmetres generals descrits a l'apartat anterior, cada servei admet uns paràmetres específics ("variables") que permeten configurar la informació obtinguda. Aquests paràmetres estan documentats a l'API del servei.
Per exemple, l'operació dades del servei indicadors permet seleccionar el nombre d'indicadors obtinguts gràcies als paràmetres tt, max i min.
http://api.idescat.cat/indicadors/v1/dades.xml?tt=10&max=10&min=3
Les variables del servei (o "paràmetres específics") poden encapsular-se en un paràmetre general per efectuar una crida més compacta. Per fer-ho cal incloure un seguit de parelles variable/valor separades per punts i coma.
http://api.idescat.cat/indicadors/v1/dades.json?tt=10&max=10&min=3 http://api.idescat.cat/indicadors/v1/dades.json?p=tt/10;max/10;min/3
En cas que el servidor no pugui atendre la petició, el codi retornat serà 500 (Server Error) o 503 (Service Unavailable). En la resta de casos, podem distingir tres tipus de petició que retornen diferents codis de resposta HTTP:
En el darrer cas, el document retornat contindrà informació del servei que l'ha generat, el codi d'error (dins l'element error) i el paràmetre o paràmetres obligatoris dels quals no s'ha especificat valor (dins d'un element missing per a cada paràmetre absent).
http://api.idescat.cat/indicadors/v1/dades.xml?i=
<?xml version="1.0" encoding="utf-8" ?> <indicadors version="1.00" o="dades"> <error>400</error> <missing>i</missing> </indicadors>
En l'actualitat, els formats de resposta suportats són XML, JSON i PHP serialitzat. Per a més informació, consulteu la secció 1.1.3 Format.