Wiki source code of API V2.0
Version 8.1 by Treyfane Dingo on 2023/09/25 23:03
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
3.1 | 1 | The L.A.S.S.I.E. API V 2.0 can be reached via |
![]() |
1.1 | 2 | |
![]() |
8.1 | 3 | {{{https://api.lassie.online/v2.0}}} |
![]() |
1.1 | 4 | |
5 | === Required POST Parameters === | ||
6 | |||
7 | The parameters have to be send as **URLencoded form data**. The API needs at least two parameters to work: | ||
8 | |||
9 | * apikey | ||
10 | * request | ||
11 | * command (optional) | ||
12 | |||
![]() |
7.1 | 13 | The API-Key has to be set in "System Settings" → "API Keys". Preferrably a longer and unique key (like a MD5SUM). An specific API key can only be used for a corresponding request type. |
![]() |
1.1 | 14 | |
![]() |
1.2 | 15 | (% style="width:50%" %) |
16 | |=(% colspan="3" %)Requests and Commands | ||
17 | |=(% scope="col" %)Request|=Command|=Description | ||
![]() |
1.1 | 18 | |(% rowspan="4" %)lostandfounddb|lostandfound|(Default) Returns all active (not returned) lost & found items from the Lost & Found Database |
19 | |lost|Returns all active (not returned) lost items from the Lost & Found Database | ||
20 | |found|Returns all active (not returned) found items from the Lost & Found Database | ||
21 | |returned|Returns all inactive / returned items from the Lost & Found Database | ||
22 | |briefings| |Returns all briefings (i.e. Security News) classified as PUBLIC | ||
23 | |||
24 | The request "lostandfounddb" without a command will return the active Lost & Found Database entries for the respective Convention as a JSON. This includes Links to the uploaded images. Thus, the information can be processed on an external Website, e.g. the convention's homepage. | ||
25 | |||
26 | === Example (CURL) === | ||
27 | |||
![]() |
8.1 | 28 | {{{curl -X POST -d "apikey=ae629a834729fd3aac6d1f827b1793b0" -d "request=lostandfounddb" https://api.lassie.online/v2.0}}} |
![]() |
1.1 | 29 | |
30 | This example will display the entire Lost & Found Database of FTC. | ||
31 | |||
![]() |
8.1 | 32 | {{{curl -X POST -d "apikey=ae629a834729fd3aac6d1f827b1793b0" -d "request=lostandfounddb" -d "command=lost" https://api.lassie.online/v2.0}}} |
![]() |
1.1 | 33 | |
34 | This example will display only the lost items of the Lost & Found Database of FTC. | ||
35 | |||
![]() |
6.1 | 36 | === Test API Keys === |
37 | |||
38 | The API Keys for FurtherTestCon (FTC) are: | ||
39 | |||
40 | {{{ae629a834729fd3aac6d1f827b1793b2 Attendee Database | ||
41 | ae629a834729fd3aac6d1f827b1793b1 Operatives Database | ||
42 | ae629a834729fd3aac6d1f827b1793b0 Lost & Found Database | ||
43 | ae629a834729fd3aac6d1f827b1793b3 Briefings Database}}} | ||
44 | |||
![]() |
1.1 | 45 | === Output === |
46 | |||
47 | The output of an valid request to the API will be a JSON-Object like the following examples: | ||
48 | |||
49 | ==== Lost & Found Database ==== | ||
50 | |||
![]() |
1.3 | 51 | {{box}} |
![]() |
5.1 | 52 | {"data":[{"id":"1","image":"https:\/\/api.lassie.online\/lassie\/images\/lostandfound_db\/9a7a1039bcbe887ed2f57a5b64c56c51.png","title":"A Piece of Cake","description":"Just another piece of cake","status":"F","lost_timestamp":"","found_timestamp":"2021-06-22 19:08:16","return_timestamp":""}]} |
![]() |
1.3 | 53 | {{/box}} |
![]() |
1.1 | 54 | |
![]() |
1.2 | 55 | (% style="width:50%" %) |
56 | |=(% colspan="3" %)Lost & Found fieldset | ||
57 | |=(% scope="col" %)Key|=Field|=NULL | ||
![]() |
1.1 | 58 | |id|Numeric value, PRIMARY KEY|- |
59 | |image|URL|null | ||
![]() |
4.3 | 60 | |thumb|URL|null |
![]() |
1.1 | 61 | |title|Text|empty string |
62 | |description|Text|empty string | ||
63 | |status|L ~| F ~| R (Lost, Found or Returned)|- | ||
64 | |lost_timestamp|ISO date|null | ||
65 | |found_timestamp|ISO date|null | ||
66 | |return_timestamp|ISO date|null | ||
67 | |||
68 | ==== Briefings Database ==== | ||
69 | |||
![]() |
1.3 | 70 | {{box}} |
71 | {"data":[{"id":"17","class":"P","topic":"UPDATE - Security News 21.12.2021","content":"<div id=\"briefing_content_content\"><div><b>Germany cancelled New Years Eve<\/b><\/div><div>Although it might calendar wise be unwise, Germany just cancelled New Years Eve. Further information can be obtained elsewhere.<\/div><div><br><\/div><div><b>Some things found<\/b><\/div><div>Security\r\n wants to remind all attendees that information about lost or found \r\nitems can be obtained via the APP or the Website of the convention. Lost\r\n & Found is maintained by security and located in the security \r\noffice.<\/div><div><br><\/div><div><b>Quote of the day<\/b><\/div><div>\"Where is your neighbor?\"<\/div><div>\"He's in the garden ...\"<\/div><div>\"I can't see him ...\"<\/div><div>\"Oh, you'd have to dig quite a bit ...\"<br><\/div><div><br><\/div><\/div>","ops_id":"112","datetime_creation":"2021-12-21 22:19:45","datetime_lastchange":"","datetime":"2021-12-21 22:19:45"}]} | ||
72 | {{/box}} | ||
![]() |
1.1 | 73 | |
![]() |
1.2 | 74 | (% style="width:50%" %) |
75 | |=(% colspan="3" %)Briefings fieldset | ||
76 | |=(% scope="col" %)Key|=Field|=NULL | ||
![]() |
1.1 | 77 | |id|Numeric value, PRIMARY KEY|- |
78 | |class|P (hopefully only P)|- | ||
79 | |topic|Text|empty string | ||
80 | |content|HTML|empty string | ||
81 | |ops_id|Numeric value, the L.A.S.S.I.E. ID of the creator|- | ||
82 | |datetime_creation|ISO date|- | ||
83 | |datetime_lastchange|ISO date|null | ||
84 | |datetime|ISO date which should be displayed. Is creation or lastchange whatever is bigger.|- | ||
85 | |||
86 | ==== Empty Object ==== | ||
87 | |||
![]() |
1.3 | 88 | {{box}} |
89 | {"data":[]} | ||
90 | {{/box}} | ||
![]() |
1.1 | 91 | |
92 | === Error Codes === | ||
93 | |||
94 | The API will send a JSON-Object upon errors | ||
95 | |||
![]() |
1.3 | 96 | {{box}} |
97 | {"error":{"code":"503","message":"Maintenance Mode enabled - please try again later"}} | ||
98 | {{/box}} | ||
![]() |
1.1 | 99 | |
100 | The following error codes are implemented: | ||
101 | |||
![]() |
1.2 | 102 | (% style="width:50%" %) |
103 | |=(% colspan="3" %)Error Codes | ||
104 | |=(% scope="col" %)Code|=Message|=Description | ||
![]() |
1.1 | 105 | |401|Unauthorized|API-Key is not correct or no API-Key provided. |
106 | |500|Internal server error|Most likely the mySQL-Connection failed. A certain Dingo might be rather busy at this time. | ||
107 | |501|Bad or no request|Whatever you send, it wasn't a valid request. | ||
108 | |503|Maintenance Mode enabled - please try again later|Might follow an error 500 and the Dingo is still busy ... |