முக்கிய உள்ளடக்கத்திற்கு செல்க
D1 Arena

D1 Arena

Loading...

D1 Arena

டெவலப்பர் ஏபிஐ

சமூகம்

டெவலப்பர் ஏபிஐ

D1Arena தரவுகளுடன் போட்கள், மேலடுக்குகள், ஸ்ட்ரீம் கருவிகள் மற்றும் ஒருங்கிணைப்புகளை உருவாக்கவும்.

அங்கீகாரம்

அனைத்து API கோரிக்கைகளுக்கும் X-API-Key / Authorization: Bearer தலைப்பில் API விசை அனுப்பப்பட வேண்டும்.

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

API விசையை உருவாக்க, உங்கள் டாஷ்போர்டில் டெவலப்பர் அமைப்புகள் க்குச் செல்லவும். நீங்கள் 5 விசைகள் வரை வைத்திருக்கலாம்.

ஏபிஐ கோரிக்கைகள் ஏபிஐ விசைக்கு வரம்பிடப்படும். நீங்கள் வரம்பை மீறினால், கோரிக்கைகள் Retry-After தலைப்புடன் 429 Too Many Requests திரும்பும்.

அடிப்படை URL

https://d1arena.com/api/v1

அனைத்து முடிவுப்புள்ளிகளும் JSON ஐ வழங்கும். பக்கவாட்டு முனைப்புள்ளிகளில் current_page, last_page மற்றும் total கொண்ட meta பொருள் அடங்கும்.

நீரோடைகள்

GET /streams
தற்போது லைவ் ஸ்ட்ரீம்களை பட்டியலிடுங்கள். பேஜினேஷன் மற்றும் வகை வடிகட்டலை ஆதரிக்கிறது.
அளவுருவகைவிளக்கம்
category_idintegerகேம்/வகை ஐடி மூலம் வடிகட்டவும்
limitintegerஒரு பக்கத்திற்கான முடிவுகள் (இயல்புநிலை: 20)
pageintegerபக்க எண்
பதில்
{ "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}
பயனர்பெயர் அல்லது ஸ்லக் மூலம் ஒரு ஸ்ட்ரீமரின் நேரடி நிலை மற்றும் ஸ்ட்ரீம் விவரங்களைப் பெறுங்கள்.
பதில்
{ "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" } }

வகைகள்

GET /categories
அனைத்து விளையாட்டு வகைகளையும் பட்டியலிடுங்கள். தேடல் மற்றும் பேஜினேஷனை ஆதரிக்கிறது.
அளவுருவகைவிளக்கம்
searchstringவகைகளை பெயரால் வடிகட்டவும்
limitintegerஒரு பக்கத்திற்கான முடிவுகள் (இயல்புநிலை: 50)
பதில்
{ "data": [ { "id": 5, "name": "Call of Duty", "slug": "call-of-duty", "image": "categories/cod.png" } ], "meta": { "total": 24 } }

பயனர்கள்

GET /users/{slug}
பயனர்பெயர் அல்லது ஸ்லக் மூலம் ஒரு வீரரின் பொது சுயவிவரம் மற்றும் போட்டி புள்ளிவிவரங்களைப் பெறுங்கள்.
பதில்
{ "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 } } }

கிளிப்புகள்

GET /clips
பொது கிளிப்களை பட்டியலிடுங்கள். ஸ்ட்ரீமர் மற்றும் வகை மூலம் வடிகட்டலை ஆதரிக்கிறது.
அளவுருவகைவிளக்கம்
streamer_idintegerஸ்ட்ரீமரின் பயனர் ஐடி மூலம் கிளிப்களை வடிகட்டவும்
category_idintegerகேம்/வகை ஐடி மூலம் வடிகட்டவும்
limitintegerஒரு பக்கத்திற்கான முடிவுகள் (இயல்புநிலை: 20)
பதில்
{ "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}
ஸ்லக் மூலம் ஒரு கிளிப்பின் விவரங்களைப் பெறுங்கள்.
பதில்
{ "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" } } }

போட்டிகள்

GET /tournaments
போட்டிகளை பட்டியலிடுங்கள். நிலை மற்றும் லீக் மூலம் வடிகட்டலை ஆதரிக்கிறது.
அளவுருவகைவிளக்கம்
statusstringநிலையின்படி வடிகட்டவும் (எ.கா. open, in_progress, completed)
league_idintegerலீக் ஐடி மூலம் வடிகட்டவும்
limitintegerஒரு பக்கத்திற்கான முடிவுகள் (இயல்புநிலை: 20)
பதில்
{ "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}
போட்டி விவரங்கள் மற்றும் பங்கேற்பாளர் எண்ணிக்கையைப் பெறுங்கள்.
பதில்
{ "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 } }

ELO தரவரிசை

GET /elo/leaderboard
ELO தரவரிசையில் உள்ள லீடர்போர்டைப் பெறுங்கள். விளையாட்டு வகையின்படி விருப்பமாக வடிகட்டவும்.
அளவுருவகைவிளக்கம்
category_idintegerகேம்/வகை ஐடி மூலம் வடிகட்டவும்
limitintegerமுடிவுகளின் எண்ணிக்கை (இயல்புநிலை: 50)
பதில்
{ "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 } }

கழகங்கள்

GET /leagues
விருப்ப நிலை மற்றும் வகை வடிப்பான்களுடன் லீக்குகளைப் பட்டியலிடுங்கள்.
அளவுருவகைவிளக்கம்
statusstringலீக் நிலையின்படி வடிகட்டவும்
category_idintegerகேம்/வகை ஐடி மூலம் வடிகட்டவும்
limitintegerஒரு பக்கத்திற்கான முடிவுகள் (இயல்புநிலை: 20)
பதில்
{ "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
லீக் நிலைகளைப் பெறுங்கள் (புள்ளிகள் அடிப்படையில் வீரர்களின் தரவரிசை).
பதில்
{ "data": [ { "id": 1, "points": 2400, "wins": 12, "losses": 3, "user": { "id": 42, "name": "ProGamer99", "user_slug": "progamer99" } } ], "meta": { "total": 48 } }

பிழை பதில்கள்

எல்லா பிழைகளும் ஒரு நிலையான JSON உறையை வழங்கும். error பொருளில் எப்பொழுதும் இயந்திரம் படிக்கக்கூடிய code மற்றும் மனிதனால் படிக்கக்கூடிய message உள்ளது.

பிழை பதில் வடிவம்
{ "success": false, "error": { "code": "not_found", "message": "The requested resource could not be found." } }
சரிபார்ப்பு பிழை வடிவம் (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."] } } }

நிலை குறியீடுகள்

200
சரி — கோரிக்கை வெற்றியடைந்தது. பதிலில் கோரப்பட்ட தரவு உள்ளது.
400
தவறான கோரிக்கை — கோரிக்கை தவறாக வடிவமைக்கப்பட்டுள்ளது அல்லது தேவையான அளவுருக்கள் இல்லை. விவரங்களுக்கு error.message ஐப் பார்க்கவும்.
401
அங்கீகரிக்கப்படாதது — Missing or invalid API key. Ensure you're passing a valid key in the X-API-Key header.
403
தடை செய்யப்பட்டது — உங்கள் API விசை முடக்கப்பட்டுள்ளது அல்லது இந்த ஆதாரத்திற்கான அனுமதி இல்லை. உங்கள் சரிபார்க்கவும் டெவலப்பர் அமைப்புகள்.
404
கிடைக்கவில்லை — கோரப்பட்ட ஆதாரம் இல்லை. ஸ்லக், ஐடி அல்லது எண்ட்பாயிண்ட் பாதையைச் சரிபார்க்கவும்.
422
சரிபார்ப்பு பிழை — கோரிக்கை அளவுருக்கள் சரிபார்ப்பு தோல்வியடைந்தது. error.errors ஆப்ஜெக்ட் புலப் பெயர்களை அவற்றின் குறிப்பிட்ட சிக்கல்களுக்கு வரைபடமாக்குகிறது.
429
ரேட் லிமிடெட் — பல கோரிக்கைகள். Retry-After தலைப்பு மீண்டும் முயற்சிக்கும் முன் எத்தனை வினாடிகள் காத்திருக்க வேண்டும் என்பதைக் குறிக்கிறது.
500
சர்வர் பிழை — எங்கள் தரப்பில் எதிர்பாராத பிழை ஏற்பட்டது. இது நீடித்தால், ஆதரவைத் தொடர்பு கொள்ளவும்.

பிழை குறியீடுகள் குறிப்பு

குறியீடுHTTP நிலைவிளக்கம்
invalid_api_key401API விசை காணவில்லை, தவறாக வடிவமைக்கப்பட்டுள்ளது அல்லது இல்லை
api_key_disabled403API விசை திரும்பப் பெறப்பட்டது அல்லது முடக்கப்பட்டது
not_found404கோரப்பட்ட ஆதாரத்தைக் கண்டறிய முடியவில்லை
validation_error422ஒன்று அல்லது அதற்கு மேற்பட்ட கோரிக்கை அளவுருக்கள் தவறானவை
rate_limited429இந்த API விசைக்கான கோரிக்கை விகித வரம்பை மீறியது
server_error500உள் சேவையகப் பிழை - மீண்டும் முயற்சிக்கவும் அல்லது ஆதரவைத் தொடர்பு கொள்ளவும்

விகித வரம்புகள்

ஏபிஐ கோரிக்கைகள் ஏபிஐ விசைக்கு வரம்பிடப்படும். நீங்கள் வரம்பை மீறினால், கோரிக்கைகள் Retry-After தலைப்புடன் 429 Too Many Requests திரும்பும்.

அடுக்கு வாரியாக வரம்புகள்

அடுக்குகோரிக்கைகள் / நிமிடம் (இயல்புநிலை)அதிகபட்ச விசைகள்
ஸ்டார்டர் (இலவசம்)605
PRO605
அல்டிமேட்605
பங்குதாரர்605

விகித வரம்பு தலைப்புகள்

ஏபிஐ கோரிக்கைகள் ஏபிஐ விசைக்கு வரம்பிடப்படும். நீங்கள் வரம்பை மீறினால், கோரிக்கைகள் Retry-After தலைப்புடன் 429 Too Many Requests திரும்பும்.

தலைப்புவிளக்கம்
Retry-Afterமீண்டும் முயற்சிக்கும் முன் காத்திருக்க வேண்டிய வினாடிகள் (429 பதில்களில் மட்டுமே உள்ளது)

சிறந்த நடைமுறைகள்

வரம்புக்குள் தங்குவதற்கான உதவிக்குறிப்புகள்:
  • Cache responses locally — stream and tournament data doesn't change every second.
  • வாக்கெடுப்பு முடிவுப் புள்ளிகளுக்குப் பதிலாக நிகழ் நேர நிகழ்வுகளுக்கு webhooksக்கு குழுசேரவும்.
  • முடிந்தவரை தொகுதி கோரிக்கைகள் — குறைந்த அழைப்புகளில் உங்களுக்குத் தேவையானதைப் பெற, வடிகட்டி அளவுருக்களைப் பயன்படுத்தவும்.

Webhooks (EventSub)

வாக்கெடுப்புக்குப் பதிலாக நிகழ்நேர புஷ் அறிவிப்புகளுக்கு குழுசேரவும். ஒரு நிகழ்வு நிகழும்போது, ​​HMAC-SHA256 உடன் கையொப்பமிடப்பட்ட JSON பேலோடைக் கொண்டு D1Arena ஒரு HTTP இடுகையை உங்கள் கால்பேக் URL க்கு அனுப்புகிறது.

அமைவு

டெவலப்பர் அமைப்புகள் இல் webhook சந்தாக்களை உருவாக்கவும். ஒவ்வொரு சந்தாவிற்கும் தேவை:

  • திரும்ப அழைக்கும் URL — உங்கள் சர்வரில் பொதுவில் அணுகக்கூடிய HTTPS எண்ட்பாயிண்ட்.
  • நிகழ்வுகள் — குழுசேர ஒன்று அல்லது அதற்கு மேற்பட்ட நிகழ்வு வகைகள்.

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

பேலோட் வடிவம்

ஒவ்வொரு வெப்ஹூக் டெலிவரியும் இந்த அமைப்புடன் ஒரு JSON உடலை அனுப்புகிறது:

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

தலைப்புகள்

ஒவ்வொரு டெலிவரியிலும் ரூட்டிங் மற்றும் சரிபார்ப்புக்கான பின்வரும் தலைப்புகள் உள்ளன:

தலைப்புவிளக்கம்
Content-Typeapplication/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க்கு நகர்த்துவதற்கு நடைமுறையில் இருக்கும் போது சந்தாவை மீண்டும் உருவாக்கவும்.

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'); });
மலைப்பாம்பு
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)

கிடைக்கும் நிகழ்வுகள்

நிகழ்வுவிளக்கம்
stream.onlineஒரு ஸ்ட்ரீமர் நேரலையில் சென்றது
stream.offlineஒரு ஸ்ட்ரீமர் ஆஃப்லைனில் சென்றது
channel.followஒரு பயனர் சேனலைப் பின்தொடர்ந்தார்
channel.subscribeசேனலில் புதிய ஆதரவாளர் சந்தா
channel.tipஸ்ட்ரீமருக்கு ஒரு உதவிக்குறிப்பு அனுப்பப்பட்டது
tournament.startedபோட்டியின் ஆட்டம் தொடங்கியது
tournament.endedஒரு போட்டி முடிந்தது
tournament.match.completedஒரு போட்டி முடிவு பதிவு செய்யப்பட்டது
clip.createdலைவ் ஸ்ட்ரீமில் இருந்து புதிய கிளிப் உருவாக்கப்பட்டது
overdrive.startedD1 Frenzy ஒரு சேனலில் தொடங்கியது
overdrive.level_upD1 ஃப்ரென்ஸி அடுத்த நிலைக்கு முன்னேறியது
overdrive.endedD1 Frenzy முடிந்தது அல்லது காலாவதியானது

நிகழ்வு பேலோட் எடுத்துக்காட்டுகள்

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

டெலிவரி & மீண்டும் முயற்சி கொள்கை

முயற்சிதாமதம்குறிப்புகள்
1வது (ஆரம்ப)உடனடியாகநிகழ்வு நடந்த சில நொடிகளில் அனுப்பப்பட்டது
2வது (மீண்டும் முயற்சிக்கவும்)30 வினாடிகள்முதல் முயற்சி தோல்வியடைந்தால் அல்லது நேரம் முடிந்தால்
3வது (மீண்டும் முயற்சிக்கவும்)2 நிமிடங்கள்அதிவேக பின்னடைவு
4வது (இறுதி)10 நிமிடங்கள்தோல்வி எனக் குறிக்கும் முன் கடைசி முயற்சி
Important: Your endpoint must respond with a 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 இறுதிப்புள்ளிகளை மட்டும் பயன்படுத்தவும் — webhook URLகள் TLSஐப் பயன்படுத்த வேண்டும். HTTP அழைப்புகள் நிராகரிக்கப்பட்டன.
  • தெரியாத நிகழ்வுகளை அழகாக கையாளுங்கள் — புதிய நிகழ்வு வகைகள் சேர்க்கப்படலாம். அறியப்படாத நிகழ்வுகளுக்குப் பிழையைக் காட்டிலும் 200 ஐத் திருப்பி அனுப்பவும்.

D1 வெறித்தனம்

ஸ்ட்ரீமர் நேரலையில் இருக்கும்போது டி1 ஃப்ரென்ஸி விரைவான உதவிக்குறிப்புகள் மற்றும் சந்தாக்களால் தூண்டப்படுகிறது. இது அதிகரிக்கும் இலக்குகளுடன் 5 நிலைகளில் முன்னேறுகிறது.

GET /api/overdrive/{streamerId}

ஸ்ட்ரீமருக்கு செயலில் உள்ள D1 ஃப்ரென்ஸியைப் பெறுங்கள். இல்லை எனில் {"active": false}ஐ வழங்கும்.

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

நிலை இலக்குகள்

நிலைபுள்ளிகள்
1100
2250
3500
41,000
52,000

D1 வெறித்தனம் — புள்ளிகள்: உதவிக்குறிப்பு $1 → 100; சந்தா 500 × அடுக்கு. கால அளவு: 5 நிமிடங்கள்; கூல்டவுன்: 30 நிமிடங்கள்.

நீட்டிப்பு SDK

ஸ்ட்ரீமர்கள் தங்கள் சேனல் பக்கங்களில் நிறுவக்கூடிய தனிப்பயன் பேனல் மற்றும் மேலடுக்கு நீட்டிப்புகளை உருவாக்கவும். நீட்டிப்புகள் சாண்ட்பாக்ஸ் செய்யப்பட்ட iframes இல் இயங்குகின்றன மற்றும் postMessage வழியாக ஹோஸ்ட் பக்கத்துடன் தொடர்பு கொள்கின்றன.

தொடங்குதல்

  1. டெவலப்பர் அமைப்புகள் இல் API விசையை உருவாக்கவும்.
  2. உங்கள் டொமைனில் ஹோஸ்ட் செய்யப்பட்ட ஒரு முழுமையான HTML பக்கமாக உங்கள் நீட்டிப்பை உருவாக்கவும் (HTTPS தேவை).
  3. எனது நீட்டிப்புகள் பிரிவில் மதிப்பாய்விற்குச் சமர்ப்பிக்கவும்.
  4. அங்கீகரிக்கப்பட்டதும், ஸ்ட்ரீமர்கள் அதை நீட்டிப்பு சந்தையிலிருந்து நிறுவலாம்.

நீட்டிப்பு வகைகள்

வகைஇடம்நடத்தை
panelஸ்ட்ரீம் பிளேயருக்கு கீழேஸ்ட்ரீம் நேரலையில் இருக்கும்போது தெரியும். முழு அகல அட்டை, 300px இயல்புநிலை உயரம்.
overlayவீடியோ பிளேயர் மீதுநேரலையில் தெரியும். மேலடுக்கு பொருத்துதல் கருவி மூலம் ஸ்ட்ரீமரால் நிலை/அளவு கட்டுப்படுத்தப்படுகிறது.

postMessage API

உங்கள் நீட்டிப்பு ஏற்றப்படும் போது தானாகவே சூழல் தரவைப் பெறுகிறது. இந்த நிகழ்வுகளை செயல்படுத்தவும்:

ஒவ்வொரு செய்திக்கும் சரியான D1Arena பெற்றோர் மூலத்தைப் பயன்படுத்தவும். உத்தியோகபூர்வ SDK உட்பொதிப்புப் பக்கத்திலிருந்து இந்த தோற்றத்தை தானாகவே பெறுகிறது மற்றும் சரிபார்க்கிறது.

நீட்டிப்பு iframes வேண்டுமென்றே ஒளிபுகா சாண்ட்பாக்ஸ் மூலத்தைப் பயன்படுத்துவதால், D1Arena ஹோஸ்ட் துல்லியமாக பதிவுசெய்யப்பட்ட iframe சாளரத்தை அங்கீகரிக்கிறது. நீட்டிப்புக் குறியீடு இன்னும் பெற்றோர் சாளரத்தை அங்கீகரிக்க வேண்டும் மற்றும் சூழலை ஏற்கும் முன் D1Arena மூலத்தை சரியாக அங்கீகரிக்க வேண்டும்.

1. சிக்னல் தயார்நிலை

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

2. சூழலைப் பெறுங்கள்

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. செயல்களை அனுப்பு (விரும்பினால்)

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

அனுமதி நோக்கங்கள்

உங்கள் நீட்டிப்புக்கு என்ன தரவு தேவை என்பதை அறிவிக்கவும். மதிப்பாய்வாளர்கள் உங்கள் குறியீடு நீங்கள் அறிவித்த அனுமதிகளுடன் பொருந்துகிறது என்பதைச் சரிபார்க்கிறார்கள்.

நோக்கம்அணுகலை வழங்குகிறது
read:streamஸ்ட்ரீம் நிலை, தலைப்பு, வகை
read:viewersபார்வையாளர் எண்ணிக்கை மற்றும் பட்டியல்
read:chatஅரட்டை செய்திகள் (புஷர் சேனல் வழியாக)
read:clips/api/clips/{slug} வழியாக சேனல் கிளிப்புகள்
read:tournaments/api/active-match/{id} மூலம் செயலில் உள்ள பொருத்தத் தகவல்
read:channelசேனல் சுயவிவரம், பின்தொடர்பவர்கள், அட்டவணை

பாதுகாப்பு தேவைகள்

நீட்டிப்புகள் சாண்ட்பாக்ஸ் செய்யப்பட்ட iframe இல் sandbox="allow-scripts" உடன் இயங்கும். உங்கள் நீட்டிப்பு முடியாது குக்கீகள், லோக்கல் ஸ்டோரேஜ் ஆகியவற்றை அணுகலாம் அல்லது அங்கீகரிக்கப்பட்ட கோரிக்கைகளை d1arena.com க்கு அனுப்பலாம்.
  • பொது HTTPS தேவை — உங்கள் iframe URL TLS ஐப் பயன்படுத்த வேண்டும் மற்றும் பொது நெட்வொர்க் முகவரிகளுக்கு மட்டுமே தீர்க்க வேண்டும்.
  • மனிதர்கள் படிக்கக்கூடிய ஆதாரம் — தெளிவற்ற அல்லது சிறிதாக்கப்பட்ட ஜாவாஸ்கிரிப்ட் இல்லை. மதிப்பாய்வாளர்கள் உங்கள் குறியீட்டைப் படிக்க வேண்டும்.
  • வெளிப்புற ஸ்கிரிப்ட் ஏற்றப்படவில்லை உங்கள் சமர்ப்பிப்பில் அறிவிக்கப்பட்டாலன்றி. CDN நூலகங்கள் (jQuery, Chart.js, முதலியன) நன்றாக உள்ளன.
  • தரவு வெளியேற்றம் இல்லை — நீட்டிப்புகள் பார்வையாளர் தரவை மூன்றாம் தரப்பு பகுப்பாய்வு அல்லது கண்காணிப்பு சேவைகளுக்கு அனுப்பக்கூடாது.
  • உள்ளடக்கக் கொள்கை — விளம்பரங்கள், NSFW உள்ளடக்கம், கிரிப்டோகரன்சி சுரங்கம் அல்லது தீங்கிழைக்கும் நடத்தை இல்லை.

மதிப்பாய்வு செயல்முறை

நிலைபொருள்
pendingசமர்ப்பிக்கப்பட்டது, நிர்வாகி மதிப்பாய்வுக்காகக் காத்திருக்கிறது (பொதுவாக 1-3 வணிக நாட்கள்).
approvedஅங்கீகரிக்கப்பட்டது மற்றும் நீட்டிப்பு சந்தையில் தெரியும்.
rejectedகாரணத்துடன் நிராகரிக்கப்பட்டது. சிக்கல்களைச் சரிசெய்து மீண்டும் சமர்ப்பிக்கவும்.
suspendedகொள்கை மீறலுக்காக தற்காலிகமாக அகற்றப்பட்டது. ஆதரவைத் தொடர்பு கொள்ளவும்.

பதிப்பு புதுப்பிப்புகள்

அங்கீகரிக்கப்பட்ட நீட்டிப்பைப் புதுப்பிக்க, தற்போதைய பதிப்பை நீக்கிவிட்டு, அதிகரித்த பதிப்பு எண்ணுடன் புதிய ஒன்றைச் சமர்ப்பிக்கவும். புதிய பதிப்பு மீண்டும் மதிப்பாய்வு செய்யப்படுகிறது.

சேஞ்ச்லாக்

API மாற்றங்கள் மற்றும் புதிய அம்சங்களைக் கண்காணிக்கவும். நாங்கள் சொற்பொருள் பதிப்பைப் பின்பற்றி, குறைந்தது 30 நாட்களுக்கு முன்னதாகவே மாற்றங்களை அறிவிக்கிறோம்.

v1.0மார்ச் 2026
  • ஏபிஐ விசை அங்கீகாரத்துடன் ஆரம்ப பொது ஏபிஐ வெளியீடு.
  • ஸ்ட்ரீம்கள்: லைவ் ஸ்ட்ரீம்களைப் பட்டியலிடுங்கள், ஸ்லக் மூலம் ஸ்ட்ரீமர் விவரங்களைப் பெறுங்கள்.
  • வகைகள்: அனைத்து விளையாட்டு வகைகளையும் தேடி பட்டியலிடவும்.
  • பயனர்கள்: போட்டி புள்ளிவிவரங்கள், ELO மதிப்பீடு மற்றும் பதக்க எண்ணிக்கைகள் கொண்ட பொது சுயவிவரங்கள்.
  • கிளிப்கள்: ஸ்ட்ரீமர்/கிரியேட்டர் தகவலுடன் கிளிப் விவரங்களை உலாவவும் மீட்டெடுக்கவும்.
  • போட்டிகள்: பட்டியல், நிலை/லீக் மூலம் வடிகட்டவும், பங்கேற்பாளர் எண்ணிக்கையைப் பெறவும்.
  • ELO லீடர்போர்டு: உலகளாவிய மற்றும் ஒவ்வொரு வகைக்கும் தரவரிசைப்படுத்தப்பட்ட லீடர்போர்டுகள்.
  • லீக்குகள்: நிலைகள் மற்றும் புள்ளி முறிவுகளுடன் லீக்குகளைப் பட்டியலிடுங்கள்.
  • D1 ஃப்ரென்ஸி: எந்த ஸ்ட்ரீமருக்கும் நிகழ்நேர ஃப்ரென்ஸி நிலை.
  • Webhooks (EventSub): ஸ்ட்ரீம், சேனல், போட்டி, கிளிப் மற்றும் ஃப்ரென்ஸி நிகழ்வுகள் உட்பட 12 நிகழ்வு வகைகள்.
  • விகித வரம்புகள்

உதவி தேவையா?

API பற்றிய கேள்விகள்? எங்களை தொடர்பு கொள்ளவும்.