Esta página se está traducido el 2014-12-08.
Es posible que la versión inglés se actualizaba desde luego.
API de Alaveteli
Existen dos partes del API para acceder a datos o insertarlos programáticamente: el API de lectura y el API de escritura.
API de lectura
Se proporciona a través de las versiones JSON de la mayoría de las entidades del sistema, así como mediante fuentes de difusión Atom para las entidades de listados:
Fuentes de difusión Atom
Hay fuentes Atom en la mayoría de páginas que incluyen listados de solicitudes de información pública, que pueden utilizarse para recibir actualizaciones y enlaces en formato XML. Puede encontrar la URL de la fuente Atom de las siguientes maneras:
- Busque los enlaces de la fuente RSS.
- Examine la etiqueta
<link rel="alternate" type="application/atom+xml">
en el encabezado del código HTML. - Añada
/feed
al inicio de otra URL.
Incluso las solicitudes complejas de búsqueda cuentan con fuentes Atom. Puede utilizarlas de múltiples maneras, por ejemplo, para realizar búsquedas por autoridad, por tipo de archivo, por intervalo de fechas o por estado. Consulte los consejos de búsqueda avanzada para obtener más información.
Datos JSON estructurados
Hay unas cuantas páginas con versiones JSON, que permiten descargar información sobre objetos de forma estructurada. Puede encontrarlas de los siguientes modos:
- Añada
.json
al final de la URL. - Busque la etiqueta
<link rel="alternate" type="application/json">
en el encabezado del código HTML.
Los usuarios, autoridades y solicitudes disponen de versiones JSON que contienen información básica sobre ellos. Cada fuente Atom tiene su equivalente en JSON, que incluye información sobre el listado de eventos de la fuente.
Iniciar nuevas solicitudes programáticamente
Para animar a los usuarios a crear enlaces hacia una autoridad pública en particular, utilice direcciones URL
con el formato http://<susitio>/new/<nombre_url_organismopublico>
. Estos son los
parámetros que puede añadir a estas URL, ya sea propiamente en la URL o a partir de un formulario:
title
: resumen por defecto de la nueva solicitud.default_letter
: texto por defecto del cuerpo de la carta. El saludo y la firma locales lo rodean.body
: constituye una alternativa adefault_letter
y permite editar el texto completo de la solicitud, permitiendo modificar el saludo y la firma.tags
: lista de etiquetas separada por espacios que permite encontrar y enlazar cualquier solicitud realizada posteriormente, por ejemploopenlylocal spending_id:12345
. El símbolo:
indica que se trata de una etiqueta de máquina. Los valores de las etiquetas de máquina también pueden incluir puntos, útiles para identificadores URI.
API de escritura
El API de escritura está diseñada para ser utilizada por organismos públicos al crear sus propias solicitudes en el sistema. Actualmente se utiliza en el software de registro de información pública de mySociety para soportar el uso de Alaveteli como registro de divulgación para toda actividad de información pública procedente de un organismo público en concreto.
Todas las solicitudes deben incluir una clave del API como una variable k
. Esta clave puede visualizarse
en cada una de las páginas de la autoridad desde la interfaz de administración. Otras variables deben
enviarse como se indica a continuación:
/api/v2/request
: ENVÍA los siguientes datos json como una variable de tipo formulariojson
para crear una nueva solicitud:title
: título de la solicitud.body
: cuerpo de la solicitud.external_user_name
: nombre de la persona que ha originado la solicitud.external_url
: URL donde puede encontrarse una copia canónica de la solicitud Devuelve contenido JSON con unaurl
para la nueva solicitud junto con suid
.
/api/v2/request/<id>.json
: RECIBE toda la información sobre una solicitud./api/v2/request/<id>.json
: ENVÍA correspondencia adicional respecto a una solicitud:- Como variable de tipo formulario
json
:direction
:request
(solicitud procedente del usuario, por ejemplo, como seguimiento, recordatorio, etc.) oresponse
(respuesta procedente de la autoridad).body
: mensaje.state
: opcional, permite que la autoridad incluya un valor de estadostate
de solicitud al enviar una actualización. Valores permitidos:waiting_response
(esperando respuesta),rejected
(rechazada),successful
(satisfactoria) ypartially_successful
(parcialmente satisfactoria). Solo se utiliza en direcciónresponse
(respuesta).sent_at
: hora en la que se ha enviado la correspondencia en formato ISO-8601.
- (Opcionalmente) la variable
attachments
(adjuntos) comomultipart/form-data
:- Elementos adjuntos en la correspondencia. Solo pueden adjuntarse en mensajes en dirección
response
(respuesta).
- Elementos adjuntos en la correspondencia. Solo pueden adjuntarse en mensajes en dirección
- Como variable de tipo formulario
/api/v2/request/<id>/update.json
: ENVÍA un nuevo estado para la solicitud:- Como variable de tipo formulario
json
:state
: estimación por parte del usuario delstate
(estado) de una solicitud que ha recibido una respuesta de la autoridad. Valores permitidos:waiting_response
(esperando respuesta),rejected
(rechazada),successful
(satisfactoria) ypartially_successful
(parcialmente satisfactoria). Solo debería utilizarse para comentarios por parte del usuario; si una autoridad desea actualizar el estadostate
, debe utilizar/api/v2/request/<id>.json
en su lugar.
- Como variable de tipo formulario