Restock-Events (Server-Sent Events)

Push-Benachrichtigungen bei ArtikelÄnderungen des Games-Island-Artikelstamms – kein Crawling nötig. Die Verbindung bleibt offen, der Server sendet alle 20 s einen Heartbeat (: ka).

Endpoint

https://restock.games-island.eu/events

Filter (kombinierbar, mehrfach erlaubt)

URLEvents
/eventsalle
/events?article=664nur dieser Artikel
/events?category=5&category=9Kategorien inkl. Unterkategorien

Event-Format

event: restock
id: 12345
data: {"kArtikel":664,"cArtNr":"ABC-123","cName":"Pokémon Aquana","cSeo":"Jazwares-Pokemon-Aquana-…","url":"https://games-island.eu/Jazwares-Pokemon-Aquana-…","status":"auf Lager","kKategorie":[1,5],"dErscheinungsdatum":"2026-10-20"}

Event-Typen: restock (Status-Übergang auf „auf Lager"), new (neuer Artikel), status (andere Änderung), removed (Artikel entfernt).

Beispiele

curl

curl -N -L 'https://restock.games-island.eu/events?category=5'
Hinweis: -L folgt dem 307-Redirect auf Port 8443. Ohne -L siehst du nur den Redirect.

JavaScript (EventSource)

const es = new EventSource('https://restock.games-island.eu:8443/events?category=5');
es.addEventListener('restock', e => console.log(JSON.parse(e.data)));
es.addEventListener('new',     e => console.log(JSON.parse(e.data)));
Browser-EventSource folgt Redirects automatisch; der direkte :8443-Link spart einen Hop.

Python

import requests

r = requests.get('https://restock.games-island.eu/events?category=5',
                 stream=True, headers={'Accept': 'text/event-stream'})
for line in r.iter_lines(decode_unicode=True):
    if line.startswith('data:'):
        print(line[5:].strip())

Regeln