API
The GulTalks API consists of a series of endpoints that can be accessed by using HTTP GET and POST methods. The responses are formatted using JSON in all cases.
The root of the application is
cursos.gul.es/api
use
http://0.0.0.0:3000
instead in development enviroment.
List of conferences ¶
Endpoint:
GET
/api/conferences
This endpoint returns a list of conferences, which include relevant public information.
Example:
GET
cursos.gul.es/api/conferences
[ { "active": false, "call_for_papers_end_date": "2016-02-24", "call_for_papers_start_date": "2016-03-13", "coordinator": "Adrián Borja Pimentel", "description": "XXVIII Jornadas Técnicas...", "end_date": "2016-04-15", "id": 5, "location": "Leganés", "slug": "xxviii-jornadas-tecnicas-del-gul", "start_date": "2016-04-11", "title": "XXVIII Jornadas Técnicas del GUL", "voting_end_date": "2016-04-18", "voting_start_date": "2016-04-14" } ]
List of events from a conference ¶
Endpoint:
GET
/api/conferences/:id/events
This endpoint returns a list of all the events that belong to the
specified conference. The
:id
parameter may be the numeric ID or the slug from a conference.
Speaker details may be accessed through the
speaker_list
attribute, which is a list of speakers for an event.
Example:
GET
cursos.gul.es/api/conferences/5/events
or
cursos.gul.es/api/conferences/xxviii-jornadas-tecnicas-del-gul/events
[ { "accepted": true, "cancelled": false, "code_url": "", "content_url": "", "description": "GIMP es un potente software de tratamiento...", "end_dtime": null, "id": 129, "language": "es", "level": "easy", "location": "Leganés", "room": "", "slug": "gimp-quickies", "speaker_list": [ { "name": "Clara Luis Mingueza", "twitter": "_Claralu" } ], "start_dtime": null, "subclass": "workshop", "summary": "Aprende lo básico en Gimp", "title": "Gimp Quickies!", "votes": 12 }, { "accepted": true, "cancelled": false, "code_url": "", "content_url": "", "description": "En esta charla veremos una introducción...", "end_dtime": null, "id": 136, "language": "es", "level": "easy", "location": "Leganés", "room": "", "slug": "ya-esta-bien-de-perder-los-cambios-de-tus-practicas-git-al-rescate", "speaker_list": [ { "name": "Axel Blanco", "twitter": "drimmark" } ], "start_dtime": null, "subclass": "talk", "summary": "Una introducción al control de versiones con Git y al paradigma de Git-flow", "title": "Ya está bien de perder los cambios de tus prácticas: Git al rescate", "votes": 11 }, ... ]
Open the Call for Talks of a conference ¶
Endpoint:
POST
/api/conferences/:id/open_call
This endpoint enables the Call for Talks of the specified conference. The
:id
parameter may be the numeric ID or the slug from a conference.
token
). This token can be generated through the admin panel.
Example:
POST
cursos.gul.es/api/conferences/5/open_call
or
cursos.gul.es/api/conferences/xxviii-jornadas-tecnicas-del-gul/open_call
Close the Call for Talks of a conference ¶
Endpoint:
POST
/api/conferences/:id/close_call
This endpoint disables the Call for Talks of the specified conference. The
:id
parameter may be the numeric ID or the slug from a conference.
token
). This token can be generated through the admin panel.
Example:
POST
cursos.gul.es/api/conferences/5/close_call
or
cursos.gul.es/api/conferences/xxviii-jornadas-tecnicas-del-gul/close_call
Enable votes in a conference ¶
Endpoint:
POST
/api/conferences/:id/enable_voting
This endpoint enables the voting of the specified conference. The
:id
parameter may be the numeric ID or the slug from a conference.
token
). This token can be generated through the admin panel.
Example:
POST
cursos.gul.es/api/conferences/5/enable_voting
or
cursos.gul.es/api/conferences/xxviii-jornadas-tecnicas-del-gul/enable_voting
Disable votes in a conference ¶
Endpoint:
POST
/api/conferences/:id/disable_voting
This endpoint disables the voting of the specified conference. The
:id
parameter may be the numeric ID or the slug from a conference.
token
). This token can be generated through the admin panel.
Example:
POST
cursos.gul.es/api/conferences/5/disable_voting
or
cursos.gul.es/api/conferences/xxviii-jornadas-tecnicas-del-gul/disable_voting
Errors ¶
In case of error, the API will return the HTTP code and, optionally, a JSON object showing the error messages.
Example:
GET
cursos.gul.es/api/conferences/INEXISTENT_CONFERENCE/events
{ "errors": "conference not found" }
Endpoints that require authentication will return a
401
status code if the authentication failed.