Go to content
  • NETZWERK

Animexx JSON-API



Grundsätzlicher Aufbau eines Requests

1. Login per OAuth2

https://ws.animexx.de/json/[Unterprogramm]/[Funktion]

Auth-Endpunkte:

Authorize: https://ssl.animexx.de/oauth2/authorize/
Token: https://ssl.animexx.de/oauth2/token/

URL-Bestandteile

Unterprogramm: "ens" / "mitglieder" / "kontakte" / "items" / "persstart" / "persstart5" / "aidb" / "events" / "rpg" / "fanworks" / "fanfic" / "fotos" / "weblog" / "forum" / "kalender" / "fotos" / "xmpp" / "cloud2device"
Funktion: abhängig vom gewählten Unterprogramm, wird weiter unten erklärt.

Mögliche Parameter: (GET oder POST)

- "api": 3
- "DEBUG" (text/html wird als MIME-Typ gesetzt, statt application/json, außerdem für den Browser formatierte Ausgabe)

Beispiel eines PHP-OAuth-Clients

2. Login per OAuth

https://ws.animexx.de/json/[Unterprogramm]/[Funktion]

URL-Bestandteile

Unterprogramm: "ens" / "mitglieder" / "kontakte" / "items" / "persstart" / "persstart5" / "aidb" / "events" / "rpg" / "fanworks" / "fanfic" / "fotos" / "weblog" / "forum" / "kalender" / "fotos" / "xmpp" / "cloud2device"
Funktion: abhängig vom gewählten Unterprogramm, wird weiter unten erklärt.

Mögliche Parameter: (GET oder POST)

- "api": 2
- "DEBUG" (text/html wird als MIME-Typ gesetzt, statt application/json, außerdem für den Browser formatierte Ausgabe)

Beispiel eines PHP-OAuth-Clients

3. Bereiche ohne Login-Pflicht

https://ws.animexx.de/json/[App-Key]/[Unterprogramm]/[Funktion]

Hinweis: nur sehr wenige Funktionen sind ohne Login aufrufbar; z.B. mitglieder/ids2usernames und viele aidb/*

URL-Bestandteile

App-Key: wird auf Anfrage pro App erzeugt.
Unterprogramm: "ens" / "mitglieder" / "kontakte" / "items" / "persstart" / "persstart5" / "aidb" / "events" / "fanworks" / "fanart" / "iphonepush" / "cloud2device"
Funktion: abhängig vom gewählten Unterprogramm, wird weiter unten erklärt.

Mögliche Parameter: (GET oder POST)

- "DEBUG" (text/html wird als MIME-Typ gesetzt, statt application/json, außerdem für den Browser formatierte Ausgabe)

4. Login per Benutzername/Passwort (obsolet)

https://ws.animexx.de/json/[App-Key]/[Unterprogramm]/[Funktion]

URL-Bestandteile

App-Key: wird auf Anfrage pro App erzeugt.
Unterprogramm: "ens" / "mitglieder" / "kontakte" / "items" / "persstart" / "aidb" / "events" / "iphonepush" / "cloud2device"
Funktion: abhängig vom gewählten Unterprogramm, wird weiter unten erklärt.

Mögliche Parameter: (GET oder POST)

- "login_username"
- "login_passwort"
- "api": 1
- "DEBUG" (text/html wird als MIME-Typ gesetzt, statt application/json, außerdem für den Browser formatierte Ausgabe)

Rückgabewert:

Immer vorhanden:
"success": [true/false]

Wenn success==true:
"return": object (abhängig von der gewählten Funktion; wird dort erklärt.

Wenn success==false:
"error_source": integer
error_source - mögliche Werte: (copy/paste aus dem PHP-Code)
define("JSON_WS_PROGRAM_DEFAULT", 0); // Die globale API
define("JSON_WS_PROGRAM_STECKBRIEF", 1);
define("JSON_WS_PROGRAM_ENS", 2);
define("JSON_WS_PROGRAM_IPHONEPUSH", 3);
define("JSON_WS_PROGRAM_CLOUD2DEVICE", 4);
define("JSON_WS_PROGRAM_ITEMS", 5);
define("JSON_WS_PROGRAM_PERSSTART", 6);
define("JSON_WS_PROGRAM_AIDB", 7);
define("JSON_WS_PROGRAM_EVENTS", 8);
define("JSON_WS_PROGRAM_KONTAKTE", 9);
define("JSON_WS_PROGRAM_RPG", 11);
define("JSON_WS_PROGRAM_FANFIC", 12);
define("JSON_WS_PROGRAM_PERSSTART5", 13);
define("JSON_WS_PROGRAM_FANWORKS", 14);
define("JSON_WS_PROGRAM_BENACHRICHTIGUNGEN", 15);
define("JSON_WS_PROGRAM_FOTOS", 16);
define("JSON_WS_PROGRAM_WEBLOG", 17);
define("JSON_WS_PROGRAM_FORUM", 18);
define("JSON_WS_PROGRAM_KALENDER", 19);
define("JSON_WS_PROGRAM_XMPP", 20); define("JSON_WS_PROGRAM_FANART", 21);
"error_code": integer
error_code - mögliche Werte bei error_source == JSON_WS_PROGRAM_DEFAULT: (copy/paste aus dem PHP-Code)
define("JSON_WS_ERROR_UNKNOWN_API", -2); // Die API-Version wird nicht unterstützt
define("JSON_WS_ERROR_UNKNOWN", -1);
define("JSON_WS_ERROR_INVALID_APPID", 1);
define("JSON_WS_ERROR_INVALID_PARAMETER", 2); // Ein Programmierfehler seitens des aufrufenden Clients
define("JSON_WS_ERROR_NEEDS_LOGIN", 3);
define("JSON_WS_ERROR_INVALID_LOGIN", 4); // Benutzername/Passwort falsch
define("JSON_WS_ERROR_ACCOUNT_BLOCKED", 5); // Der Account ist zurzeit gesperrt, siehe Fehlermeldung für weitere Details. (Üblicherweise: Account selbst geblockt, oder zu viele Login-Fehlversuche)
"error_msg": string (menschenlesbare Fehlermeldung)

Häufiger vorkommende Strukturen

User-Objekt
- id: int
- username: string
- steckbrief_freigabe: boolean
- avatar: Wird nur zurückgeliefert, wenn als Paramater des API-Aufrufs "get_user_avatar" gesetzt und 1 ist. Dann entweder null oder ein Objekt mit den Elementen "url", "width" und "height".

Wenn der Nutzer sich inzwischen abgemeldet hat, wird statt dem Object "null" zurückgegeben.
text_format
Dieser Parameter muss bei denjenigen Funktionsaufrufen von der App gesetzt werden, die einen formatierten Text zurückgeben. Zulässig sind:
- raw: beinhaltet die BB-Codes
- html: HTML-Code wird zurückgegeben.
- both: sowohl als auch.

datum
Das Datum wird immer zweifach zurückgegeben:
- *_server: Das Datum in deutscher Ortszeit.
- *_utc: Das Datum in UTC.

Bilder
Die meisten Stellen, an denen die API Bild-URLs zurückliefert, berücksichtigen die folgenden Bild-Parameter. Ist das Bild größer als die angegebenen Maximalmaße, wird es mit den angegebenen Parametern skaliert. Diese Parameter sind jeweils optional.
- img_max_x, img_max_y: Maximale Breite / Höhe in Pixel
- img_format: Das Format, kann entweder "jpg" (kleiner) oder "png" (verlustfrei, mit Transparenz)
- img_quality: Nur bei img_format==jpg relevant. Zwischen 0 (extreme Kompression) und 100 (minimale Kompression). Als Richtwert: auf der Animexx-Seite wird meist 75 für Thumbnails und 90 bei normalen Bildern verwendet.


Unterprogramme



Zurück