api_docs/source/includes/responses.md
2020-02-05 21:06:38 +01:00

5.7 KiB

Response format

Fields

Response is currently always in JSON (but we might support XML and JSONP if there will be someone who might use it). Response always has these fields:

Field Purpose example content
code Contains the HTTP code 200
message A string containing sample message. Success, see type.
type A string with the type of returned data ping_response

Response may have additional fields, such as url or data. These depends on the type.

Types

Types that start with e_ are always errors. The following type can be retrieved:

e_invalid_key | Key-only endpoints

The key given is invalid and cannot be used.

e_missing_query | *

Request lacks GET query string, which is required by the endpoint.

e_invalid_query | *

Request has invalid fields/missing fields/invalid values. See message in the response for more information.

e_empty_response | *

Request succeeded, but the response provided by the endpoint was empty.

e_cannot_get | *

Request failed while trying to fetch external data.

e_generic | *

Unknown error.

e_ester_error | Ester

An error occured inside Ester API. See data field (contains response from Ester API).

e_bakalari_missing_school | Bakalari

Error occured during fetching data from the given domain, which usually means the schoold doesn't exists or has private API (currently no known school has private API).

e_bakalari_missing_user | Bakalari

Request to school succeeded, but the user doesn't exists.

e_missing_subreddit | Reddit

Couldn't fetch subreddit. Subreddit may be NSFW (which are currently unsupported) or private or just simply doesn't exists.

e_reddit_failed | Reddit

Reddit returned invalid response and/or error response.

e_neko_type | Nekos

Unknown neko type.


Example response:

{
    "code": 200,
    "message": "Success, nothing to do",
    "type": "generic"
}

generic | *

A response containing only the default 3 fields.





Example response:

{
    "code": 200,
    "message": "Success, see types",
    "type": "neko_list",
    "types": [ "..." ]
}

neko_list | Nekos

List of available neko endpoints.






Example response:

{
    "code": 404,
    "message": "ICe API in development, see later",
    "type": "ice_response",
    "data": {}
}

ice_response | Ice

A generic bot response.






Example response:

{
   "code": 200,
"type": "ice_http_code_response",
"http": {
   "standart": true,
   "title": "OK",
   "description": "Standard response for successful HTTP requests. The actual response will depend on the request method used.  In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action.",
   "choices": []
},
"source": "Wikipedia"
}

ice_http_code_response | Http

A response containing information about given http code.











Example response:

{
 "code": 400,
 "message": "Missing parameter code. Use it as /http/:code",
 "type": "e_ice_http_missing_code"
}

ice_http_code_list | Ice

A planned response to list all available HTTP codes.





pushr_response | Pushr

A response from Pushr API (danbulant.eu API acts as pass-through for this).

Example response:

{
 "code": 200,
 "message": "Success, see reddit",
 "type": "reddit_response",
 "reddit": {
   "title": "I really ininterested",
   "image": "https://imgur.com/tLBzS1h.jpg",
   "author": "nickjayr",
   "authorIcon": "https://www.redditstatic.com/avatars/avatar_default_17_0DD3BB.png",
   "link": "https://reddit.com/r/memes/comments/ey2hkb/i_really_ininterested/"
 }
}

redddit_response | Reddit

Response from reddit API containing reddit object.













Example response:

{
 "code": 200,
 "message": "Success, see response",
 "path": "/",
 "type": "ester_response",
 "data": {
   "code": 200,
   "message": "Čau!",
   "user": {
     "name": "Daniel",
     "id": "1"
   },
   "text": "Čau!"
 }
}

ester_response | Ester

A generic response from Ester API.
















Example response:

{
  "code": 200,
  "message": "Success",
  "type": "bakalari_response",
  "data": {
    "verze": "17/18.20191219",
    "jmeno": "[NAME HIDDEN]",
    "typ": "R",
    "strtyp": "rodič",
    "skola": "[SCHOOL REDACTED]",
    "typskoly": "",
    "trida": "0.A",
    "rocnik": -1,
    "moduly": "*znamky*predvidac*rozvrh*predmety*vyuka*ukoly*akce*suplovani*absence*pololetni*prijate*odeslane*nastenka*setread*setok*komsend*komenslisty*komdel*",
    "params": {
      "newmarkdays": 1
    },
    "result": 1
  }
}

bakalari_response | Bakalari

Response from the bakalari API. Format depends on the bakalari response (e.g., try the desired info in browser to see, as danbulant.eu only converts xml to json).






















Example response:

{
  "code": 200,
  "message": "Success, see url",
  "type": "image",
  "url": "https://i.imgur.com/wVUpmao.jpg"
}

image | *

Generic image response. The actual image is on adress inside the provided url field.