Siirry pääsisältöön
D1 Arena

D1 Arena

Loading...

D1 Arena

Kehittäjäsovellusliittymä

yhteisössä

Kehittäjäsovellusliittymä

Luo botteja, peittokuvia, suoratoistotyökaluja ja integraatioita D1Arena-datan kanssa.

Todennus

Kaikki API-pyynnöt vaativat sovellusliittymäavaimen, joka välitetään X-API-Key / Authorization: Bearer-otsikossa.

# Example request curl -H "X-API-Key: d1_your_api_key_here" \ https://d1arena.com/api/v1/streams

Voit luoda API-avaimen siirtymällä hallintapaneelin osoitteeseen Kehittäjäasetukset. Sinulla voi olla enintään 5 avainta.

API-pyyntöjen nopeus on rajoitettu API-avaimella. Kun ylität rajan, pyynnöt palauttavat 429 Too Many Requests otsikolla Retry-After.

Perus-URL-osoite

https://d1arena.com/api/v1

Kaikki päätepisteet palauttavat JSON-tiedoston. Sivutetut päätepisteet sisältävät objektin meta, joissa on current_page, last_page ja total.

Streamit

GET /streams
Listaa tällä hetkellä suoritettavat suorat lähetykset. Tukee sivutusta ja luokkasuodatusta.
ParametriKirjoitaKuvaus
category_idintegerSuodata pelin/luokkatunnuksen mukaan
limitintegerTuloksia sivua kohden (oletus: 20)
pageintegerSivunumero
Vastaus
{ "data": [ { "id": 42, "name": "ProGamer99", "user_slug": "progamer99", "profile_img": "profile/abc123.jpg", "stream_title": "Ranked Grind - Road to Champion", "stream_category_id": 5, "is_vertical_stream": false, "platform_tier": "pro" } ], "meta": { "current_page": 1, "last_page": 1, "total": 3 } }
GET /streams/{slug}
Saat yhden striimaajan live-tilan ja streamin tiedot käyttäjänimen tai etanan mukaan.
Vastaus
{ "data": { "user_id": 42, "name": "ProGamer99", "slug": "progamer99", "is_live": true, "stream_title": "Ranked Grind", "category_id": 5, "is_vertical": false, "platform_tier": "pro", "profile_img": "profile/abc123.jpg" } }

Luokat

GET /categories
Listaa kaikki peliluokat. Tukee hakua ja sivutusta.
ParametriKirjoitaKuvaus
searchstringSuodata luokat nimen mukaan
limitintegerTuloksia sivua kohden (oletus: 50)
Vastaus
{ "data": [ { "id": 5, "name": "Call of Duty", "slug": "call-of-duty", "image": "categories/cod.png" } ], "meta": { "total": 24 } }

Käyttäjät

GET /users/{slug}
Hanki pelaajan julkinen profiili ja kilpailutilastot käyttäjätunnuksen tai etanan perusteella.
Vastaus
{ "data": { "user": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99", "profile_img": "profile/abc.jpg", "bio": "Competitive FPS player", "platform_tier": "pro", "is_live": "1", "stream_title": "Ranked", "gold": 3, "silver": 1, "bronze": 0 }, "stats": { "elo_rating": 1842, "total_tournaments": 27, "win_rate": 64.5, "total_earnings": 1250.00 } } }

Leikkeet

GET /clips
Listaa julkiset leikkeet. Tukee suodatusta streamerin ja luokan mukaan.
ParametriKirjoitaKuvaus
streamer_idintegerSuodata leikkeet striimaajan käyttäjätunnuksen mukaan
category_idintegerSuodata pelin/luokkatunnuksen mukaan
limitintegerTuloksia sivua kohden (oletus: 20)
Vastaus
{ "data": [ { "id": 99, "streamer_id": 42, "stream_category_id": 5, "title": "Insane 1v4 clutch", "slug": "insane-1v4-clutch-abc", "duration": 28, "view_count": 412, "is_auto_clip": false, "created_at": "2026-03-15T18:30:00.000000Z", "streamer": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99" } } ], "meta": { "total": 156 } }
GET /clips/{slug}
Hanki yksittäisen leikkeen tiedot etanalla.
Vastaus
{ "data": { "id": 99, "title": "Insane 1v4 clutch", "slug": "insane-1v4-clutch-abc", "description": "Final round comeback", "duration": 28, "view_count": 412, "streamer": { "id": 42, "name": "ProGamer99" }, "creator": { "id": 55, "name": "ClipMaster" }, "stream_category": { "id": 5, "name": "Call of Duty" } } }

Turnaukset

GET /tournaments
Listaa turnaukset. Tukee suodatusta tilan ja liigan mukaan.
ParametriKirjoitaKuvaus
statusstringSuodata tilan mukaan (esim. open, in_progress, completed)
league_idintegerSuodata liigatunnuksen mukaan
limitintegerTuloksia sivua kohden (oletus: 20)
Vastaus
{ "data": [ { "id": 15, "title": "Friday Night Frenzy", "tournament_type": "single_elimination", "status": "open", "registration_fee": "5.00", "no_player": 32, "team": 0, "category": { "id": 5, "name": "Call of Duty" }, "start_date": "2026-03-28T20:00:00.000000Z" } ], "meta": { "current_page": 1, "last_page": 2, "total": 24 } }
GET /tournaments/{id}
Hanki turnauksen tiedot ja osallistujamäärä.
Vastaus
{ "data": { "id": 15, "title": "Friday Night Frenzy", "tournament_type": "single_elimination", "status": "open", "registration_fee": "5.00", "no_player": 32, "team": 0 }, "meta": { "participant_count": 18 } }

ELO Rankings

GET /elo/leaderboard
Hanki ELO-rankattu tulostaulukko. Suodata vaihtoehtoisesti pelikategorian mukaan.
ParametriKirjoitaKuvaus
category_idintegerSuodata pelin/luokkatunnuksen mukaan
limitintegerTulosten määrä (oletus: 50)
Vastaus
{ "data": [ { "rank": 1, "user_id": 42, "name": "ProGamer99", "user_slug": "progamer99", "elo_rating": 2150, "wins": 45, "losses": 12, "win_rate": 78.9, "profile_img": "profile/abc123.jpg" } ], "meta": { "total": 312 } }

Liigot

GET /leagues
Luettelo liigat valinnaisilla tila- ja luokkasuodattimilla.
ParametriKirjoitaKuvaus
statusstringSuodata liigan tilan mukaan
category_idintegerSuodata pelin/luokkatunnuksen mukaan
limitintegerTuloksia sivua kohden (oletus: 20)
Vastaus
{ "data": [ { "id": 3, "name": "Spring 2026 Pro League", "status": "active", "category": { "id": 5, "name": "Call of Duty" }, "total_participants": 48, "start_date": "2026-03-01", "end_date": "2026-05-31" } ], "meta": { "current_page": 1, "last_page": 1, "total": 6 } }
GET /leagues/{id}/standings
Hanki sarjataulukot (pelaajien sijoitukset pisteiden mukaan).
Vastaus
{ "data": [ { "id": 1, "points": 2400, "wins": 12, "losses": 3, "user": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99" } } ], "meta": { "total": 48 } }

Virhevastaukset

Kaikki virheet palauttavat johdonmukaisen JSON-kirjekuoren. Objekti error sisältää aina koneellisesti luettavan code ja ihmisen luettavan message.

Virhevastausmuoto
{ "success": false, "error": { "code": "not_found", "message": "The requested resource could not be found." } }
Vahvistusvirheen muoto (422)
{ "success": false, "error": { "code": "validation_error", "message": "The given data was invalid.", "errors": { "category_id": ["The category id must be an integer."], "limit": ["The limit must not be greater than 100."] } } }

Tilakoodit

200
OK — Pyyntö onnistui. Vastaus sisältää pyydetyt tiedot.
400
Huono pyyntö — Pyyntö on väärin muotoiltu tai siitä puuttuu vaaditut parametrit. Katso lisätietoja error.message:sta.
401
Luvaton — Missing or invalid API key. Ensure you're passing a valid key in the X-API-Key header.
403
Kielletty — API-avaimesi on poistettu käytöstä tai sillä ei ole tämän resurssin käyttöoikeuksia. Tarkista omasi Kehittäjäasetukset.
404
Ei löydy — Pyydettyä resurssia ei ole olemassa. Tarkista etana, tunnus tai päätepistepolku.
422
Vahvistusvirhe — Pyynnön parametrien validointi epäonnistui. Objekti error.errors yhdistää kenttien nimet niiden erityisiin ongelmiin.
429
Rate Limited — Liikaa pyyntöjä. Otsikko Retry-After osoittaa, kuinka monta sekuntia on odotettava ennen kuin yrität uudelleen.
500
Palvelinvirhe — Meidän puolellamme tapahtui odottamaton virhe. Jos tämä jatkuu, ota yhteyttä tukeen.

Virhekoodien viite

KoodiHTTP-tilaKuvaus
invalid_api_key401API-avain puuttuu, on väärin muotoiltu tai sitä ei ole olemassa
api_key_disabled403API-avain on peruutettu tai poistettu käytöstä
not_found404Pyydettyä resurssia ei löytynyt
validation_error422Yksi tai useampi pyyntöparametri on virheellinen
rate_limited429Tämän API-avaimen pyyntönopeusraja ylitetty
server_error500Sisäinen palvelinvirhe – yritä uudelleen tai ota yhteyttä tukeen

Rate Limits

API-pyyntöjen nopeus on rajoitettu API-avaimella. Kun ylität rajan, pyynnöt palauttavat 429 Too Many Requests otsikolla Retry-After.

Rajat tasoittain

TasoPyynnöt / Minuutti (Oletus)Max Keys
Aloittaja (ilmainen)605
PRO605
Lopullinen605
Kumppani605

Rate Limit otsikot

API-pyyntöjen nopeus on rajoitettu API-avaimella. Kun ylität rajan, pyynnöt palauttavat 429 Too Many Requests otsikolla Retry-After.

OtsikkoKuvaus
Retry-AfterOdotettava sekunti ennen uudelleenyritystä (näkyy vain 429 vastauksessa)

Parhaat käytännöt

Vinkkejä rajoissa pysymiseen:
  • Cache responses locally — stream and tournament data doesn't change every second.
  • Tilaa webhooks saadaksesi reaaliaikaisia ​​tapahtumia kyselyn päätepisteiden sijaan.
  • Eräpyynnöt mahdollisuuksien mukaan – käytä suodatinparametreja saadaksesi juuri tarvitsemasi vähemmällä puhelulla.

Webhooks (EventSub)

Tilaa reaaliaikaiset push-ilmoitukset äänestyksen sijaan. Kun tapahtuma tapahtuu, D1Arena lähettää HTTP POST:n takaisinsoitto-URL-osoitteeseesi JSON-hyötykuormalla, joka on allekirjoitettu HMAC-SHA256:lla.

Asennus

Luo webhook-tilauksia kohteessa Kehittäjäasetukset. Jokainen tilaus edellyttää:

  • Takaisinsoitto-URL-osoite — Julkisesti käytettävissä oleva HTTPS-päätepiste palvelimellasi.
  • Tapahtumat — Tilattava yksi tai useampi tapahtumatyyppi.

You'll receive a whsec_ signing secret upon creation. Store it securely — it's shown only once.

Hyötykuorman muoto

Jokainen webhook-toimitus lähettää JSON-rungon, jolla on seuraava rakenne:

{ "id": "evt_a1b2c3d4e5f6", "event": "stream.online", "created_at": "2026-03-23T14:30:00Z", "data": { // Event-specific fields (see examples below) } }

Otsikot

Jokainen toimitus sisältää seuraavat otsikot reititystä ja vahvistusta varten:

OtsikkoKuvaus
Content-Typeapplication/json
X-D1Arena-EventTapahtuman tyyppi (esim. stream.online)
X-D1Arena-SignatureHMAC-SHA256 heksaditiiviste raakapyynnön rungosta
X-D1Arena-Signature-VersionAllekirjoitusavaimen muoto: v2 nykyisille tilauksille tai v1-hashed-secret vanhoille tilauksille
X-D1Arena-Delivery-IdAinutlaatuinen toimituksen UUID - käytä duplikoinnin poistamiseen
X-D1Arena-TimestampUnix-aikaleima tapahtuman lähetyshetkestä

Allekirjoitusten tarkistaminen

Tarkista aina X-D1Arena-Signature-otsikko ennen webhookin käsittelemistä. Allekirjoitus lasketaan muodossa HMAC-SHA256(raw_body, webhook_secret).

Käytä v2-toimituksissa whsec_-salaisuutta, joka näkyy tilauksen luomisen yhteydessä. Jos kyseessä on päivitystä edeltävä toimitus v1-hashed-secret, laske ensin SHA256(whsec_secret) alkuperäisestä salaisuudesta ja käytä tuloksena saatua pienikokoista heksadesimaattista tiivistelmää HMAC-avaimena. Luo tilaus uudelleen, kun se on mahdollista siirtyäksesi osoitteeseen v2.

PHP
// Get the raw body and signature header $payload = file_get_contents('php://input'); $signature = $_SERVER['HTTP_X_D1ARENA_SIGNATURE'] ?? ''; // Compute expected signature $expected = hash_hmac('sha256', $payload, $webhookSecret); // Constant-time comparison to prevent timing attacks if (!hash_equals($expected, $signature)) { http_response_code(401); exit('Invalid signature'); } $event = json_decode($payload, true);
Node.js
const crypto = require('crypto'); app.post('/webhook', (req, res) => { const payload = req.rawBody; // Ensure raw body is available const signature = req.headers['x-d1arena-signature']; const expected = crypto .createHmac('sha256', WEBHOOK_SECRET) .update(payload) .digest('hex'); if (!crypto.timingSafeEqual( Buffer.from(expected), Buffer.from(signature) )) { return res.status(401).send('Invalid signature'); } const event = JSON.parse(payload); // Process event... res.status(200).send('OK'); });
Python
import hmac, hashlib, json def handle_webhook(request): payload = request.body signature = request.headers.get('X-D1Arena-Signature', '') expected = hmac.new( WEBHOOK_SECRET.encode(), payload, hashlib.sha256 ).hexdigest() if not hmac.compare_digest(expected, signature): return HttpResponse(status=401) event = json.loads(payload) # Process event... return HttpResponse(status=200)

Saatavilla olevat tapahtumat

TapahtumaKuvaus
stream.onlineStriimaaja aloitti suoran lähetyksen
stream.offlineStriimaaja meni offline-tilaan
channel.followKäyttäjä seurasi kanavaa
channel.subscribeUusi tukitilaus kanavalla
channel.tipVinkki lähetettiin streamerille
tournament.startedTurnausottelu on alkanut
tournament.endedTurnaus on päättynyt
tournament.match.completedOttelun tulos kirjattiin
clip.createdUusi klippi luotiin suoratoistosta
overdrive.startedD1 Frenzy alkoi kanavalla
overdrive.level_upD1 Frenzy eteni seuraavalle tasolle
overdrive.endedD1 Frenzy valmis tai vanhentunut

Esimerkkejä tapahtumien hyötykuormasta

stream.online

{ "id": "evt_a1b2c3d4e5f6", "event": "stream.online", "created_at": "2026-03-23T14:30:00Z", "data": { "user_id": 42, "user_slug": "progamer99", "name": "ProGamer99", "stream_title": "Ranked Grind - Road to Champion", "category_id": 5, "category_name": "Call of Duty", "protocol": "RTMP", "started_at": "2026-03-23T14:30:00Z" } }

stream.offline

{ "id": "evt_f6e5d4c3b2a1", "event": "stream.offline", "created_at": "2026-03-23T17:45:00Z", "data": { "user_id": 42, "user_slug": "progamer99", "duration_seconds": 11700, "vod_id": 281 } }

channel.follow

{ "id": "evt_c1d2e3f4a5b6", "event": "channel.follow", "created_at": "2026-03-23T15:10:00Z", "data": { "follower_id": 88, "follower_slug": "newplayer", "followed_id": 42, "followed_slug": "progamer99" } }

channel.tip

{ "id": "evt_d1e2f3a4b5c6", "event": "channel.tip", "created_at": "2026-03-23T16:20:00Z", "data": { "streamer_id": 42, "streamer_slug": "progamer99", "tipper_id": 55, "tipper_slug": "clipmaster", "amount": "5.00", "currency": "USD", "message": "Great stream!" } }

tournament.match.completed

{ "id": "evt_e1f2a3b4c5d6", "event": "tournament.match.completed", "created_at": "2026-03-23T21:15:00Z", "data": { "tournament_id": 15, "tournament_title": "Friday Night Frenzy", "match_id": 204, "round": 2, "winner": { "id": 42, "slug": "progamer99", "name": "ProGamer99" }, "loser": { "id": 77, "slug": "rival_x", "name": "Rival_X" }, "score": "3-1" } }

clip.created

{ "id": "evt_b1c2d3e4f5a6", "event": "clip.created", "created_at": "2026-03-23T15:45:00Z", "data": { "clip_id": 99, "slug": "insane-1v4-clutch-abc", "title": "Insane 1v4 clutch", "duration": 28, "streamer_id": 42, "streamer_slug": "progamer99", "creator_id": 55, "creator_slug": "clipmaster", "category_id": 5 } }

Toimitus- ja uudelleenyrityskäytäntö

YritäViiveHuomautuksia
1. (alkuperäinen)VälitönLähetetään muutamassa sekunnissa tapahtumasta
2. (yritä uudelleen)30 sekuntiaJos ensimmäinen yritys epäonnistuu tai aikakatkaisu
3. (yritä uudelleen)2 minuuttiaEksponentiaalinen takaisku
4. (finaali)10 minuuttiaViimeinen yritys ennen epäonnistuneeksi merkitsemistä
Important: Your endpoint must respond with a 2xx status within 10 sekuntia. Non-2xx responses or timeouts trigger a retry. After 10 peräkkäistä vikaa, the subscription is automatically disabled. You'll receive an email notification and can re-enable it in Kehittäjäasetukset.

Parhaat käytännöt

  • Tarkista aina allekirjoitukset ennen hyötykuormien käsittelyä väärennettyjen tapahtumien estämiseksi.
  • Käytä Delivery-Id-tunnusta päällekkäisyyksien poistamiseen — uudelleenyritykset lähettävät saman tunnuksen, joten tallenna käsitellyt tunnukset välttääksesi kaksinkertaisen käsittelyn.
  • Vastaa nopeasti, käsittele asynkronisesti — palauta 200 OK välittömästi ja käsittele liiketoimintalogiikkaa taustatyössä.
  • Käytä vain HTTPS-päätepisteitä — webhookin URL-osoitteiden on käytettävä TLS:ää. HTTP-takaisinkutsut hylätään.
  • Käsittele tuntemattomat tapahtumat sulavasti — uusia tapahtumatyyppejä voidaan lisätä. Palauta 200 tunnistamattomista tapahtumista virheiden sijaan.

D1 Vimma

Nopeat vinkit ja tilaukset laukaisevat D1 Frenzyn striimauksen aikana. Se etenee 5 tason läpi kasvavien tavoitteiden kanssa.

GET /api/overdrive/{streamerId}

Hanki aktiivinen D1 Frenzy streameriin. Palauttaa {"active": false}, jos ei yhtään.

{ "active": true, "level": 2, "progress": 150, "target": 250, "progress_pct": 60.0, "total_contributions": 8, "total_contributors": 5, "expires_at": "2026-03-22T15:30:00+00:00" }

Tasotavoitteet

TasoPisteet
1100
2250
3500
41,000
52,000

D1 Vimma — Pisteet: Vihje $1 → 100; Tilaus 500 × Taso. Kesto: 5 Minuutit; Jäähdytys: 30 Minuutit.

Laajennus SDK

Luo mukautettuja paneeli- ja peittolaajennuksia, jotka striimaajat voivat asentaa kanavasivuilleen. Laajennukset toimivat hiekkalaatikko-iframe-kehyksissä ja kommunikoivat isäntäsivun kanssa postMessage:n kautta.

Aloitus

  1. Luo API-avain kohteessa Kehittäjäasetukset.
  2. Rakenna laajennuksesi erilliseksi HTML-sivuksi, jota isännöi verkkotunnuksesi (HTTPS vaaditaan).
  3. Lähetä se tarkistettavaksi Omat laajennukset-osioon.
  4. Kun se on hyväksytty, streamaajat voivat asentaa sen Extension Marketplacesta.

Laajennustyypit

KirjoitaSijaintiKäyttäytyminen
panelStream-soittimen alapuolellaNäkyy, kun suoratoisto on käynnissä. Täysleveä kortti, oletuskorkeus 300 pikseliä.
overlayVideosoittimen yliNäkyy livenä. Streameri ohjaa paikkaa/kokoa peittokuvan paikannustyökalun avulla.

postMessage API

Laajennuksesi vastaanottaa kontekstitiedot automaattisesti latautuessaan. Toteuta nämä tapahtumat:

Käytä jokaisessa viestissä tarkkaa D1Arena vanhempien alkuperää. Virallinen SDK johtaa ja vahvistaa tämän alkuperän upotussivulta automaattisesti.

Koska laajennuksen iframe-kehykset käyttävät tarkoituksella läpinäkymätöntä hiekkalaatikko-alkuperää, D1Arena-isäntä todentaa tarkan rekisteröidyn iframe-ikkunan. Laajennuskoodin täytyy silti todentaa ylätason ikkuna ja tarkka D1Arena alkuperä ennen kontekstin hyväksymistä.

1. Signaalivalmius

var d1ParentOrigin = 'https://d1arena.com'; // Tell the host page your extension is ready for context window.parent.postMessage({ type: 'D1_EXT_READY' }, d1ParentOrigin);

2. Vastaanota konteksti

window.addEventListener('message', function(e) { if (e.source === window.parent && e.origin === d1ParentOrigin && e.data && e.data.type === 'D1_CONTEXT') { var ctx = e.data.payload; // ctx.channelId - Streamer's user ID // ctx.channelName - Streamer's display name // ctx.channelSlug - Streamer's URL slug // ctx.viewerId - Current viewer's ID (null if not logged in) // ctx.isLive - Whether the stream is currently live } });

3. Lähetä toiminnot (valinnainen)

// Redirect the host page (e.g. for a "Storm" button) window.parent.postMessage({ type: 'D1_EXT_ACTION', action: 'storm', target: 'username-slug' }, d1ParentOrigin);

Lupa-alueet

Ilmoita, mitä tietoja laajennuksesi tarvitsee. Tarkastajat varmistavat, että koodisi vastaa ilmoitettuja käyttöoikeuksiasi.

LaajuusAntaa pääsyn kohteeseen
read:streamStriimin tila, otsikko, luokka
read:viewersKatsojamäärä ja luettelo
read:chatChat-viestit (Pusher-kanavan kautta)
read:clipsKanavaleikkeet kautta /api/clips/{slug}
read:tournamentsAktiiviset ottelutiedot /api/active-match/{id}
read:channelKanavan profiili, seuraajat, aikataulu

Turvallisuusvaatimukset

Laajennukset toimivat muodossa sandboxed iframe, jossa on sandbox="allow-scripts". Laajennuksesi ei voi käyttää evästeitä, paikallista tallennustilaa tai lähettää todennettuja pyyntöjä osoitteeseen d1arena.com.
  • Julkinen HTTPS vaaditaan — Iframe-URL-osoitteesi tulee käyttää muotoa TLS, ja sen tulee perustua vain julkisiin verkko-osoitteisiin.
  • Ihmisen luettava lähde — Ei hämärtynyttä tai vain minimoitua JavaScriptiä. Tarkistajien on voitava lukea koodisi.
  • Ulkoista komentosarjaa ei ladata ellei lähetyksessäsi ole ilmoitettu. CDN-kirjastot (jQuery, Chart.js jne.) ovat kunnossa.
  • Ei tietojen suodatusta — Laajennukset eivät saa lähettää katsojatietoja kolmannen osapuolen analytiikka- tai seurantapalveluihin.
  • Sisältökäytäntö — Ei mainoksia, NSFW-sisältöä, kryptovaluuttojen louhintaa tai haitallista toimintaa.

Tarkastusprosessi

TilaMerkitys
pendingLähetetty, odottaa järjestelmänvalvojan tarkistusta (yleensä 1–3 arkipäivää).
approvedHyväksytty ja näkyvissä Extension Marketplacessa.
rejectedHylätty syystä. Korjaa ongelmat ja lähetä uudelleen.
suspendedPoistettu väliaikaisesti käytäntörikkomuksesta. Ota yhteyttä tukeen.

Versiopäivitykset

Jos haluat päivittää hyväksytyn laajennuksen, poista nykyinen versio ja lähetä uusi versionumerolla. Uusi versio käy läpi uudelleentarkistuksen.

Muutosloki

Seuraa API-muutoksia ja uusia ominaisuuksia. Seuraamme semanttista versiointia ja ilmoitamme rikkoutuvista muutoksista vähintään 30 päivää etukäteen.

v1.0Maaliskuu 2026
  • Ensimmäinen julkinen API-julkaisu API-avaimella.
  • Striimit: Listaa live-lähetyksiä ja hanki striimaustiedot slugin mukaan.
  • Luokat: Hae ja luettele kaikki peliluokat.
  • Käyttäjät: Julkiset profiilit, joissa on kilpailutilastot, ELO-luokitukset ja mitalimäärät.
  • Leikkeet: Selaa ja hae leikkeen tietoja striimaus-/tekijätietojen avulla.
  • Turnaukset: Listaa, suodata tilan/liigan mukaan, hae osallistujamäärät.
  • ELO Leaderboard: maailmanlaajuiset ja luokkakohtaiset tulostaulukot.
  • Liigat: luettele liigat sarjataulukoineen ja pisteerittelyineen.
  • D1 Frenzy: Reaaliaikainen Frenzy-tila kaikille striimauksille.
  • Webhooks (EventSub): 12 tapahtumatyyppiä, mukaan lukien stream, kanava, turnaus, leike ja Frenzy-tapahtumat.
  • Rate Limits

Tarvitsetko apua?

Onko sinulla kysyttävää API:sta? Ota yhteyttä.