Wiki source code of API V2.0

Version 3.1 by Treyfane Dingo on 2023/08/15 12:11

Show last authors
1 The L.A.S.S.I.E. API V 2.0 can be reached via
2
3 {{{https://www.furcom.org/api/lassie/v2.0}}}
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
13 The API-Key has to be set in "System Settings". Preferrably a longer and unique key (like a MD5SUM).
14
15 (% style="width:50%" %)
16 |=(% colspan="3" %)Requests and Commands
17 |=(% scope="col" %)Request|=Command|=Description
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
28 {{{curl -X POST -d "apikey=ae629a834729fd3aac6d1f827b1793b0" -d "request=lostandfounddb" https://www.furcom.org/api/lassie/v1.0}}}
29
30 This example will display the entire Lost & Found Database of FTC.
31
32 {{{curl -X POST -d "apikey=ae629a834729fd3aac6d1f827b1793b0" -d "request=lostandfounddb" -d "command=lost" https://www.furcom.org/api/lassie/v1.0}}}
33
34 This example will display only the lost items of the Lost & Found Database of FTC.
35
36 === Output ===
37
38 The output of an valid request to the API will be a JSON-Object like the following examples:
39
40 ==== Lost & Found Database ====
41
42 {{box}}
43 {"data":[{"id":"1","image":"https:\/\/www.furcom.org\/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":""}]}
44 {{/box}}
45
46 (% style="width:50%" %)
47 |=(% colspan="3" %)Lost & Found fieldset
48 |=(% scope="col" %)Key|=Field|=NULL
49 |id|Numeric value, PRIMARY KEY|-
50 |image|URL|null
51 |title|Text|empty string
52 |description|Text|empty string
53 |status|L ~| F ~| R (Lost, Found or Returned)|-
54 |lost_timestamp|ISO date|null
55 |found_timestamp|ISO date|null
56 |return_timestamp|ISO date|null
57
58 ==== Briefings Database ====
59
60 {{box}}
61 {"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 &amp; 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"}]}
62 {{/box}}
63
64 (% style="width:50%" %)
65 |=(% colspan="3" %)Briefings fieldset
66 |=(% scope="col" %)Key|=Field|=NULL
67 |id|Numeric value, PRIMARY KEY|-
68 |class|P (hopefully only P)|-
69 |topic|Text|empty string
70 |content|HTML|empty string
71 |ops_id|Numeric value, the L.A.S.S.I.E. ID of the creator|-
72 |datetime_creation|ISO date|-
73 |datetime_lastchange|ISO date|null
74 |datetime|ISO date which should be displayed. Is creation or lastchange whatever is bigger.|-
75
76 ==== Empty Object ====
77
78 {{box}}
79 {"data":[]}
80 {{/box}}
81
82 === Error Codes ===
83
84 The API will send a JSON-Object upon errors
85
86 {{box}}
87 {"error":{"code":"503","message":"Maintenance Mode enabled - please try again later"}}
88 {{/box}}
89
90 The following error codes are implemented:
91
92 (% style="width:50%" %)
93 |=(% colspan="3" %)Error Codes
94 |=(% scope="col" %)Code|=Message|=Description
95 |401|Unauthorized|API-Key is not correct or no API-Key provided.
96 |500|Internal server error|Most likely the mySQL-Connection failed. A certain Dingo might be rather busy at this time.
97 |501|Bad or no request|Whatever you send, it wasn't a valid request.
98 |503|Maintenance Mode enabled - please try again later|Might follow an error 500 and the Dingo is still busy ...