D1Arena डेटासह बॉट्स, आच्छादन, प्रवाह साधने आणि एकत्रीकरण तयार करा.
प्रमाणीकरण
सर्व API विनंत्यांना X-API-Key / Authorization: Bearer शीर्षलेखात पास केलेली API की आवश्यक आहे.
API की तयार करण्यासाठी, तुमच्या डॅशबोर्डमधील विकसक सेटिंग्ज वर जा. तुमच्याकडे 5 की असू शकतात.
Retry-After शीर्षलेखासह 429 Too Many Requests परत करतात.
मूळ URL
सर्व एंडपॉइंट JSON परत करतात. पृष्ठांकित एंडपॉइंटमध्ये current_page, last_page आणि total सह meta ऑब्जेक्ट समाविष्ट आहे.
प्रवाह
| पॅरामीटर | प्रकार | वर्णन |
|---|---|---|
category_id | integer | गेम/श्रेणी आयडीनुसार फिल्टर करा |
limit | integer | प्रति पृष्ठ परिणाम (डिफॉल्ट: 20) |
page | integer | पृष्ठ क्रमांक |
श्रेण्या
| पॅरामीटर | प्रकार | वर्णन |
|---|---|---|
search | string | नावानुसार श्रेणी फिल्टर करा |
limit | integer | प्रति पृष्ठ परिणाम (डिफॉल्ट: ५०) |
वापरकर्ते
क्लिप
| पॅरामीटर | प्रकार | वर्णन |
|---|---|---|
streamer_id | integer | स्ट्रीमरच्या वापरकर्ता आयडीनुसार क्लिप फिल्टर करा |
category_id | integer | गेम/श्रेणी आयडीनुसार फिल्टर करा |
limit | integer | प्रति पृष्ठ परिणाम (डिफॉल्ट: 20) |
स्पर्धा
| पॅरामीटर | प्रकार | वर्णन |
|---|---|---|
status | string | स्थितीनुसार फिल्टर करा (उदा. open, in_progress, completed) |
league_id | integer | लीग आयडीनुसार फिल्टर करा |
limit | integer | प्रति पृष्ठ परिणाम (डिफॉल्ट: 20) |
ELO रँकिंग
| पॅरामीटर | प्रकार | वर्णन |
|---|---|---|
category_id | integer | गेम/श्रेणी आयडीनुसार फिल्टर करा |
limit | integer | परिणामांची संख्या (डिफॉल्ट: ५०) |
लीग
| पॅरामीटर | प्रकार | वर्णन |
|---|---|---|
status | string | लीग स्थितीनुसार फिल्टर करा |
category_id | integer | गेम/श्रेणी आयडीनुसार फिल्टर करा |
limit | integer | प्रति पृष्ठ परिणाम (डिफॉल्ट: 20) |
त्रुटी प्रतिसाद
सर्व त्रुटी एक सुसंगत JSON लिफाफा परत करतात. error ऑब्जेक्टमध्ये नेहमी मशीन-वाचण्यायोग्य code आणि मानवी वाचण्यायोग्य message असते.
स्थिती कोड
त्रुटी कोड संदर्भ
| कोड | HTTP स्थिती | वर्णन |
|---|---|---|
invalid_api_key | 401 | API की गहाळ आहे, विकृत आहे किंवा अस्तित्वात नाही |
api_key_disabled | 403 | API की रद्द किंवा अक्षम केली गेली आहे |
not_found | 404 | विनंती केलेले संसाधन सापडले नाही |
validation_error | 422 | एक किंवा अधिक विनंती पॅरामीटर्स अवैध आहेत |
rate_limited | 429 | या API की साठी विनंती दर मर्यादा ओलांडली आहे |
server_error | 500 | अंतर्गत सर्व्हर त्रुटी — कृपया पुन्हा प्रयत्न करा किंवा समर्थनाशी संपर्क साधा |
दर मर्यादा
API विनंत्या प्रति API की रेट-मर्यादित आहेत. जेव्हा तुम्ही मर्यादा ओलांडता, तेव्हा विनंत्या Retry-After शीर्षलेखासह 429 Too Many Requests परत करतात.
श्रेणीनुसार मर्यादा
| टियर | विनंत्या / मिनिट (डीफॉल्ट) | कमाल की |
|---|---|---|
| स्टार्टर (विनामूल्य) | 60 | 5 |
| प्रो | 60 | 5 |
| परम | 60 | 5 |
| जोडीदार | 60 | 5 |
रेट मर्यादा शीर्षलेख
API विनंत्या प्रति API की रेट-मर्यादित आहेत. जेव्हा तुम्ही मर्यादा ओलांडता, तेव्हा विनंत्या Retry-After शीर्षलेखासह 429 Too Many Requests परत करतात.
| शीर्षलेख | वर्णन |
|---|---|
Retry-After | पुन्हा प्रयत्न करण्यापूर्वी प्रतीक्षा करण्यासाठी सेकंद (फक्त 429 प्रतिसादांवर उपस्थित) |
सर्वोत्तम पद्धती
- Cache responses locally — stream and tournament data doesn't change every second.
- मतदान अंत्यबिंदूंऐवजी रिअल-टाइम इव्हेंटसाठी webhooks चे सदस्य व्हा.
- जेथे शक्य असेल तेथे बॅच विनंत्या — तुम्हाला कमी कॉलमध्ये नेमके काय हवे आहे ते मिळवण्यासाठी फिल्टर पॅरामीटर्स वापरा.
वेबहुक्स (इव्हेंटसब)
मतदानाऐवजी रिअल-टाइम पुश नोटिफिकेशन्सची सदस्यता घ्या. जेव्हा एखादी घटना घडते, तेव्हा D1Arena HMAC-SHA256 सह स्वाक्षरी केलेल्या JSON पेलोडसह तुमच्या कॉलबॅक URL वर HTTP POST पाठवते.
सेटअप
विकसक सेटिंग्ज मध्ये वेबहुक सदस्यता तयार करा. प्रत्येक सदस्यता आवश्यक आहे:
- कॉलबॅक URL — तुमच्या सर्व्हरवर सार्वजनिकरित्या प्रवेश करण्यायोग्य HTTPS एंडपॉइंट.
- कार्यक्रम — सदस्यता घेण्यासाठी एक किंवा अधिक इव्हेंट प्रकार.
You'll receive a whsec_ signing secret upon creation. Store it securely — it's shown only once.
पेलोड स्वरूप
प्रत्येक वेबहुक वितरण या संरचनेसह JSON बॉडी पाठवते:
शीर्षलेख
प्रत्येक वितरणामध्ये राउटिंग आणि सत्यापनासाठी खालील शीर्षलेख समाविष्ट असतात:
| शीर्षलेख | वर्णन |
|---|---|
Content-Type | application/json |
X-D1Arena-Event | कार्यक्रमाचा प्रकार (उदा. stream.online) |
X-D1Arena-Signature | रॉ रिक्वेस्ट बॉडीचा HMAC-SHA256 हेक्स डायजेस्ट |
X-D1Arena-Signature-Version | साइनिंग-की फॉरमॅट: वर्तमान सदस्यत्वांसाठी v2 किंवा लीगेसी सदस्यतांसाठी v1-hashed-secret |
X-D1Arena-Delivery-Id | युनिक डिलिव्हरी UUID — डुप्लिकेशनसाठी वापरा |
X-D1Arena-Timestamp | इव्हेंट कधी पाठवला गेला याचा युनिक्स टाइमस्टॅम्प |
स्वाक्षरी पडताळत आहे
वेबहुकवर प्रक्रिया करण्यापूर्वी नेहमी X-D1Arena-Signature शीर्षलेख सत्यापित करा. स्वाक्षरीची गणना HMAC-SHA256(raw_body, webhook_secret) म्हणून केली जाते.
v2 वितरणासाठी, सदस्यता तयार केल्यावर दर्शविलेले whsec_ गुप्त वापरा. प्री-अपग्रेड v1-hashed-secret डिलिव्हरीसाठी, प्रथम त्या मूळ गुप्ततेपासून SHA256(whsec_secret) ची गणना करा आणि परिणामी लोअरकेस हेक्स डायजेस्ट HMAC की म्हणून वापरा. v2 वर जाण्यासाठी जेव्हा व्यावहारिक असेल तेव्हा सदस्यता पुन्हा तयार करा.
उपलब्ध कार्यक्रम
| कार्यक्रम | वर्णन |
|---|---|
| stream.online | एक स्ट्रीमर थेट गेला |
| stream.offline | एक स्ट्रीमर ऑफलाइन झाला |
| channel.follow | वापरकर्त्याने चॅनेलचे अनुसरण केले |
| channel.subscribe | चॅनेलवर नवीन समर्थक सदस्यता |
| channel.tip | स्ट्रीमरला एक टीप पाठवली होती |
| tournament.started | टूर्नामेंट मॅच खेळण्यास सुरुवात झाली आहे |
| tournament.ended | एका स्पर्धेचा समारोप झाला |
| tournament.match.completed | सामन्याचा निकाल नोंदवला गेला |
| clip.created | थेट प्रवाहातून एक नवीन क्लिप तयार केली गेली |
| overdrive.started | एका चॅनलवर D1 Frenzy सुरु झाला |
| overdrive.level_up | D1 उन्माद पुढील स्तरावर प्रगत |
| overdrive.ended | D1 उन्माद पूर्ण किंवा कालबाह्य |
इव्हेंट पेलोड उदाहरणे
stream.online
stream.offline
channel.follow
channel.tip
tournament.match.completed
clip.created
वितरण आणि पुन्हा प्रयत्न धोरण
| प्रयत्न | विलंब | नोट्स |
|---|---|---|
| पहिला (प्रारंभिक) | तात्काळ | कार्यक्रमानंतर काही सेकंदात पाठवले |
| 2रा (पुन्हा प्रयत्न करा) | 30 सेकंद | पहिला प्रयत्न अयशस्वी झाल्यास किंवा वेळ संपल्यास |
| 3रा (पुन्हा प्रयत्न करा) | 2 मिनिटे | घातांकीय बॅकऑफ |
| चौथा (अंतिम) | 10 मिनिटे | अयशस्वी म्हणून चिन्हांकित करण्यापूर्वी शेवटचा प्रयत्न |
2xx status within 10 सेकंद. Non-2xx responses or timeouts trigger a retry. After 10 सलग अपयश, the subscription is automatically disabled. You'll receive an email notification and can re-enable it in विकसक सेटिंग्ज.
सर्वोत्तम पद्धती
- नेहमी स्वाक्षऱ्यांची पडताळणी करा फसवणूक झालेल्या घटना टाळण्यासाठी पेलोडवर प्रक्रिया करण्यापूर्वी.
- डीडुप्लिकेशनसाठी डिलिव्हरी-आयडी वापरा — पुन्हा प्रयत्न करा समान आयडी पाठवा, त्यामुळे दुहेरी प्रक्रिया टाळण्यासाठी प्रक्रिया केलेले आयडी संग्रहित करा.
- त्वरीत प्रतिसाद द्या, असिंक्रोनस प्रक्रिया करा — ताबडतोब
200 OKपरत करा आणि बॅकग्राउंड जॉबमध्ये बिझनेस लॉजिक हाताळा. - फक्त HTTPS एंडपॉइंट वापरा — वेबहुक URL ने TLS वापरणे आवश्यक आहे. HTTP कॉलबॅक नाकारले आहेत.
- अज्ञात घटना कृपापूर्वक हाताळा — नवीन इव्हेंट प्रकार जोडले जाऊ शकतात. एरर करण्यापेक्षा अपरिचित घटनांसाठी
200परत या.
D1 उन्माद
स्ट्रीमर लाइव्ह असताना वेगवान टिप्स आणि सदस्यतांद्वारे D1 उन्माद ट्रिगर केला जातो. हे वाढत्या लक्ष्यांसह 5 स्तरांमधून प्रगती करते.
GET /api/overdrive/{streamerId}
स्ट्रीमरसाठी सक्रिय D1 उन्माद मिळवा. कोणतेही नसल्यास {"active": false} परत करते.
स्तर लक्ष्ये
| पातळी | गुण |
|---|---|
| 1 | 100 |
| 2 | 250 |
| 3 | 500 |
| 4 | 1,000 |
| 5 | 2,000 |
D1 उन्माद — गुण: टीप $1 → 100; वर्गणी 500 × टियर. कालावधी: 5 मिनिटे; कूलडाउन: 30 मिनिटे.
विस्तार SDK
सानुकूल पॅनेल आणि आच्छादित विस्तार तयार करा जे स्ट्रीमर त्यांच्या चॅनेल पृष्ठांवर स्थापित करू शकतात. विस्तार सँडबॉक्स्ड iframes मध्ये चालतात आणि होस्ट पृष्ठाशी postMessage द्वारे संवाद साधतात.
प्रारंभ करणे
- विकसक सेटिंग्ज मध्ये API की तयार करा.
- तुमच्या डोमेनवर होस्ट केलेले स्टँडअलोन HTML पेज म्हणून तुमचा विस्तार तयार करा (HTTPS आवश्यक).
- माझे विस्तार विभागात पुनरावलोकनासाठी सबमिट करा.
- एकदा मंजूर झाल्यानंतर, स्ट्रीमर्स ते एक्स्टेंशन मार्केटप्लेसवरून स्थापित करू शकतात.
विस्ताराचे प्रकार
| प्रकार | स्थान | वागणूक |
|---|---|---|
panel | स्ट्रीम प्लेअरच्या खाली | प्रवाह लाइव्ह असताना दृश्यमान. पूर्ण-रुंदीचे कार्ड, 300px डीफॉल्ट उंची. |
overlay | व्हिडिओ प्लेयरवर | लाइव्ह असताना दृश्यमान. ओव्हरले पोझिशनिंग टूलद्वारे स्ट्रीमरद्वारे नियंत्रित स्थिती/आकार. |
postMessage API
तुमचा विस्तार लोड झाल्यावर संदर्भ डेटा आपोआप प्राप्त करतो. या कार्यक्रमांची अंमलबजावणी करा:
प्रत्येक संदेशासाठी अचूक D1Arena मूळ मूळ वापरा. अधिकृत SDK हे मूळ एम्बेडिंग पृष्ठावरून आपोआप मिळवते आणि प्रमाणित करते.
विस्तार iframes हेतुपुरस्सर अपारदर्शक सँडबॉक्स मूळ वापरत असल्यामुळे, D1Arena होस्ट अचूक नोंदणीकृत iframe विंडो प्रमाणित करतो. विस्तार कोडने संदर्भ स्वीकारण्यापूर्वी मूळ विंडो आणि अचूक D1Arena मूळ प्रमाणीकरण करणे आवश्यक आहे.
1. सिग्नलची तयारी
2. संदर्भ प्राप्त करा
3. क्रिया पाठवा (पर्यायी)
परवानगीची व्याप्ती
तुमच्या विस्ताराला कोणता डेटा आवश्यक आहे ते घोषित करा. समीक्षक तुमचा कोड तुमच्या घोषित परवानग्यांशी जुळत असल्याची पडताळणी करतात.
| व्याप्ती | यांना प्रवेश मंजूर करते |
|---|---|
read:stream | प्रवाह स्थिती, शीर्षक, श्रेणी |
read:viewers | दर्शक संख्या आणि यादी |
read:chat | चॅट संदेश (पुशर चॅनेलद्वारे) |
read:clips | /api/clips/{slug} द्वारे चॅनल क्लिप |
read:tournaments | /api/active-match/{id} द्वारे सक्रिय जुळणी माहिती |
read:channel | चॅनल प्रोफाइल, फॉलोअर्स, वेळापत्रक |
सुरक्षा आवश्यकता
sandbox="allow-scripts" सह सँडबॉक्स्ड iframe मध्ये चालतात. तुमचा विस्तार करू शकत नाही कुकीज, लोकल स्टोरेजमध्ये प्रवेश करू शकतो किंवा d1arena.com वर प्रमाणीकृत विनंत्या करा.
- सार्वजनिक HTTPS आवश्यक — तुमच्या iframe URL ने TLS वापरणे आवश्यक आहे आणि फक्त सार्वजनिक नेटवर्क पत्त्यांचे निराकरण करणे आवश्यक आहे.
- मानवी वाचनीय स्त्रोत — कोणतीही अस्पष्ट किंवा लहान-मात्र JavaScript नाही. समीक्षक तुमचा कोड वाचण्यास सक्षम असणे आवश्यक आहे.
- बाह्य स्क्रिप्ट लोड होत नाही तुमच्या सबमिशनमध्ये घोषित केल्याशिवाय. CDN लायब्ररी (jQuery, Chart.js, इ.) ठीक आहेत.
- डेटा एक्सफिल्टेशन नाही — विस्तारांनी दर्शक डेटा तृतीय-पक्ष विश्लेषण किंवा ट्रॅकिंग सेवांना पाठवू नये.
- सामग्री धोरण — कोणत्याही जाहिराती, NSFW सामग्री, क्रिप्टोकरन्सी खाण, किंवा दुर्भावनापूर्ण वर्तन नाही.
पुनरावलोकन प्रक्रिया
| स्थिती | अर्थ |
|---|---|
| pending | सबमिट केले, प्रशासक पुनरावलोकनाची प्रतीक्षा करत आहे (सामान्यत: 1-3 व्यवसाय दिवस). |
| approved | एक्स्टेंशन मार्केटप्लेसमध्ये मंजूर आणि दृश्यमान. |
| rejected | कारण देऊन नाकारले. समस्यांचे निराकरण करा आणि पुन्हा सबमिट करा. |
| suspended | धोरण उल्लंघनासाठी तात्पुरते काढले. समर्थनाशी संपर्क साधा. |
आवृत्ती अद्यतने
मंजूर विस्तार अपडेट करण्यासाठी, वर्तमान आवृत्ती हटवा आणि वाढीव आवृत्ती क्रमांकासह नवीन सबमिट करा. नवीन आवृत्ती पुन्हा पुनरावलोकनातून जाते.
चेंजलॉग
API बदल आणि नवीन वैशिष्ट्यांचा मागोवा घ्या. आम्ही सिमेंटिक आवृत्तीचे अनुसरण करतो आणि ब्रेकिंग बदल किमान 30 दिवस अगोदर घोषित करतो.
- API की प्रमाणीकरणासह प्रारंभिक सार्वजनिक API प्रकाशन.
- प्रवाह: थेट प्रवाहांची सूची करा, स्लगद्वारे स्ट्रीमर तपशील मिळवा.
- श्रेण्या: सर्व गेम श्रेणी शोधा आणि सूचीबद्ध करा.
- वापरकर्ते: स्पर्धात्मक आकडेवारी, ELO रेटिंग आणि पदकांच्या संख्येसह सार्वजनिक प्रोफाइल.
- क्लिप: स्ट्रीमर/निर्माता माहितीसह क्लिप तपशील ब्राउझ करा आणि पुनर्प्राप्त करा.
- स्पर्धा: सूची, स्थिती/लीगनुसार फिल्टर करा, सहभागी संख्या मिळवा.
- ELO लीडरबोर्ड: जागतिक आणि प्रति-श्रेणी रँक केलेले लीडरबोर्ड.
- लीग: स्टँडिंग आणि पॉइंट ब्रेकडाउनसह लीगची यादी करा.
- D1 उन्माद: कोणत्याही स्ट्रीमरसाठी रिअल-टाइम उन्माद स्थिती.
- वेबहुक्स (इव्हेंटसब): प्रवाह, चॅनेल, टूर्नामेंट, क्लिप आणि उन्माद इव्हेंटसह 12 इव्हेंट प्रकार.
- दर मर्यादा
मदत हवी आहे?
API बद्दल प्रश्न? आमच्याशी संपर्क साधा.