Project

General

Profile

Actions

Web Services Definition » History » Revision 18

« Previous | Revision 18/40 (diff) | Next »
Kurt Gerber, 13 Dec 2018 15:41


API / Web Services Requirements

Request services

The existing API is documented here: https://qcat.readthedocs.io/en/latest/api/docs.html

Required missing request services:

1. Whithout the 'edition' endpoint, it should response with an array of available editions. Now it answers with a 'Not found' html page.

2. Without the specific configuration endpoint (like 'technologies'), the response should be an array of available configurations. Now it answers with a 'Not found' html page.

Requirements for services to add / update cases

The following new webservice endpoints must be developed.

h3.1. Authentification endpoint

To upload a case, a user has to authenticate himself. Therefore an authentification endpoint is needed.

The existing authorization token serves only as authorization to access the API.
The token is application based and always the same for a certain application, independently of the user working with the application.

  • The user has to authenticate before any data is uploaded or non-public downloaded.
  • After a successfull authentification, the server sends a 'sessionid'. This sessionid has to be added to the request header for any subsequent POST request. Should work a bit as on the web UI with the sessionid in the cookie.
  • LImitations on client side? (to discuss)

Endpoint: /api/v2/user-token/

Allowed method: POST

Post data:

  • username: The username of a WOCAT account
  • password: The password of the corresponding WOCAT account
Response:
  • {"sessionid":"09249249243729342123ad232dc"}

2. Upload endpoint

Endpoint: /api/v2/create/<configuration>/<edition>

Allowed method: POST

POST data: a valid questionnaire based on the corresponding configuration template

Request Header:
  • Authorization: Token AUTH_TOKEN
  • sessionid: 6xn26rwsy0r0k2yn5bsoq2qiyssg9mrs
  • Accept: application/json or Accept: application/xml
  • Content-Type: application/json or Content-Type: application/xml

Updated by Kurt Gerber almost 6 years ago · 18 revisions