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 | గేమ్/కేటగిరీ ID ద్వారా ఫిల్టర్ చేయండి |
limit | integer | ఒక్కో పేజీకి ఫలితాలు (డిఫాల్ట్: 20) |
page | integer | పేజీ సంఖ్య |
వర్గాలు
| పరామితి | టైప్ చేయండి | వివరణ |
|---|---|---|
search | string | పేరుతో వర్గాలను ఫిల్టర్ చేయండి |
limit | integer | ఒక్కో పేజీకి ఫలితాలు (డిఫాల్ట్: 50) |
వినియోగదారులు
క్లిప్లు
| పరామితి | టైప్ చేయండి | వివరణ |
|---|---|---|
streamer_id | integer | స్ట్రీమర్ యూజర్ ID ద్వారా క్లిప్లను ఫిల్టర్ చేయండి |
category_id | integer | గేమ్/కేటగిరీ ID ద్వారా ఫిల్టర్ చేయండి |
limit | integer | ఒక్కో పేజీకి ఫలితాలు (డిఫాల్ట్: 20) |
టోర్నమెంట్లు
| పరామితి | టైప్ చేయండి | వివరణ |
|---|---|---|
status | string | స్థితి ద్వారా ఫిల్టర్ చేయండి (ఉదా. open, in_progress, completed) |
league_id | integer | లీగ్ ID ద్వారా ఫిల్టర్ చేయండి |
limit | integer | ఒక్కో పేజీకి ఫలితాలు (డిఫాల్ట్: 20) |
ELO ర్యాంకింగ్లు
| పరామితి | టైప్ చేయండి | వివరణ |
|---|---|---|
category_id | integer | గేమ్/కేటగిరీ ID ద్వారా ఫిల్టర్ చేయండి |
limit | integer | ఫలితాల సంఖ్య (డిఫాల్ట్: 50) |
లీగ్లు
| పరామితి | టైప్ చేయండి | వివరణ |
|---|---|---|
status | string | లీగ్ స్థితిని బట్టి ఫిల్టర్ చేయండి |
category_id | integer | గేమ్/కేటగిరీ ID ద్వారా ఫిల్టర్ చేయండి |
limit | integer | ఒక్కో పేజీకి ఫలితాలు (డిఫాల్ట్: 20) |
లోపం ప్రతిస్పందనలు
అన్ని లోపాలు స్థిరమైన JSON ఎన్వలప్ను అందిస్తాయి. error వస్తువు ఎల్లప్పుడూ మెషిన్-రీడబుల్ code మరియు మానవులు చదవగలిగే messageని కలిగి ఉంటుంది.
స్థితి కోడ్లు
ఎర్రర్ కోడ్ల సూచన
| కోడ్ | HTTP స్థితి | వివరణ |
|---|---|---|
invalid_api_key | 401 | API కీ లేదు, తప్పుగా రూపొందించబడింది లేదా ఉనికిలో లేదు |
api_key_disabled | 403 | The API key has been revoked or disabled |
not_found | 404 | అభ్యర్థించిన వనరు కనుగొనబడలేదు |
validation_error | 422 | ఒకటి లేదా అంతకంటే ఎక్కువ అభ్యర్థన పరామితులు చెల్లవు |
rate_limited | 429 | Request rate limit exceeded for this API key |
server_error | 500 | అంతర్గత సర్వర్ లోపం — దయచేసి మళ్లీ ప్రయత్నించండి లేదా మద్దతును సంప్రదించండి |
రేట్ పరిమితులు
API అభ్యర్థనలు API కీకి రేట్-పరిమితం. మీరు పరిమితిని మించిపోయినప్పుడు, అభ్యర్థనలు Retry-After హెడర్తో 429 Too Many Requestsని అందిస్తాయి.
టైర్ వారీగా పరిమితులు
| టైర్ | అభ్యర్థనలు / నిమిషం (డిఫాల్ట్) | గరిష్ట కీలు |
|---|---|---|
| స్టార్టర్ (ఉచిత) | 60 | 5 |
| PRO | 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కి సభ్యత్వం పొందండి.
- సాధ్యమైన చోట బ్యాచ్ అభ్యర్థనలు — తక్కువ కాల్లలో మీకు అవసరమైన వాటిని పొందడానికి ఫిల్టర్ పారామితులను ఉపయోగించండి.
Webhooks (EventSub)
పోలింగ్కు బదులుగా నిజ-సమయ పుష్ నోటిఫికేషన్లకు సభ్యత్వం పొందండి. ఈవెంట్ సంభవించినప్పుడు, D1Arena HMAC-SHA256తో సంతకం చేసిన JSON పేలోడ్తో మీ కాల్బ్యాక్ URLకి HTTP పోస్ట్ను పంపుతుంది.
సెటప్
డెవలపర్ సెట్టింగ్లులో webhook సభ్యత్వాలను సృష్టించండి. Each subscription requires:
- కాల్ బ్యాక్ URL — మీ సర్వర్లో పబ్లిక్గా యాక్సెస్ చేయగల HTTPS ముగింపు స్థానం.
- ఈవెంట్స్ — సభ్యత్వం పొందడానికి ఒకటి లేదా అంతకంటే ఎక్కువ ఈవెంట్ రకాలు.
You'll receive a whsec_ signing secret upon creation. Store it securely — it's shown only once.
పేలోడ్ ఫార్మాట్
ప్రతి webhook డెలివరీ ఈ నిర్మాణంతో 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 ఫ్రెంజీ ఒక ఛానెల్లో ప్రారంభమైంది |
| overdrive.level_up | D1 ఫ్రెంజీ తదుపరి స్థాయికి చేరుకుంది |
| overdrive.ended | D1 ఫ్రెంజీ పూర్తయింది లేదా గడువు ముగిసింది |
ఈవెంట్ పేలోడ్ ఉదాహరణలు
stream.online
stream.offline
channel.follow
channel.tip
tournament.match.completed
clip.created
డెలివరీ & మళ్లీ ప్రయత్నించే విధానం
| ప్రయత్నం | ఆలస్యం | గమనికలు |
|---|---|---|
| 1వ (ప్రారంభ) | వెంటనే | ఈవెంట్ జరిగిన కొన్ని సెకన్లలో పంపబడింది |
| 2వ (మళ్లీ ప్రయత్నించండి) | 30 సెకన్లు | మొదటి ప్రయత్నం విఫలమైతే లేదా సమయం ముగిసినట్లయితే |
| 3వ (మళ్లీ ప్రయత్నించండి) | 2 నిమిషాలు | ఎక్స్పోనెన్షియల్ బ్యాక్ఆఫ్ |
| 4వ (ఫైనల్) | 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 డెవలపర్ సెట్టింగ్లు.
ఉత్తమ పద్ధతులు
- సంతకాలను ఎల్లప్పుడూ ధృవీకరించండి స్పూఫ్డ్ ఈవెంట్లను నిరోధించడానికి పేలోడ్లను ప్రాసెస్ చేసే ముందు.
- డీప్లికేషన్ కోసం డెలివరీ-ఐడిని ఉపయోగించండి — మళ్లీ అదే IDని పంపడానికి ప్రయత్నిస్తుంది, కాబట్టి డబుల్ ప్రాసెసింగ్ను నివారించడానికి ప్రాసెస్ చేసిన IDలను నిల్వ చేయండి.
- త్వరగా ప్రతిస్పందించండి, అసమకాలికంగా ప్రాసెస్ చేయండి — return
200 OKimmediately and handle business logic in a background job. - Use HTTPS endpoints only — webhook 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 నిమిషాలు.
Extension SDK
Build custom panel and overlay extensions that streamers can install on their channel pages. Extensions run in sandboxed iframes and communicate with the host page via postMessage.
ప్రారంభించడం
- డెవలపర్ సెట్టింగ్లులో API కీని సృష్టించండి.
- మీ డొమైన్లో హోస్ట్ చేయబడిన స్వతంత్ర HTML పేజీగా మీ పొడిగింపును రూపొందించండి (HTTPS అవసరం).
- దీన్ని నా పొడిగింపులు విభాగంలో సమీక్ష కోసం సమర్పించండి.
- Once approved, streamers can install it from the Extension Marketplace.
పొడిగింపు రకాలు
| టైప్ చేయండి | స్థానం | ప్రవర్తన |
|---|---|---|
panel | స్ట్రీమ్ ప్లేయర్ క్రింద | ప్రసారం ప్రత్యక్షంగా ఉన్నప్పుడు కనిపిస్తుంది. పూర్తి-వెడల్పు కార్డ్, 300px డిఫాల్ట్ ఎత్తు. |
overlay | వీడియో ప్లేయర్ మీదుగా | ప్రత్యక్షంగా ఉన్నప్పుడు కనిపిస్తుంది. ఓవర్లే పొజిషనింగ్ టూల్ ద్వారా స్ట్రీమర్ ద్వారా స్థానం/పరిమాణం నియంత్రించబడుతుంది. |
postMessage API
మీ పొడిగింపు లోడ్ అయినప్పుడు స్వయంచాలకంగా సందర్భ డేటాను స్వీకరిస్తుంది. Implement these events:
ప్రతి సందేశానికి ఖచ్చితమైన D1Arena పేరెంట్ మూలాన్ని ఉపయోగించండి. అధికారిక SDK పొందుపరిచే పేజీ నుండి ఈ మూలాన్ని స్వయంచాలకంగా పొందింది మరియు ధృవీకరిస్తుంది.
పొడిగింపు iframes ఉద్దేశపూర్వకంగా అపారదర్శక శాండ్బాక్స్ మూలాన్ని ఉపయోగిస్తున్నందున, D1Arena హోస్ట్ ఖచ్చితమైన నమోదు చేయబడిన iframe విండోను ప్రమాణీకరిస్తుంది. పొడిగింపు కోడ్ ఇప్పటికీ తప్పనిసరిగా మాతృ విండోను ప్రామాణీకరించాలి మరియు సందర్భాన్ని అంగీకరించే ముందు ఖచ్చితమైన D1Arena మూలాన్ని కలిగి ఉండాలి.
1. సిగ్నల్ సంసిద్ధత
2. Receive context
3. చర్యలను పంపండి (ఐచ్ఛికం)
Permission Scopes
మీ పొడిగింపుకు ఏ డేటా అవసరమో తెలియజేయండి. Reviewers verify your code matches your declared permissions.
| పరిధి | Grants Access To |
|---|---|
read:stream | స్ట్రీమ్ స్థితి, శీర్షిక, వర్గం |
read:viewers | Viewer count and list |
read:chat | చాట్ సందేశాలు (పుషర్ ఛానెల్ ద్వారా) |
read:clips | Channel clips via /api/clips/{slug} |
read:tournaments | /api/active-match/{id} ద్వారా సక్రియ సరిపోలిక సమాచారం |
read:channel | ఛానెల్ ప్రొఫైల్, అనుచరులు, షెడ్యూల్ |
Security Requirements
sandbox="allow-scripts"తో నడుస్తాయి. Your extension కుదరదు access cookies, localStorage, or make authenticated requests to d1arena.com.
- పబ్లిక్ HTTPS అవసరం — మీ iframe URL తప్పనిసరిగా TLSని ఉపయోగించాలి మరియు పబ్లిక్ నెట్వర్క్ చిరునామాలకు మాత్రమే పరిష్కరించాలి.
- మానవులు చదవగలిగే మూలం — అస్పష్టమైన లేదా కనిష్టీకరించబడిన-మాత్రమే జావాస్క్రిప్ట్ లేదు. సమీక్షకులు తప్పనిసరిగా మీ కోడ్ని చదవగలరు.
- బాహ్య స్క్రిప్ట్ లోడింగ్ లేదు మీ సమర్పణలో ప్రకటించకపోతే. CDN లైబ్రరీలు (jQuery, Chart.js, మొదలైనవి) బాగానే ఉన్నాయి.
- డేటా ఎక్స్ఫిల్ట్రేషన్ లేదు — పొడిగింపులు వీక్షకుల డేటాను మూడవ పక్ష విశ్లేషణలు లేదా ట్రాకింగ్ సేవలకు పంపకూడదు.
- కంటెంట్ విధానం — ప్రకటనలు, NSFW కంటెంట్, క్రిప్టోకరెన్సీ మైనింగ్ లేదా హానికరమైన ప్రవర్తన లేదు.
సమీక్ష ప్రక్రియ
| స్థితి | అర్థం |
|---|---|
| pending | సమర్పించబడింది, నిర్వాహక సమీక్ష కోసం వేచి ఉంది (సాధారణంగా 1-3 పని రోజులు). |
| approved | పొడిగింపు మార్కెట్ప్లేస్లో ఆమోదించబడింది మరియు కనిపిస్తుంది. |
| rejected | కారణంతో తిరస్కరించారు. సమస్యలను పరిష్కరించి, మళ్లీ సమర్పించండి. |
| suspended | విధాన ఉల్లంఘన కారణంగా తాత్కాలికంగా తీసివేయబడింది. మద్దతును సంప్రదించండి. |
సంస్కరణ నవీకరణలు
ఆమోదించబడిన పొడిగింపును నవీకరించడానికి, ప్రస్తుత సంస్కరణను తొలగించి, పెరిగిన సంస్కరణ సంఖ్యతో కొత్తదాన్ని సమర్పించండి. కొత్త వెర్షన్ మళ్లీ సమీక్షకు వెళుతుంది.
చేంజ్లాగ్
API మార్పులు మరియు కొత్త ఫీచర్లను ట్రాక్ చేయండి. మేము సెమాంటిక్ సంస్కరణను అనుసరిస్తాము మరియు కనీసం 30 రోజుల ముందుగానే బ్రేకింగ్ మార్పులను ప్రకటిస్తాము.
- API కీ ప్రమాణీకరణతో ప్రారంభ పబ్లిక్ API విడుదల.
- స్ట్రీమ్లు: లైవ్ స్ట్రీమ్లను జాబితా చేయండి, స్లగ్ ద్వారా స్ట్రీమర్ వివరాలను పొందండి.
- వర్గాలు: అన్ని గేమ్ వర్గాలను శోధించండి మరియు జాబితా చేయండి.
- వినియోగదారులు: పోటీ గణాంకాలు, ELO రేటింగ్ మరియు మెడల్ గణనలతో పబ్లిక్ ప్రొఫైల్లు.
- క్లిప్లు: స్ట్రీమర్/క్రియేటర్ సమాచారంతో క్లిప్ వివరాలను బ్రౌజ్ చేయండి మరియు తిరిగి పొందండి.
- టోర్నమెంట్లు: జాబితా, స్థితి/లీగ్ వారీగా ఫిల్టర్ చేయండి, పాల్గొనేవారి గణనలను పొందండి.
- ELO లీడర్బోర్డ్: గ్లోబల్ మరియు ఒక్కో కేటగిరీ ర్యాంక్ లీడర్బోర్డ్లు.
- లీగ్లు: స్టాండింగ్లు మరియు పాయింట్ బ్రేక్డౌన్లతో లీగ్లను జాబితా చేయండి.
- D1 ఉన్మాదం: ఏదైనా స్ట్రీమర్ కోసం రియల్ టైమ్ ఫ్రెంజీ స్థితి.
- Webhooks (EventSub): స్ట్రీమ్, ఛానెల్, టోర్నమెంట్, క్లిప్ మరియు ఫ్రెంజీ ఈవెంట్లతో సహా 12 ఈవెంట్ రకాలు.
- రేట్ పరిమితులు
సహాయం కావాలా?
API గురించి ప్రశ్నలు ఉన్నాయా? మమ్మల్ని సంప్రదించండి.