Unda roboti, viwekeleo, zana za kutiririsha, na miunganisho na data ya D1Arena.
Uthibitishaji
Maombi yote ya API yanahitaji ufunguo wa API unaopitishwa kwenye kichwa cha X-API-Key / Authorization: Bearer.
Ili kuunda ufunguo wa API, nenda kwa Mipangilio ya Wasanidi Programu katika dashibodi yako. Unaweza kuwa na hadi funguo 5.
429 Too Many Requests yakiwa na kichwa cha Retry-After.
URL ya msingi
Vituo vyote vya mwisho vinarudisha JSON. Vituo vya mwisho vilivyowekwa kwenye ukurasa vinajumuisha meta kitu chenye current_page, last_page, na total.
Mitiririko
| Kigezo | Aina | Maelezo |
|---|---|---|
category_id | integer | Chuja kulingana na kitambulisho cha mchezo/kitengo |
limit | integer | Matokeo kwa kila ukurasa (chaguo-msingi: 20) |
page | integer | Nambari ya ukurasa |
Kategoria
| Kigezo | Aina | Maelezo |
|---|---|---|
search | string | Chuja kategoria kwa jina |
limit | integer | Matokeo kwa kila ukurasa (chaguo-msingi: 50) |
Watumiaji
Klipu
| Kigezo | Aina | Maelezo |
|---|---|---|
streamer_id | integer | Chuja klipu kwa kitambulisho cha mtumiaji wa mtiririshaji |
category_id | integer | Chuja kulingana na kitambulisho cha mchezo/kitengo |
limit | integer | Matokeo kwa kila ukurasa (chaguo-msingi: 20) |
Mashindano
| Kigezo | Aina | Maelezo |
|---|---|---|
status | string | Chuja kulingana na hali (k.m. open, in_progress, completed) |
league_id | integer | Chuja kwa kitambulisho cha ligi |
limit | integer | Matokeo kwa kila ukurasa (chaguo-msingi: 20) |
Viwango vya ELO
| Kigezo | Aina | Maelezo |
|---|---|---|
category_id | integer | Chuja kulingana na kitambulisho cha mchezo/kitengo |
limit | integer | Idadi ya matokeo (chaguo-msingi: 50) |
Ligi
| Kigezo | Aina | Maelezo |
|---|---|---|
status | string | Chuja kulingana na hali ya ligi |
category_id | integer | Chuja kulingana na kitambulisho cha mchezo/kitengo |
limit | integer | Matokeo kwa kila ukurasa (chaguo-msingi: 20) |
Majibu ya Makosa
Hitilafu zote hurejesha bahasha thabiti ya JSON. Kipengee cha error kila mara huwa na code inayoweza kusomeka kwa mashine na message inayoweza kusomeka na binadamu.
Misimbo ya Hali
Marejeleo ya Misimbo ya Hitilafu
| Kanuni | Hali ya HTTP | Maelezo |
|---|---|---|
invalid_api_key | 401 | Ufunguo wa API haupo, haujaundwa vizuri, au haupo |
api_key_disabled | 403 | Ufunguo wa API umebatilishwa au kulemazwa |
not_found | 404 | Nyenzo iliyoombwa haikupatikana |
validation_error | 422 | Kigezo kimoja au zaidi za ombi ni batili |
rate_limited | 429 | Kiwango cha juu cha ombi kimepitwa kwa ufunguo huu wa API |
server_error | 500 | Hitilafu ya ndani ya seva - tafadhali jaribu tena au wasiliana na usaidizi |
Vikomo vya Viwango
Maombi ya API yana kikomo kwa kila ufunguo wa API. Ukizidisha kikomo, maombi hurejesha 429 Too Many Requests yakiwa na kichwa cha Retry-After.
Mipaka kwa Daraja
| Daraja | Maombi / Dakika (Chaguomsingi) | Vifunguo vya Max |
|---|---|---|
| Mwanzilishi (Bure) | 60 | 5 |
| PRO | 60 | 5 |
| Mwisho | 60 | 5 |
| Mshirika | 60 | 5 |
Vichwa vya Kikomo cha Viwango
Maombi ya API yana kikomo kwa kila ufunguo wa API. Ukizidisha kikomo, maombi hurejesha 429 Too Many Requests yakiwa na kichwa cha Retry-After.
| Kijajuu | Maelezo |
|---|---|
Retry-After | Sekunde za kusubiri kabla ya kujaribu tena (ipo kwenye majibu 429 pekee) |
Mazoea Bora
- Cache responses locally — stream and tournament data doesn't change every second.
- Jisajili kwa webhooks kwa matukio ya wakati halisi badala ya miisho ya upigaji kura.
- Ombi la bechi inapowezekana - tumia vigezo vya vichungi kupata kile unachohitaji katika simu chache.
Webhooks (EventSub)
Jiandikishe kwa arifa za wakati halisi zinazotumwa na programu badala ya kupiga kura. Tukio linapotokea, D1Arena hutuma HTTP POST kwa URL yako ya kupigiwa simu na malipo ya JSON yaliyotiwa saini na HMAC-SHA256.
Sanidi
Unda usajili wa mtandao katika Mipangilio ya Wasanidi Programu. Kila usajili unahitaji:
- URL ya kupiga simu — Mwisho wa HTTPS unaofikiwa na umma kwenye seva yako.
- Matukio — Aina moja au zaidi ya tukio la kujiandikisha.
You'll receive a whsec_ signing secret upon creation. Store it securely — it's shown only once.
Umbizo la Upakiaji
Kila utoaji wa mtandao hutuma mwili wa JSON na muundo huu:
Vichwa vya habari
Kila uwasilishaji unajumuisha vichwa vifuatavyo vya uelekezaji na uthibitishaji:
| Kijajuu | Maelezo |
|---|---|
Content-Type | application/json |
X-D1Arena-Event | Aina ya tukio (k.m. stream.online) |
X-D1Arena-Signature | HMAC-SHA256 muhtasari wa heksi wa mwili wa ombi ghafi |
X-D1Arena-Signature-Version | Umbizo la ufunguo wa kusaini: v2 kwa usajili wa sasa au v1-hashed-secret kwa usajili uliopitwa na wakati |
X-D1Arena-Delivery-Id | Uwasilishaji wa kipekee UUID - tumia kwa upunguzaji |
X-D1Arena-Timestamp | Muhuri wa muda usio sawa wa wakati tukio lilitumwa |
Inathibitisha Sahihi
Thibitisha kichwa cha X-D1Arena-Signature kila wakati kabla ya kuchakata webbook. Sahihi imekokotwa kama HMAC-SHA256(raw_body, webhook_secret).
Kwa usafirishaji wa v2, tumia whsec_ siri iliyoonyeshwa usajili ulipoundwa. Kwa usasishaji wa awali wa v1-hashed-secret, kwanza hesabu SHA256(whsec_secret) kutoka kwa siri hiyo asilia na utumie muhtasari wa herufi ndogo kama kitufe cha HMAC. Unda upya usajili inapowezekana ili kuhamia v2.
Matukio Yanayopatikana
| Tukio | Maelezo |
|---|---|
| stream.online | Mtiririshaji alienda moja kwa moja |
| stream.offline | Mtiririshaji alienda nje ya mtandao |
| channel.follow | Mtumiaji alifuata kituo |
| channel.subscribe | Usajili mpya wa wafuasi kwenye kituo |
| channel.tip | Kidokezo kilitumwa kwa mtiririshaji |
| tournament.started | Mchezo wa mechi ya mashindano umeanza |
| tournament.ended | Mashindano yamekamilika |
| tournament.match.completed | Matokeo ya mechi yamerekodiwa |
| clip.created | Klipu mpya iliundwa kutoka kwa mtiririko wa moja kwa moja |
| overdrive.started | D1 Frenzy ilianza kwenye kituo |
| overdrive.level_up | D1 Frenzy imesonga mbele hadi kiwango kinachofuata |
| overdrive.ended | D1 Frenzy imekamilika au muda wake umeisha |
Mifano ya Upakiaji wa Tukio
stream.online
stream.offline
channel.follow
channel.tip
tournament.match.completed
clip.created
Sera ya Uwasilishaji na Ujaribu Tena
| Jaribio | Kuchelewa | Vidokezo |
|---|---|---|
| 1 (ya awali) | Mara moja | Imetumwa ndani ya sekunde za tukio |
| 2 (jaribu tena) | Sekunde 30 | Jaribio la kwanza likishindwa au muda umeisha |
| 3 (jaribu tena) | Dakika 2 | Urejesho wa kielelezo |
| 4 (mwisho) | Dakika 10 | Jaribio la mwisho kabla ya kutia alama kuwa halikufaulu |
2xx status within Sekunde 10. Non-2xx responses or timeouts trigger a retry. After 10 kushindwa mfululizo, the subscription is automatically disabled. You'll receive an email notification and can re-enable it in Mipangilio ya Wasanidi Programu.
Mazoea Bora
- Thibitisha saini kila wakati kabla ya kuchakata mizigo ili kuzuia matukio ya udanganyifu.
- Tumia Kitambulisho cha Uwasilishaji kwa kukagua — hujaribu kutuma tena kitambulisho kile kile, kwa hivyo hifadhi vitambulisho vilivyochakatwa ili kuepuka kuchakata mara mbili.
- Jibu haraka, chakata bila usawa — rudisha
200 OKmara moja na ushughulikie mantiki ya biashara katika kazi ya usuli. - Tumia ncha za HTTPS pekee — URL za wavuti lazima zitumie TLS. Simu za HTTP zimekataliwa.
- Shughulikia matukio yasiyojulikana kwa uzuri — aina mpya za tukio zinaweza kuongezwa. Rudisha
200kwa matukio yasiyotambulika badala ya kufanya makosa.
D1 Mshtuko
D1 Frenzy huanzishwa na vidokezo vya haraka na usajili wakati mtiririshaji yuko moja kwa moja. Inaendelea kupitia viwango 5 na malengo yanayoongezeka.
GET /api/overdrive/{streamerId}
Pata msisimko wa D1 kwa mtiririshaji. Hurejesha {"active": false} ikiwa hakuna.
Malengo ya Ngazi
| Kiwango | Pointi |
|---|---|
| 1 | 100 |
| 2 | 250 |
| 3 | 500 |
| 4 | 1,000 |
| 5 | 2,000 |
D1 Mshtuko — Pointi: Kidokezo $1 → 100; Usajili 500 × Daraja. Muda: 5 Dakika; Kupunguza joto: 30 Dakika.
SDK ya Kiendelezi
Unda kidirisha maalum na viendelezi vyawekele ambavyo watiririshaji wanaweza kusakinisha kwenye kurasa za vituo vyao. Viendelezi huendeshwa katika iframes za sandbox na kuwasiliana na ukurasa wa seva pangishi kupitia postMessage.
Kuanza
- Unda ufunguo wa API katika Mipangilio ya Wasanidi Programu.
- Unda kiendelezi chako kama ukurasa wa HTML wa kujitegemea unaopangishwa kwenye kikoa chako (HTTPS inahitajika).
- Iwasilishe kwa ukaguzi katika sehemu ya Viendelezi Vyangu.
- Baada ya kuidhinishwa, vipeperushi vinaweza kusakinisha kutoka kwa Soko la Kiendelezi.
Aina za Upanuzi
| Aina | Mahali | Tabia |
|---|---|---|
panel | Chini ya kicheza mkondo | Inaonekana wakati mtiririko unapatikana. Kadi yenye upana kamili, urefu chaguomsingi wa 300px. |
overlay | Juu ya kicheza video | Inaonekana wakati wa moja kwa moja. Nafasi/ukubwa unaodhibitiwa na kitiririkaji kupitia zana ya kuwekea nafasi. |
postMessage API
Kiendelezi chako hupokea data ya muktadha kiotomatiki inapopakia. Tekeleza matukio haya:
Tumia D1Arena asili halisi ya mzazi kwa kila ujumbe. SDK rasmi hupata na kuhalalisha asili hii kutoka kwa ukurasa wa kupachika kiotomatiki.
Kwa sababu iframe za kiendelezi hutumia kimakusudi asili ya kisanduku kisicho wazi, mwenyeji wa D1Arena huthibitisha dirisha kamili la iframe lililosajiliwa. Msimbo wa kiendelezi bado lazima uthibitishe dirisha kuu na asili halisi ya D1Arena kabla ya kukubali muktadha.
1. Utayari wa ishara
2. Pokea muktadha
3. Tuma vitendo (si lazima)
Mawanda ya Ruhusa
Tamka ni data gani kiendelezi chako kinahitaji. Wakaguzi huthibitisha nambari yako ya kuthibitisha inalingana na ruhusa ulizotangaza.
| Upeo | Ruzuku Ufikiaji Kwa |
|---|---|
read:stream | Hali ya mtiririko, kichwa, kategoria |
read:viewers | Idadi ya watazamaji na orodha |
read:chat | Ujumbe wa gumzo (kupitia Pusher channel) |
read:clips | Klipu za kituo kupitia /api/clips/{slug} |
read:tournaments | Maelezo yanayotumika ya mechi kupitia /api/active-match/{id} |
read:channel | Wasifu wa kituo, wafuasi, ratiba |
Mahitaji ya Usalama
sandbox="allow-scripts". Kiendelezi chako haiwezi fikia vidakuzi, Hifadhi ya ndani, au utume maombi yaliyothibitishwa kwa d1arena.com.
- HTTPS ya umma inahitajika — URL yako ya iframe lazima itumie TLS na kutatua tu kwa anwani za mtandao wa umma.
- Chanzo kinachoweza kusomeka na binadamu — Hakuna JavaScript iliyofichwa au iliyopunguzwa tu. Wakaguzi lazima waweze kusoma nambari yako.
- Hakuna upakiaji wa hati ya nje isipokuwa kama itatangazwa katika uwasilishaji wako. Maktaba za CDN (jQuery, Chart.js, n.k.) ziko sawa.
- Hakuna uchujaji wa data — Viendelezi havipaswi kutuma data ya watazamaji kwa uchanganuzi wa watu wengine au huduma za ufuatiliaji.
- Sera ya maudhui — Hakuna matangazo, maudhui ya NSFW, uchimbaji madini ya cryptocurrency, au tabia mbaya.
Mchakato wa Mapitio
| Hali | Maana |
|---|---|
| pending | Imewasilishwa, inasubiri ukaguzi wa msimamizi (kawaida siku 1-3 za kazi). |
| approved | Imeidhinishwa na kuonekana katika Soko la Kiendelezi. |
| rejected | Imekataliwa kwa sababu. Rekebisha matatizo na uwasilishe upya. |
| suspended | Imeondolewa kwa muda kwa ukiukaji wa sera. Wasiliana na usaidizi. |
Sasisho za Toleo
Ili kusasisha kiendelezi kilichoidhinishwa, futa toleo la sasa na uwasilishe jipya lenye nambari ya toleo lililoongezwa. Toleo jipya linapitia ukaguzi tena.
Changelog
Fuatilia mabadiliko ya API na vipengele vipya. Tunafuata matoleo ya kisemantiki na kutangaza mabadiliko yasiyobadilika angalau siku 30 kabla.
- Toleo la kwanza la API kwa umma na uthibitishaji wa ufunguo wa API.
- Mitiririko: Orodhesha mitiririko ya moja kwa moja, pata maelezo ya mtiririshaji kwa koa.
- Kategoria: Tafuta na uorodheshe aina zote za mchezo.
- Watumiaji: Wasifu wa umma wenye takwimu za ushindani, ukadiriaji wa ELO, na hesabu za medali.
- Klipu: Vinjari na urejeshe maelezo ya klipu kwa maelezo ya kifululiza/mtayarishi.
- Mashindano: Orodhesha, chuja kwa hali/ligi, pata hesabu za washiriki.
- Ubao wa wanaoongoza wa ELO: Mbao za wanaoongoza zilizoorodheshwa za kimataifa na za kila kategoria.
- Ligi: Orodhesha ligi zenye msimamo na uchanganuzi wa pointi.
- D1 Frenzy: Hali ya Mshtuko wa wakati halisi kwa mtiririshaji wowote.
- Webhooks (EventSub): Aina 12 za matukio ikijumuisha mtiririko, chaneli, mashindano, klipu na matukio ya kusisimua.
- Vikomo vya Viwango
Je, unahitaji Msaada?
Je, una maswali kuhusu API? Wasiliana nasi.