Looge D1Arena andmetega roboteid, ülekatteid, vootööriistu ja integratsioone.
Autentimine
Kõik API-päringud nõuavad API-võtit, mis edastatakse päises X-API-Key / Authorization: Bearer.
API-võtme loomiseks minge oma juhtpaneelil aadressile Arendaja seaded. Teil võib olla kuni 5 võtit.
429 Too Many Requests päisega Retry-After.
Baas-URL
Kõik lõpp-punktid tagastavad JSON-i. Leheküljega lõpp-punktid hõlmavad objekti meta koos current_page, last_page ja total.
Vood
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
category_id | integer | Filtreerige mängu/kategooria ID järgi |
limit | integer | Tulemusi lehekülje kohta (vaikimisi: 20) |
page | integer | Lehekülje number |
Kategooriad
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
search | string | Filtreerige kategooriaid nime järgi |
limit | integer | Tulemusi lehekülje kohta (vaikimisi: 50) |
Kasutajad
Klipid
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
streamer_id | integer | Filtreerige klippe striimija kasutajatunnuse järgi |
category_id | integer | Filtreerige mängu/kategooria ID järgi |
limit | integer | Tulemusi lehekülje kohta (vaikimisi: 20) |
Turniirid
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
status | string | Filtreeri oleku järgi (nt open, in_progress, completed) |
league_id | integer | Filtreeri liiga ID järgi |
limit | integer | Tulemusi lehekülje kohta (vaikimisi: 20) |
ELO edetabel
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
category_id | integer | Filtreerige mängu/kategooria ID järgi |
limit | integer | Tulemuste arv (vaikimisi: 50) |
Liigad
| Parameeter | Tüüp | Kirjeldus |
|---|---|---|
status | string | Filtreeri liiga oleku järgi |
category_id | integer | Filtreerige mängu/kategooria ID järgi |
limit | integer | Tulemusi lehekülje kohta (vaikimisi: 20) |
Vigade vastused
Kõik vead tagastavad järjepideva JSON-ümbriku. Objekt error sisaldab alati masinloetavat code ja inimloetavat message.
Olekukoodid
Veakoodide viide
| Kood | HTTP olek | Kirjeldus |
|---|---|---|
invalid_api_key | 401 | API võti puudub, on valesti vormindatud või puudub |
api_key_disabled | 403 | API võti on tühistatud või keelatud |
not_found | 404 | Taotletud ressurssi ei leitud |
validation_error | 422 | Üks või mitu päringu parameetrit on kehtetud |
rate_limited | 429 | Selle API-võtme päringu määra limiit on ületatud |
server_error | 500 | Siseserveri viga – proovige uuesti või võtke ühendust toega |
Hindade piirangud
API päringute kiirus on API võtme kohta piiratud. Kui ületate limiidi, tagastavad päringud 429 Too Many Requests päisega Retry-After.
Piirangud taseme järgi
| Tase | Taotlused / minut (Vaikimisi) | Max Keys |
|---|---|---|
| Starter (tasuta) | 60 | 5 |
| PRO | 60 | 5 |
| Ülim | 60 | 5 |
| Partner | 60 | 5 |
Rate Limit päised
API päringute kiirus on API võtme kohta piiratud. Kui ületate limiidi, tagastavad päringud 429 Too Many Requests päisega Retry-After.
| Päis | Kirjeldus |
|---|---|
Retry-After | Sekundid oodata enne uuesti proovimist (esineb ainult 429 vastuse korral) |
Parimad tavad
- Cache responses locally — stream and tournament data doesn't change every second.
- Tellige webhooks, et vaadata reaalajas sündmusi küsitluse lõpp-punktide asemel.
- Võimaluse korral paketttaotlused – kasutage filtriparameetreid, et saada vähemate kõnedega täpselt see, mida vajate.
Veebihaagid (EventSub)
Küsitluse asemel tellige reaalajas tõukemärguanded. Kui sündmus toimub, saadab D1Arena teie tagasihelistamise URL-ile HTTP POST-i koos JSON-i kasuliku koormusega, mis on allkirjastatud HMAC-SHA256-ga.
Seadistamine
Looge veebihaagi tellimusi rakenduses Arendaja seaded. Iga tellimus nõuab:
- Tagasihelistamise URL — Avalikult juurdepääsetav HTTPS-i lõpp-punkt teie serveris.
- Sündmused — Tellimiseks üks või mitu sündmuse tüüpi.
You'll receive a whsec_ signing secret upon creation. Store it securely — it's shown only once.
Kasuliku koorma vorming
Iga veebihaagi kohaletoimetamine saadab järgmise struktuuriga JSON-keha:
Päised
Iga tarne sisaldab järgmisi päiseid suunamiseks ja kinnitamiseks:
| Päis | Kirjeldus |
|---|---|
Content-Type | application/json |
X-D1Arena-Event | Sündmuse tüüp (nt stream.online) |
X-D1Arena-Signature | HMAC-SHA256 kuueteistkümnendlik kokkuvõte töötlemata päringu kehast |
X-D1Arena-Signature-Version | Allkirjastamisvõtme vorming: v2 praeguste tellimuste jaoks või v1-hashed-secret pärandtellimuste jaoks |
X-D1Arena-Delivery-Id | Ainulaadne kohaletoimetamise UUID – kasutage dubleerimiseks |
X-D1Arena-Timestamp | Unixi ajatempel sündmuse saatmise ajast |
Allkirjade kontrollimine
Enne veebihaagi töötlemist kontrollige alati päist X-D1Arena-Signature. Allkiri arvutatakse kui HMAC-SHA256(raw_body, webhook_secret).
v2 tarnete puhul kasutage tellimuse loomisel näidatud saladust whsec_. Täienduseelse v1-hashed-secret tarne jaoks arvutage esmalt algsest saladusest välja SHA256(whsec_secret) ja kasutage saadud väiketähtedega kuueteistkümnendlõigu võtmena HMAC. Võimalusel looge tellimus uuesti, et liikuda saidile v2.
Saadaolevad sündmused
| Sündmus | Kirjeldus |
|---|---|
| stream.online | Streamer läks otseülekandesse |
| stream.offline | Striimer läks võrguühenduseta |
| channel.follow | Kasutaja jälgis kanalit |
| channel.subscribe | Kanali uus toetaja tellimus |
| channel.tip | Striimerile saadeti vihje |
| tournament.started | Turniiri matš on alanud |
| tournament.ended | Turniir on lõppenud |
| tournament.match.completed | Mängu tulemus registreeriti |
| clip.created | Otseülekandest loodi uus klipp |
| overdrive.started | D1 Frenzy algas ühel kanalil |
| overdrive.level_up | D1 Frenzy tõusis järgmisele tasemele |
| overdrive.ended | D1 Frenzy lõpetatud või aegunud |
Sündmuse kasuliku koormuse näited
stream.online
stream.offline
channel.follow
channel.tip
tournament.match.completed
clip.created
Kohaletoimetamise ja uuesti proovimise eeskirjad
| Katse | Viivitus | Märkmed |
|---|---|---|
| 1. (esialgne) | Vahetu | Saadetud mõne sekundi jooksul pärast sündmust |
| 2. (proovi uuesti) | 30 sekundit | Kui esimene katse ebaõnnestub või aegub |
| 3. (proovi uuesti) | 2 minutit | Eksponentsiaalne taganemine |
| 4. (finaal) | 10 minutit | Viimane katse enne ebaõnnestunuks märkimist |
2xx status within 10 sekundit. Non-2xx responses or timeouts trigger a retry. After 10 järjestikust ebaõnnestumist, the subscription is automatically disabled. You'll receive an email notification and can re-enable it in Arendaja seaded.
Parimad tavad
- Kontrollige alati allkirju enne kasulike koormate töötlemist, et vältida võltsitud sündmusi.
- Kasutage dubleerimiseks tarne ID-d — korduskatsed saadavad sama ID, nii et topelttöötlemise vältimiseks salvestage töödeldud ID-d.
- Vasta kiiresti, töötle asünkroonselt — tagastage kohe
200 OKja käsitlege äriloogikat taustatöös. - Kasutage ainult HTTPS-i lõpp-punkte — veebihaagi URL-id peavad kasutama TLS-i. HTTP tagasihelistamised lükatakse tagasi.
- Käsitle tundmatuid sündmusi nõtkelt — võib lisada uusi sündmuste tüüpe. Tagasta
200tundmatute sündmuste, mitte vigade korral.
D1 meeletus
D1 Frenzy käivitavad kiired näpunäited ja tellimused striimimise ajal. See edeneb 5 tasemeni koos kasvavate eesmärkidega.
GET /api/overdrive/{streamerId}
Hankige striimimiseks aktiivne D1 Frenzy. Tagastab {"active": false}, kui seda pole.
Taseme eesmärgid
| Tase | Punktid |
|---|---|
| 1 | 100 |
| 2 | 250 |
| 3 | 500 |
| 4 | 1,000 |
| 5 | 2,000 |
D1 meeletus — Punktid: Vihje $1 → 100; Tellimus 500 × Tase. Kestus: 5 Minutid; Jahtumine: 30 Minutid.
Laienduse SDK
Looge kohandatud paneeli- ja ülekattelaiendeid, mida striimijad saavad oma kanalilehtedele installida. Laiendused töötavad liivakastis iframe'ides ja suhtlevad hostlehega postMessage kaudu.
Alustamine
- Looge rakenduses Arendaja seaded API võti.
- Looge laiendus eraldiseisva HTML-lehena, mida hostitakse teie domeenis (vajalik HTTPS).
- Esitage see jaotises Minu laiendused ülevaatamiseks.
- Pärast heakskiitmist saavad striimijad selle installida Extension Marketplace'ist.
Laienduse tüübid
| Tüüp | Asukoht | Käitumine |
|---|---|---|
panel | Voopleieri all | Nähtav otseülekande ajal. Täislaiusega kaart, vaikekõrgus 300 pikslit. |
overlay | Üle videopleieri | Nähtav reaalajas. Asendit/suurust juhib striimer ülekatte positsioneerimistööriista kaudu. |
postMessage API
Teie laiendus saab laadimisel kontekstiandmed automaatselt. Rakendage need sündmused:
Kasutage iga sõnumi puhul täpset D1Arena lähtepunkti. Ametlik SDK tuletab ja kinnitab selle päritolu manustuslehelt automaatselt.
Kuna laiendi iframe'id kasutavad tahtlikult läbipaistmatut liivakasti päritolu, autentib D1Arena host täpselt registreeritud iframe'i akna. Laienduskood peab enne konteksti aktsepteerimist siiski autentima emaakna ja täpselt D1Arena päritolu.
1. Signaali valmidus
2. Saate konteksti
3. Saatke toimingud (valikuline)
Lubade ulatused
Deklareerige, milliseid andmeid teie laiendus vajab. Ülevaatajad kontrollivad, et teie kood vastab teie deklareeritud lubadele.
| Ulatus | Annab juurdepääsu |
|---|---|
read:stream | Voo olek, pealkiri, kategooria |
read:viewers | Vaatajate arv ja loend |
read:chat | Vestlussõnumid (pusheri kanali kaudu) |
read:clips | Kanali klipid /api/clips/{slug} kaudu |
read:tournaments | Aktiivse mängu teave /api/active-match/{id} kaudu |
read:channel | Kanali profiil, jälgijad, ajakava |
Turvanõuded
sandbox="allow-scripts"-ga. Teie laiendus ei saa pääseb juurde küpsistele, kohalikule salvestusruumile või esitage saidile d1arena.com autentitud taotlusi.
- Avalik HTTPS nõutav — Teie iframe'i URL peab kasutama TLS ja määrama ainult avalike võrguaadresside.
- Inimloetav allikas — Puudub hägustatud või ainult minimeeritud JavaScript. Ülevaatajad peavad saama teie koodi lugeda.
- Välist skripti ei laadita välja arvatud juhul, kui see on teie avalduses märgitud. CDN-i teegid (jQuery, Chart.js jne) on korras.
- Andmete väljafiltreerimine puudub — Laiendused ei tohi saata vaatajate andmeid kolmanda osapoole analüüsi- või jälgimisteenustele.
- Sisupoliitika — Ei mingeid reklaame, NSFW sisu, krüptoraha kaevandamist ega pahatahtlikku käitumist.
Ülevaatusprotsess
| Olek | Tähendus |
|---|---|
| pending | Esitatud, ootab administraatori ülevaatust (tavaliselt 1–3 tööpäeva). |
| approved | Kinnitatud ja laiendusturul nähtav. |
| rejected | Põhjusega tagasi lükatud. Parandage probleemid ja esitage uuesti. |
| suspended | Eeskirjade rikkumise tõttu ajutiselt eemaldatud. Võtke ühendust toega. |
Versiooni värskendused
Kinnitatud laienduse värskendamiseks kustutage praegune versioon ja esitage uus suurendatud versiooninumbriga. Uus versioon läbib uuesti ülevaatuse.
Muudatuste logi
Jälgige API muudatusi ja uusi funktsioone. Jälgime semantilist versioonimist ja teatame purunevatest muudatustest vähemalt 30 päeva ette.
- API esialgne avalik väljalase API võtme autentimisega.
- Vood: loendage otseülekandeid, hankige striimijate üksikasju.
- Kategooriad: otsige ja loetlege kõik mängukategooriad.
- Kasutajad: avalikud profiilid konkurentsistatistika, ELO reitingu ja medalite arvuga.
- Klipid: sirvige ja hankige klipi üksikasju voogedastaja/looja teabe abil.
- Turniirid: loendage, filtreerige oleku/liiga järgi, vaadake osalejate arvu.
- ELO edetabel: globaalsed ja kategooriate edetabelid.
- Liigad: loetlege liigad koos tabeliseisude ja punktide jaotusega.
- D1 Frenzy: reaalajas meeletu olek iga striimija jaoks.
- Veebihaagid (EventSub): 12 sündmuse tüüpi, sealhulgas voog, kanal, turniir, klipp ja meeletud sündmused.
- Hindade piirangud
Kas vajate abi?
Kas teil on küsimusi API kohta? Võtke meiega ühendust.