Aquesta pàgina és obsoleta!!'''''

Vegeu la nova ApiV2.


API REST

API inicial, que permet crear, modificar i esborrar recursos i reserves.

Descripció de les columnes de les taules

URL
URL on es troba mapejada l'operació
Mètode
Mètode HTTP assignat a la petició HTTP. La combinació de URL+Mètode defineixen la funció a cridar. Els valors vàlids són GET, POST, PUT i DELETE.
Descripció
Objectiu de la funció
Paràmetres
Paràmetres de la funció (si en té). S'han d'incloure a la petició HTTP.
Resultats
Resultats de la funció (si en té). Es retornaran dins la resposta HTTP. Els resultats sempre inclouen un codi d'estat a la capçalera HTTP, i poden o no incloure dades JSON amb les dades corresponents.

Nota sobre els identificadors

Mentre no s'especifiqui el contrari, els identificadors d'objectes (en particular de Resources/recursos i Bookings/reserves) sempre seran nombres enters.

Manteniment de reserves

URL Mètode Descripció Paràmetres Resultats
/booking GET Llistar de les reserves existents -- 200 OK Representació JSON de la llista de reserves existents (si no hi ha cap reserva, retorna una llista buida)
/booking?id_resource=id GET Llistar les reserves associades a determinat recurs id del recurs 200 OK Representació de la llista de reserves. Si el recurs no existeix, o no té cap reserva torna una llista buida
/booking?id_resource=id&ical=1 GET Llistar les reserves associades a determinat recurs en format ical id del recurs 200 OK Retorna un fitxer .ics
/booking?id_event=id GET Llistar les reserves associades a determinat event id de l'event 200 OK Representació de la llista de reserves. Si l'event no existeix, o no té cap reserva torna una llista buida
/booking?id_event=id&ical=1 GET Llistar les reserves associades a determinat event en format ical id de l'event 200 OK Retorna un fitxer .ics que conté les reserves de l'event
/booking/ID GET Obtenir la reserva amb identificador ID id 200 OK. Representació en JSON de la reserva
404 OK. Missatge informant que la reserva no existeix
/booking/ POST Crear una reserva id_resource, id_event, dtstart, dtend, until, frequency, interval, byminute, byhour, byday, bymonth, bydaymonth (no tots són necessaris, depèn del tipus de reserva a fer) 201 Created Representació en JSON de la reserva
400 Bad request. L'event o el recurs a reservar no existeixen
409 Conflict. Solapament amb una altra reserva
/booking/ID PUT Editar una reserva id, id_resource, id_event, dtstart, dtend, until, frequency, interval, byminute, byhour, byday, bymonth, bydaymonth (no tots són necessaris, depèn del tipus de reserva a fer) 200 OK Representació en JSON de la reserva
400 Bad request. L'event o el recurs a reservar no existeixen
409 Conflict. Solapament amb una altra reserva
/booking/ID DELETE Esborrar una reserva id 200 OK. Missatge informant sobre l'èxit de l'operació
/booking/ID 404 Not found. Missatge informant que no s'ha pogut trobar la reserva que es vol esborrar

Manteniment dels recursos

URL Mètode Descripció Paràmetres Resultats
/resource GET Obtenir la llista de tots els recursos disponibles (cap) 200 OK Representació en JSON de la llista de recursos, en cas de que no n'hi hagi cap retorna una llista buida
/resource/ID GET Obtenir el recurs amb identificador ID id 200 OK Representació en JSON del recurs solicitat
404 Not found. Missatge d'error indicant que no s'ha pogut trobar el recurs.
/resource POST Crear un recurs nou description, info, tags (separats per comes) 201 Created. Representació en JSON del recurs recent creat
400 Bad request. Missatge informant de que la info o la description no compleixen els criteris necessaris
/resource/id PUT Editar recurs id, description, info, tags (separats per comes) 200 OK. Representació en JSON del recurs amb els canvis aplicats
400 Bad request. Missatge informant de que la info o la description no compleixen els criteris necessaris
404 Not found. Missatge informant de que no hem pogut trobar el recurs que es vol editar
/resource/ID DELETE Esborrar recurs id 200 OK. Missatge informant de l'èxit de l'esborrat
404 Not found. Missatge informant de que no s'ha trobat el recurs que es volia esborrar

Manteniment d'etiquetes

URL Mètode Descripció Paràmetres Resultats
/tag/ GET Obtenció de la llista de tots els tags disponibles 200 OK. Representació de la llista de tags disponibles en format JSON. En cas de no haver-n'hi cap disponible, la llista estarà buida
/tag/ID GET Obtenció del tag amb identificador ID id 200 OK. Representació del tag en format JSON, incloent la llista de recursos etiquetats amb aquest tag
404 Not found. Missatge informant de que no s'ha trobat el tag sol·licitat
/tag POST Creació d'un tag id, description 201 Created. Representació del tag en format JSON
400 Bad request. Missatge informant sobre que o bé la description o l'id no compleixen els requeriments
409 Conflict. Missatge informant de que s'està intentant crear un tag que ja existeix
/tag/ID PUT Modificació de la descripció d'un tag id, description 200 OK. Representació del tag amb els canvis aplicats
400 Bad request. Missatge informant que la nova description no compleix
404 Not Found. No s'ha trobat el tag que es vol editar
/tag/ID DELETE Esborrar un tag id 200 OK. La operació s'ha efectuat amb èxit
404 Not Found. No s'ha trobat el tag que es vol esborrar

Manteniment d'events

URL Mètode Descripció Paràmetres Resultats
/event/ GET Obtenció de la llista de tots els events (cap) 200 OK. Representació de la llista d'events disponibles en format JSON. En cas de no haver-n'hi cap disponible, la llista estarà buida
/event/ID GET Obtenció del tag amb identificador ID 200 OK. Representació de l'event en format JSON, incloent la llista de reserves associades
404 Not found. Missatge informant de que no s'ha trobat l'event sol·licitat
/event POST Creació d'un event description, info, starts, ends 201 Created. Representació de l'event en format JSON
400 Bad request. Missatge informant sobre que o bé la description o l'info no compleixen els requeriments
/event/ID PUT Modificació d'un event id, description, info, starts, ends 200 OK. Representació de l'event amb els canvis aplicats
400 Bad request. Missatge informant que info o description no compleixen els requeriments
404 Not Found. No s'ha trobat l'event que es vol editar
/event/ID DELETE Esborrar un event id 200 OK. La operació s'ha efectuat amb èxit
404 Not Found. No s'ha trobat l'event que es vol esborrar

Observacions

  • Podriem decidir que les operacions d'esborrar (recursos, reserves...), en comptes de retornar un 404 en rebre un ID no vàlid, potser simplement haurien de retornar un 200 OK i ignorar la petició.
  • En un futur, quan s'implementi un mètode d'autenticació, les operacions no permeses hauran de retornar un 401 Unauthorized.