AG-Spiel JavaScript API-Wrapper
Bitte beachtet bei der Nutzung folgendes:
§5 Das Benutzen und von Programmen/Bots, die einen Spielvorteil ermöglichen, Funktionen bieten die sich mit Premiumfeatures überschneiden oder hohe Serverbelastungen erzeugen (z.B. Parsen der Seite mit mehr als einem Aufruf pro Sekunde), ist verboten. Die Bewerbung/Verbreitung von Browserplugins oder anderer clientseitiger Software zur Erweiterung/Veränderung der Webseite ist verboten.
Außerdem: Der volle Funktionsumfang dieser API kann nur mit einem Premiumaccount im AG-Spiel gewährleistet werden!
Inhaltsverzeichnis
Funktionsumfang
- AG-Liste (API)
- Index-Liste (API)
- AG / Profil auslesen (API & Website)
- Chronik auslesen (Website)
- Aktionärsstruktur auslesen (Website)
- Bilanzen auslesen (Website)
- Kontoauszug auslesen (Website)
- Orderbuch auslesen (API)
- Depot auslesen - Aktien, Anleihen, Kredite, Zertis (API)
Installationsanleitung
- NodeJS installieren
- Projekt-Ordner erstellen
- Im Terminal des gerade erstellten Ordners NPM initialisieren
npm init -y
- Dieses Paket installieren
npm install agspiel-js-api
- .js-Datei anlegen und das Paket importieren
const agspiel = require('agspiel-js-api')
- Mit dem eigenen
ag-spiel
-Cookie authentifizieren und die API nutzen
const agspiel = require("agspiel-js-api");
const api = new agspiel.Api("<Dein-AG-Spiel-Cookie>");
api.ag(140037).then((ag) => {
console.log(ag);
});
Cookie auslesen
Die Cookies könnt ihr, solange ihr beim AG-Spiel eingeloggt seid, über euren Browser erfahren (Bei Firefox STRG+Umschalt+Q und eine beliebige Anfrage anklicken. Danach seht ihr rechts die Cookies).
Indem ihr die "Klasse" initialisiert new ags.Api(agspiel-cookie)
(siehe Beispiel oben) könnt ihr euch also "einloggen" und die API im vollen Umfang nutzen.
Alternativ könnt ihr auch folgende Funktion nutzen und den aktuellen Wert des Cookies automatisiert auslesen:
const agspiel = require("agspiel-js-api");
agspiel.get_cookie("<deine E-Mail>", "<dein Passwort>").then((cookie) => {
console.log(cookie);
});
// Output:
[
{
name: 'ag-spiel',
value: '<cookieString>',
domain: 'www.ag-spiel.de',
path: '/',
expires: 1598894886.473004,
size: 48,
httpOnly: true,
secure: true,
session: false
}
]
Diese Funktion wird jedoch nicht auf allen Geräten unterstützt!
Beispiele
- AG
api.ag(140037).then((ag) => {
console.log(ag);
});
// Output:
_wkn: 140037,
_name: 'Smith AG',
_gruendung: 2015-09-24T15:43:39.000Z,
_aktienzahl: 3943847,
_in_liquidation: false,
_kurs: 1455.72,
_brief: 1501.52,
_geld: 1455.72,
_brief_stueckzahl: 8132,
_geld_stueckzahl: 21413,
_sw_aktie: 909.46,
_bbw_aktie: 1581.56,
_fp_aktie: 1169.78,
_kgv: 116.15,
_tagesvolumen: 0,
_depotwert: 8263222109.95,
_bargeld: 311181033.72,
_highscore: 117,
_highscore_groesse: 30,
_highscore_wachstum: 472,
_highscore_newcomer: 0,
_agsx_punkte: 994,
_in_agsx: false,
_handelsaktivitaet: 41,
_ceo: Ceo {
_name: 'James-Smith',
_index: 792,
_reg_datum: 2015-09-24T15:40:59.000Z,
_isGesperrt: false,
_isUserproject: false,
_premium: 2
},
_aktien: [
Aktie { _wkn: 173636, _stueckzahl: 27 },
...
],
_anleihen: [
Anleihe {
_betrag: 100000000,
_zins: 0.2,
_auszahlung_datum: 2020-08-25T08:18:31.000Z,
_laufzeit: 5
},
...
],
_kredite: [
Kredit {
_betrag: 35000000,
_zins: 0.273,
_rueckzahlung_datum: 2020-08-28T12:16:29.000Z,
_laufzeit: 5
},
...
],
_zertifikate: [
Zertifikat {
_betrag: 5125.78,
_typ: 'call',
_hebel: 1.441,
_punkte: 23299,
_ablauf_datum: 2020-08-24T20:11:41.000Z
}
],
_orders: [
Order {
_typ: 'buy',
_limit: 1128.53,
_stueckzahl: 24026,
_isOrderregel: false,
_isSystembankorder: false,
_datum: 2020-08-23T14:09:24.000Z
},
...
],
_dividende: 0,
_max_zertis: 1,
_tages_hoch: 1454.26,
_tages_tief: 1454.26,
_kurs_14d: 6.93,
_kurs_30d: -6.17,
_kurs_60d: -0.68,
_kurs_90d: -3.05,
_bw_14d: 0.64,
_bw_30d: 1.6,
_bw_60d: -1.63,
_bw_90d: 8.22,
_fp_14d: 2.3,
_fp_30d: 1.08,
_fp_60d: 10.85,
_fp_90d: 12.3,
_index: Index {
_id: 792,
_name: 'Extrem Liberaler Index',
_highscore: 2,
_punkte: 570,
_gruendung: 2014-05-10T08:31:19.000Z
}
}
- Chronik
api.chronik(153748).then((chronik) => {
console.log(chronik);
});
// Output:
Chronik {
_namenswechsel: [
Namenswechsel {
_datum: 2020-02-05T23:00:00.000Z,
_oldName: 'MAPHIA EXPRESS',
_newName: 'Seuchen AG '
},
...
],
_kes: [
Ke {
_datum: 2019-05-31T22:00:00.000Z,
_anzahl: 4999440,
_volumen: 624930000
},
...
],
_khs: [
Kh {
_datum: 2020-08-18T22:00:00.000Z,
_anzahl: 400000,
_volumen: 90820000
},
...
],
_uebernahmen: [
Uebernahme {
_datum: 2020-06-03T22:00:00.000Z,
_uebernommener: 174799,
_uebernahmekh: 14000
},
...
],
_regname: 'Waldbahn-Bayern',
_regdatum: 2016-05-26T22:00:00.000Z,
_uebernehmer: null,
_uebernahmedatum: null,
_liquidationsdatum: null
}
- Aktionärsstruktur
api.aktionaere(140037).then((aktionaere) => {
console.log(aktionaere);
});
// Output:
[
Aktionaer {
_rank: 1,
_wkn: 135665,
_name: 'Egel',
_anzahl: 1190513,
_aenderung: 0
},
Aktionaer {
_rank: 2,
_wkn: 140818,
_name: 'BEST AG',
_anzahl: 996857,
_aenderung: 0
},
...
]
- Bilanzen
api.bilanzen(140037).then((bilanzen) => {
console.log(bilanzen);
});
// Output:
[
Bilanz {
_datum: 2018-09-29T22:00:00.000Z,
_aktienzahl: 3943847,
_kurs: 271.1,
_aktiendepot: 840188327,
_anleihendepot: 462000000,
_kreditdepot: 0,
_zertifikatedepot: 0,
_gesamtdepotwert: 1302188327,
_bargeld: 335909969,
_kfd: -25.22,
_bwaktie: 415.36,
_platzwachstum: 694,
_platzgroesse: 39,
_platzgesamt: 331,
_fpaktie: 362.54,
_buchwert: 1638098295
},
Bilanz {
_datum: 2018-01-31T23:00:00.000Z,
_aktienzahl: 3943847,
_kurs: 260.51,
_aktiendepot: 763224729,
_anleihendepot: 432000000,
_kreditdepot: 0,
_zertifikatedepot: 0,
_gesamtdepotwert: 1195224729,
_bargeld: 333420505,
_kfd: 0,
_bwaktie: 387.6,
_platzwachstum: 567,
_platzgroesse: 39,
_platzgesamt: 146,
_fpaktie: 0,
_buchwert: 1528645235
},
Bilanz {
_datum: 2018-08-30T22:00:00.000Z,
_aktienzahl: 3943847,
_kurs: 260.51,
_aktiendepot: 763224729,
_anleihendepot: 432000000,
_kreditdepot: 0,
_zertifikatedepot: 0,
_gesamtdepotwert: 1195224729,
_bargeld: 333420505,
_kfd: 0,
_bwaktie: 387.6,
_platzwachstum: 567,
_platzgroesse: 39,
_platzgesamt: 146,
_fpaktie: 0,
_buchwert: 1528645235
},
...
]
- Kontoauszug
api.kontoauszug(140037).then((kontoauszug) => {
console.log(kontoauszug);
});
// Output:
[
Kontoauszug {
_id: 20907214,
_datum: 2020-08-24T05:40:04.000Z,
_konto: 'Aktien',
_betrag: -2104.92,
_vermerk: 'Kauf 18 Stk. #176221 (Temple of Love) zu 116,94€'
},
...
]
- Index-Liste
api.indexListe().then((indizes) => {
console.log(indizes);
});
// Output:
[
Index {
_id: 7,
_name: 'SAX - Solider Aktienindex',
_highscore: 30,
_punkte: 134,
_gruendung: 2013-11-07T21:08:06.000Z
},
Index {
_id: 76,
_name: 'Premiumrendite AG - Index',
_highscore: 3,
_punkte: 549,
_gruendung: 2011-07-03T10:47:05.000Z
},
...
]
- AG-Liste
api.agListe().then((ags) => {
console.log(ags);
});
// Output:
[
AgOfList { _wkn: 100001, _name: 'Rady', _ceo: 'Rady' },
AgOfList { _wkn: 100352, _name: 'MLM System AG', _ceo: 'HerrMadoff' },
AgOfList { _wkn: 101224, _name: 'AlPharm AG', _ceo: 'blueman' },
...
]