Lumaktaw sa pangunahing nilalaman
D1 Arena

D1 Arena

Loading...

D1 Arena

Developer API

Komunidad

Developer API

Bumuo ng mga bot, overlay, stream tool, at pagsasama sa data ng D1Arena.

Pagpapatunay

Ang lahat ng kahilingan sa API ay nangangailangan ng API key na ipinasa sa X-API-Key / Authorization: Bearer header.

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

Upang gumawa ng API key, pumunta sa Mga Setting ng Developer sa iyong dashboard. Maaari kang magkaroon ng hanggang 5 susi.

Ang mga kahilingan sa API ay limitado sa rate bawat API key. Kapag lumampas ka sa limitasyon, ang mga kahilingan ay nagbabalik ng 429 Too Many Requests na may Retry-After na header.

Base URL

https://d1arena.com/api/v1

Lahat ng endpoint ay nagbabalik ng JSON. Kasama sa mga paginated endpoint ang isang meta object na may current_page, last_page, at total.

Mga stream

GET /streams
Maglista ng mga kasalukuyang live stream. Sinusuportahan ang pagination at pag-filter ng kategorya.
ParameterUriPaglalarawan
category_idintegerI-filter ayon sa ID ng laro/kategorya
limitintegerMga resulta bawat pahina (default: 20)
pageintegerNumero ng pahina
Tugon
{ "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}
Kumuha ng live na status ng isang streamer at mga detalye ng stream sa pamamagitan ng username o slug.
Tugon
{ "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" } }

Mga kategorya

GET /categories
Ilista ang lahat ng mga kategorya ng laro. Sinusuportahan ang paghahanap at pagination.
ParameterUriPaglalarawan
searchstringI-filter ang mga kategorya ayon sa pangalan
limitintegerMga resulta sa bawat pahina (default: 50)
Tugon
{ "data": [ { "id": 5, "name": "Call of Duty", "slug": "call-of-duty", "image": "categories/cod.png" } ], "meta": { "total": 24 } }

Mga gumagamit

GET /users/{slug}
Kumuha ng pampublikong profile at mapagkumpitensyang istatistika ng manlalaro sa pamamagitan ng username o slug.
Tugon
{ "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 } } }

Mga clip

GET /clips
Maglista ng mga pampublikong clip. Sinusuportahan ang pag-filter ayon sa streamer at kategorya.
ParameterUriPaglalarawan
streamer_idintegerI-filter ang mga clip ayon sa user ID ng streamer
category_idintegerI-filter ayon sa ID ng laro/kategorya
limitintegerMga resulta bawat pahina (default: 20)
Tugon
{ "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}
Kumuha ng mga detalye ng isang clip sa pamamagitan ng slug.
Tugon
{ "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" } } }

Mga paligsahan

GET /tournaments
Maglista ng mga paligsahan. Sinusuportahan ang pag-filter ayon sa katayuan at liga.
ParameterUriPaglalarawan
statusstringI-filter ayon sa katayuan (hal. open, in_progress, completed)
league_idintegerI-filter ayon sa league ID
limitintegerMga resulta bawat pahina (default: 20)
Tugon
{ "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}
Kunin ang mga detalye ng tournament at bilang ng kalahok.
Tugon
{ "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 } }

Mga Ranggo ng ELO

GET /elo/leaderboard
Kunin ang leaderboard na may ranggo na ELO. Opsyonal na i-filter ayon sa kategorya ng laro.
ParameterUriPaglalarawan
category_idintegerI-filter ayon sa ID ng laro/kategorya
limitintegerBilang ng mga resulta (default: 50)
Tugon
{ "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 } }

Mga liga

GET /leagues
Maglista ng mga liga na may opsyonal na katayuan at mga filter ng kategorya.
ParameterUriPaglalarawan
statusstringI-filter ayon sa katayuan ng liga
category_idintegerI-filter ayon sa ID ng laro/kategorya
limitintegerMga resulta bawat pahina (default: 20)
Tugon
{ "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
Kumuha ng mga standing sa liga (mga ranggo ng manlalaro ayon sa mga puntos).
Tugon
{ "data": [ { "id": 1, "points": 2400, "wins": 12, "losses": 3, "user": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99" } } ], "meta": { "total": 48 } }

Mga Tugon sa Error

Lahat ng error ay nagbabalik ng pare-parehong JSON envelope. Ang bagay na error ay laging naglalaman ng code na nababasa ng makina at nababasa ng tao na message.

Format ng Pagtugon ng Error
{ "success": false, "error": { "code": "not_found", "message": "The requested resource could not be found." } }
Format ng Error sa Pagpapatunay (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."] } } }

Mga Code ng Katayuan

200
OK — Nagtagumpay ang kahilingan. Ang tugon ay naglalaman ng hiniling na data.
400
Masamang Kahilingan — Ang kahilingan ay mali o nawawala ang mga kinakailangang parameter. Tingnan ang error.message para sa mga detalye.
401
Hindi awtorisado — Missing or invalid API key. Ensure you're passing a valid key in the X-API-Key header.
403
Bawal — Ang iyong API key ay hindi pinagana o walang pahintulot para sa mapagkukunang ito. Suriin ang iyong Mga Setting ng Developer.
404
Hindi Nahanap — Ang hiniling na mapagkukunan ay wala. I-verify ang slug, ID, o endpoint path.
422
Error sa Pagpapatunay — Nabigo ang pag-validate ng mga parameter ng kahilingan. Ang error.errors object ay nagmamapa ng mga pangalan ng field sa kanilang mga partikular na isyu.
429
Limitado ang Rate — Masyadong maraming kahilingan. Isinasaad ng Retry-After header kung ilang segundo ang maghihintay bago subukang muli.
500
Error sa Server — Isang hindi inaasahang error ang naganap sa aming dulo. Kung magpapatuloy ito, makipag-ugnayan sa suporta.

Sanggunian ng Mga Error Code

CodeKatayuan ng HTTPPaglalarawan
invalid_api_key401Ang API key ay nawawala, mali ang pagkakabuo, o wala
api_key_disabled403Ang API key ay binawi o hindi pinagana
not_found404Hindi mahanap ang hiniling na mapagkukunan
validation_error422Ang isa o higit pang mga parameter ng kahilingan ay hindi wasto
rate_limited429Lumampas sa limitasyon sa rate ng kahilingan para sa API key na ito
server_error500Error sa panloob na server — pakisubukang muli o makipag-ugnayan sa suporta

Mga Limitasyon sa Rate

Ang mga kahilingan sa API ay limitado sa rate bawat API key. Kapag lumampas ka sa limitasyon, ang mga kahilingan ay nagbabalik ng 429 Too Many Requests na may Retry-After na header.

Mga limitasyon ayon sa Tier

TierMga Kahilingan / Minuto (Default)Max Keys
Starter (Libre)605
PRO605
Ultimate605
Kasosyo605

Mga Header ng Hangganan ng Rate

Ang mga kahilingan sa API ay limitado sa rate bawat API key. Kapag lumampas ka sa limitasyon, ang mga kahilingan ay nagbabalik ng 429 Too Many Requests na may Retry-After na header.

HeaderPaglalarawan
Retry-AfterMga segundong maghihintay bago subukang muli (naroroon lamang sa 429 na tugon)

Pinakamahusay na Kasanayan

Mga tip para manatili sa loob ng mga limitasyon:
  • Cache responses locally — stream and tournament data doesn't change every second.
  • Mag-subscribe sa webhooks para sa mga real-time na kaganapan sa halip na mga endpoint ng botohan.
  • Mga batch na kahilingan kung posible — gumamit ng mga parameter ng filter upang makuha ang eksaktong kailangan mo sa mas kaunting mga tawag.

Webhooks (EventSub)

Mag-subscribe sa mga real-time na push notification sa halip na botohan. Kapag may nangyaring kaganapan, nagpapadala ang D1Arena ng HTTP POST sa iyong callback URL na may JSON payload na nilagdaan ng HMAC-SHA256.

Setup

Lumikha ng mga subscription sa webhook sa Mga Setting ng Developer. Ang bawat subscription ay nangangailangan ng:

  • URL ng callback — Isang endpoint ng HTTPS na naa-access ng publiko sa iyong server.
  • Mga kaganapan — Isa o higit pang mga uri ng kaganapan upang mag-subscribe.

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

Payload Format

Ang bawat paghahatid ng webhook ay nagpapadala ng JSON body na may ganitong istraktura:

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

Mga header

Kasama sa bawat paghahatid ang mga sumusunod na header para sa pagruruta at pag-verify:

HeaderPaglalarawan
Content-Typeapplication/json
X-D1Arena-EventUri ng kaganapan (hal. stream.online)
X-D1Arena-SignatureHMAC-SHA256 hex digest ng raw request body
X-D1Arena-Signature-VersionFormat ng signing-key: v2 para sa mga kasalukuyang subscription o v1-hashed-secret para sa mga legacy na subscription
X-D1Arena-Delivery-IdUnique delivery UUID — gamitin para sa deduplication
X-D1Arena-TimestampUnix timestamp kung kailan ipinadala ang kaganapan

Pagpapatunay ng mga Lagda

Palaging i-verify ang X-D1Arena-Signature header bago magproseso ng webhook. Ang lagda ay kinukuwenta bilang HMAC-SHA256(raw_body, webhook_secret).

Para sa v2 na mga paghahatid, gamitin ang whsec_ na lihim na ipinakita noong ginawa ang subscription. Para sa pre-upgrade na v1-hashed-secret na paghahatid, kalkulahin muna ang SHA256(whsec_secret) mula sa orihinal na lihim na iyon at gamitin ang nagresultang lowercase na hex digest bilang HMAC na key. Gawin muli ang subscription kapag praktikal na lumipat sa 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'); });
sawa
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)

Mga Magagamit na Kaganapan

KaganapanPaglalarawan
stream.onlineNag-live ang isang streamer
stream.offlineNag-offline ang isang streamer
channel.followSinundan ng isang user ang isang channel
channel.subscribeBagong subscription ng tagasuporta sa isang channel
channel.tipIsang tip ang ipinadala sa isang streamer
tournament.startedNagsimula na ang isang tournament match play
tournament.endedNatapos ang isang tournament
tournament.match.completedIsang resulta ng laban ang naitala
clip.createdIsang bagong clip ang ginawa mula sa isang live stream
overdrive.startedNagsimula ang D1 Frenzy sa isang channel
overdrive.level_upAng D1 Frenzy ay sumulong sa susunod na antas
overdrive.endedNakumpleto o nag-expire ang D1 Frenzy

Mga Halimbawa ng Payload ng Kaganapan

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 } }

Patakaran sa Paghahatid at Subukang Muli

PagtatangkaPagkaantalaMga Tala
1st (inisyal)Agad-agadIpinadala sa loob ng ilang segundo ng kaganapan
ika-2 (subukang muli)30 segundoKung nabigo ang unang pagsubok o nag-time out
ika-3 (subukang muli)2 minutoExponential backoff
ika-4 (pangwakas)10 minutoHuling pagsubok bago markahan bilang nabigo
Important: Your endpoint must respond with a 2xx status within 10 segundo. Non-2xx responses or timeouts trigger a retry. After 10 magkakasunod na kabiguan, the subscription is automatically disabled. You'll receive an email notification and can re-enable it in Mga Setting ng Developer.

Pinakamahusay na Kasanayan

  • Palaging i-verify ang mga lagda bago magproseso ng mga payload para maiwasan ang mga spoofed na kaganapan.
  • Gamitin ang Delivery-Id para sa deduplication — Ang mga muling pagsubok ay magpadala ng parehong ID, kaya mag-imbak ng mga naprosesong ID upang maiwasan ang dobleng pagproseso.
  • Mabilis na tumugon, iproseso nang asynchronous — ibalik kaagad ang 200 OK at pangasiwaan ang lohika ng negosyo sa isang background na trabaho.
  • Gumamit lamang ng mga endpoint ng HTTPS — Dapat gumamit ang mga URL ng webhook ng TLS. Tinanggihan ang mga HTTP callback.
  • Pangasiwaan ang hindi kilalang mga kaganapan nang maayos — maaaring magdagdag ng mga bagong uri ng kaganapan. Ibalik ang 200 para sa hindi nakikilalang mga kaganapan sa halip na magkamali.

D1 Siklab ng galit

Ang D1 Frenzy ay na-trigger ng mabilis na mga tip at subscription habang live ang isang streamer. Umuusad ito sa 5 antas na may pagtaas ng mga target.

GET /api/overdrive/{streamerId}

Kunin ang aktibong D1 Frenzy para sa isang streamer. Ibinabalik ang {"active": false} kung wala.

{ "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" }

Mga Level Target

AntasMga puntos
1100
2250
3500
41,000
52,000

D1 Siklab ng galit — Mga puntos: Tip $1 → 100; Subscription 500 × Tier. Tagal: 5 Mga minuto; Cooldown: 30 Mga minuto.

Extension SDK

Bumuo ng mga custom na panel at overlay na extension na maaaring i-install ng mga streamer sa kanilang mga page ng channel. Tumatakbo ang mga extension sa mga sandboxed na iframe at nakikipag-ugnayan sa host page sa pamamagitan ng postMessage.

Pagsisimula

  1. Gumawa ng API key sa Mga Setting ng Developer.
  2. Buuin ang iyong extension bilang isang standalone na HTML page na naka-host sa iyong domain (kinakailangan ang HTTPS).
  3. Isumite ito para sa pagsusuri sa seksyong Aking Mga Extension.
  4. Kapag naaprubahan, mai-install ito ng mga streamer mula sa Extension Marketplace.

Mga Uri ng Extension

UriLokasyonPag-uugali
panelSa ibaba ng stream playerNakikita kapag live ang stream. Full-width na card, 300px na default na taas.
overlaySa ibabaw ng video playerNakikita kapag live. Posisyon/laki na kinokontrol ng streamer sa pamamagitan ng overlay positioning tool.

postMessage API

Awtomatikong natatanggap ng iyong extension ang data ng konteksto kapag nag-load ito. Ipatupad ang mga kaganapang ito:

Gamitin ang eksaktong D1Arena na pinagmulan ng magulang para sa bawat mensahe. Awtomatikong nakukuha at pinapatunayan ng opisyal na SDK ang pinagmulang ito mula sa pahina ng pag-embed.

Dahil sinasadya ng mga extension na iframe ang isang opaque na pinanggalingan ng sandbox, pinapatotohanan ng D1Arena host ang eksaktong nakarehistrong window ng iframe. Dapat pa ring patunayan ng extension code ang parent window at eksaktong D1Arena pinanggalingan bago tanggapin ang konteksto.

1. Kahandaan ng signal

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

2. Tumanggap ng konteksto

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. Magpadala ng mga aksyon (opsyonal)

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

Saklaw ng Pahintulot

Ipahayag kung anong data ang kailangan ng iyong extension. Bine-verify ng mga reviewer na tumutugma ang iyong code sa iyong mga ipinahayag na pahintulot.

SaklawNagbibigay ng Access To
read:streamKatayuan ng stream, pamagat, kategorya
read:viewersBilang ng manonood at listahan
read:chatMga mensahe sa chat (sa pamamagitan ng Pusher channel)
read:clipsMga clip ng channel sa pamamagitan ng /api/clips/{slug}
read:tournamentsImpormasyon ng aktibong tugma sa pamamagitan ng /api/active-match/{id}
read:channelProfile ng channel, mga tagasunod, iskedyul

Mga Kinakailangan sa Seguridad

Ang mga extension ay tumatakbo sa isang naka-sandbox na iframe na may sandbox="allow-scripts". Ina-access ng iyong extension na hindi pwede ang cookies, localStorage, o gumawa ng mga napatunayang kahilingan sa d1arena.com.
  • Pampubliko HTTPS kinakailangan — Ang iyong iframe URL ay dapat gumamit ng TLS at lutasin lamang sa mga pampublikong network address.
  • Nababasa ng tao na pinagmulan — Walang obfuscated o minified-only JavaScript. Dapat na mabasa ng mga tagasuri ang iyong code.
  • Walang paglo-load ng panlabas na script maliban kung ipinahayag sa iyong pagsusumite. Ang mga CDN library (jQuery, Chart.js, atbp.) ay maayos.
  • Walang data exfiltration — Ang mga extension ay hindi dapat magpadala ng data ng manonood sa mga third-party na analytics o mga serbisyo sa pagsubaybay.
  • Patakaran sa nilalaman — Walang mga ad, nilalaman ng NSFW, pagmimina ng cryptocurrency, o malisyosong pag-uugali.

Proseso ng Pagsusuri

KatayuanIbig sabihin
pendingNaisumite, naghihintay ng pagsusuri ng admin (karaniwang 1-3 araw ng negosyo).
approvedNaaprubahan at nakikita sa Extension Marketplace.
rejectedTinanggihan na may dahilan. Ayusin ang mga isyu at muling isumite.
suspendedPansamantalang inalis dahil sa paglabag sa patakaran. Makipag-ugnayan sa suporta.

Mga Update sa Bersyon

Upang mag-update ng naaprubahang extension, tanggalin ang kasalukuyang bersyon at magsumite ng bago na may nadagdag na numero ng bersyon. Ang bagong bersyon ay dumaan muli sa pagsusuri.

Changelog

Subaybayan ang mga pagbabago sa API at mga bagong feature. Sinusundan namin ang semantic versioning at inaanunsyo namin ang mga paglabag sa pagbabago nang hindi bababa sa 30 araw nang maaga.

v1.0Marso 2026
  • Paunang public API release na may API key authentication.
  • Mga Stream: Maglista ng mga live stream, kumuha ng mga detalye ng streamer ayon sa slug.
  • Mga Kategorya: Hanapin at ilista ang lahat ng kategorya ng laro.
  • Mga User: Mga pampublikong profile na may mapagkumpitensyang istatistika, rating ng ELO, at bilang ng medalya.
  • Mga Clip: Mag-browse at kunin ang mga detalye ng clip gamit ang impormasyon ng streamer/creator.
  • Mga Tournament: Listahan, i-filter ayon sa katayuan/liga, kumuha ng mga bilang ng kalahok.
  • ELO Leaderboard: Global at per-category na ranggo na mga leaderboard.
  • Mga Liga: Maglista ng mga liga na may mga standing at point breakdown.
  • D1 Frenzy: Real-time Frenzy status para sa anumang streamer.
  • Webhooks (EventSub): 12 uri ng kaganapan kabilang ang stream, channel, tournament, clip, at Frenzy na mga kaganapan.
  • Mga Limitasyon sa Rate

Kailangan ng Tulong?

Mga tanong tungkol sa API? Makipag-ugnayan sa amin.