Cookies help us deliver our services. By using our services, you agree to our use of cookies.

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.

This endpoint requires authentication by means of a token sent in the HTTP header ( 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.

This endpoint requires authentication by means of a token sent in the HTTP header ( 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.

This endpoint requires authentication by means of a token sent in the HTTP header ( 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.

This endpoint requires authentication by means of a token sent in the HTTP header ( 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.