الإدارة

مرجع API

Enterprise

ادمج بيانات منظمتك مع أدوات خارجية، ومنصات تحليلات، وتطبيقات مخصصة باستخدام REST API الخاص بـ Enkelt.ai.

عنوان URL الأساسي

https://enkelt.ai/api/public/v1

يجب إرسال جميع طلبات API إلى عنوان URL الأساسي هذا. HTTPS مطلوب.

نظرة عامة سريعة

توفر واجهة برمجة تطبيقات Enkelt.ai وصولاً برمجيًا إلى بيانات منظمتك. استخدمها لبناء تكاملات مخصصة، أو مزامنة البيانات مع أنظمة خارجية، أو إنشاء سير عمل آلي.

مصادقة Bearer

صادق باستخدام مفاتيح API عبر ترويسة Authorization.

معدّل محدود

الطلبات محدودة المعدل حسب الخطة. Enterprise يحصل على 1,000 طلب/دقيقة.

تنسيق JSON

تستخدم جميع الطلبات والاستجابات تنسيق JSON. ترميز UTF-8 مطلوب.

المصادقة

تتطلب جميع طلبات API مصادقة باستخدام رمز Bearer. أنشئ مفاتيح API من قسم الامتثال > مفاتيح API في لوحة التحكم الخاصة بك.

ترويسة Authorization

HTTP Header
Authorization: Bearer sk_live_your_api_key_here

مثال على الطلب

cURL
curl -X GET "https://enkelt.ai/api/public/v1/players" \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json"

حافظ على أمان مفتاح API الخاص بك

لا تكشف مفتاح API الخاص بك أبدًا في كود جانب العميل، أو المستودعات العامة، أو السجلات. تعامل معه كأنه كلمة مرور. إذا تم اختراقه، ألغه فورًا وأنشئ مفتاحًا جديدًا.

تحديد المعدل

طلبات API محدودة المعدل لضمان الاستخدام العادل واستقرار النظام. تُطبَّق الحدود لكل مفتاح API وتُعاد ضبطها على أساس نافذة متجددة.

Free
الطلبات / الدقيقة
10
الطلبات / اليوم
100
Basic
الطلبات / الدقيقة
60
الطلبات / اليوم
1,000
Pro
الطلبات / الدقيقة
300
الطلبات / اليوم
10,000
Enterprise
الطلبات / الدقيقة
1,000
الطلبات / اليوم
100,000

ترويسات حد المعدل

تتضمن كل استجابة ترويسات تُظهر حالة حد المعدل الحالية لديك:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1703275200

نقاط النهاية المتاحة

توفر API وصولاً إلى الموارد التالية. تتطلب جميع نقاط النهاية مصادقة وتحترم الصلاحيات المخصصة لمفتاح API الخاص بك.

اللاعبون

GETplayers:read
/api/public/v1/playersعرض قائمة بجميع اللاعبين في منظمتك
GETplayers:read
/api/public/v1/players/{id}الحصول على لاعب معين حسب المعرّف
POSTplayers:write
/api/public/v1/playersإنشاء لاعب جديد
PATCHplayers:write
/api/public/v1/players/{id}تحديث لاعب موجود

التحقق من الدور

يجب أن يكون حقل الدور دورًا صالحًا للعبة الفريق. إذا لم يتم تعيين فريق، يتم التحقق من الأدوار مقابل أدوار لعبة "أخرى".

LoL: Top, Jungle, Mid, ADC, Support, Coach, Analyst, Substitute
Valorant: Duelist, Initiator, Controller, Sentinel, Flex, IGL, Coach, Analyst, Substitute
CS2: Entry Fragger, AWPer, Rifler, Support, Lurker, IGL, Coach, Analyst, Substitute
Other: Player, Captain, Coach, Analyst, Manager, Substitute

الفرق والجدول

GETteams:read
/api/public/v1/teamsعرض قائمة بجميع الفرق في منظمتك
GETroster:read
/api/public/v1/rosterالحصول على معلومات قائمة الفريق
GETschedule:read
/api/public/v1/scheduleالحصول على الجدول والمباريات القادمة

المواهب

GETprospects:read
/api/public/v1/prospectsعرض قائمة بجميع المواهب في مسارك
GETprospects:read
/api/public/v1/prospects/{id}الحصول على موهبة معينة
POSTprospects:write
/api/public/v1/prospectsإضافة موهبة جديدة
PATCHprospects:write
/api/public/v1/prospects/{id}تحديث تفاصيل الموهبة

العقود

GETcontracts:read
/api/public/v1/contractsعرض قائمة بجميع العقود
GETcontracts:read
/api/public/v1/contracts/{id}الحصول على تفاصيل العقد
GETcontracts:read
/api/public/v1/contracts/expiringالحصول على العقود التي توشك على الانتهاء

تنسيق الاستجابة

تتبع جميع استجابات API بنية JSON متسقة. تتضمن الاستجابات الناجحة البيانات والبيانات الوصفية، بينما تتضمن الأخطاء رموز الأخطاء والرسائل.

استجابة ناجحة

200 OK
{
  "success": true,
  "data": {
    "id": "player_abc123",
    "ign": "TenZ",
    "realName": "Tyson Ngo",
    "role": "Duelist",
    "teamId": "team_xyz789",
    "contractStatus": "active",
    "joinDate": 1705314600000
  },
  "meta": {
    "count": 1,
    "requestId": "req_xyz789",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

استجابة خطأ

4xx / 5xx
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Rate limit exceeded",
    "status": 429
  },
  "meta": {
    "requestId": "req_xyz789",
    "timestamp": "2024-01-15T10:30:00Z"
  }
}

رموز الأخطاء

عند حدوث خطأ، تُرجع API رمز حالة HTTP مناسبًا وجسم JSON بتفاصيل الخطأ.

INVALID_API_KEY401

مفتاح API مفقود أو غير صالح التنسيق

KEY_REVOKED403

تم إلغاء مفتاح API

KEY_EXPIRED403

انتهت صلاحية مفتاح API

INSUFFICIENT_PERMISSIONS403

يفتقر مفتاح API إلى الصلاحيات المطلوبة لهذه النقطة

VALIDATION_ERROR400

جسم الطلب يفتقد حقولاً مطلوبة أو يحتوي على قيم غير صالحة

INVALID_PARAMETER400

معامل استعلام يحتوي على قيمة غير صالحة

INVALID_ROLE400

الدور غير صالح للعبة الفريق. راجع الأدوار الصالحة لكل لعبة

RATE_LIMIT_EXCEEDED429

عدد كبير جدًا من الطلبات. انتظر وأعد المحاولة

NOT_FOUND404

المورد المطلوب غير موجود

INTERNAL_ERROR500

حدث خطأ غير متوقع في الخادم

الصلاحيات والنطاقات

يمكن تعيين صلاحيات محددة لمفاتيح API للحد مما يمكنها الوصول إليه من بيانات. استخدم دائمًا الحد الأدنى من الصلاحيات المطلوبة لتكاملك.

players:read

عرض ملفات اللاعبين وإحصاءاتهم ومعلوماتهم الأساسية

players:write

إنشاء ملفات اللاعبين وتحديثها

prospects:read

عرض المواهب في مسار مواهبك

prospects:write

إضافة المواهب وتحديثها

contracts:read

عرض تفاصيل العقود وتواريخ انتهائها

teams:read

عرض الفرق وتفاصيلها

roster:read

عرض معلومات قائمة الفريق وتعيينات اللاعبين

schedule:read

عرض الجدول القادم والمباريات والأحداث

أمثلة الكود

فيما يلي أمثلة على كيفية استخدام API بلغات البرمجة الشائعة.

JavaScript / Node.js

JavaScript / Node.js
const response = await fetch('https://enkelt.ai/api/public/v1/players', {
  headers: {
    'Authorization': 'Bearer sk_live_your_api_key',
    'Content-Type': 'application/json'
  }
});

const { data } = await response.json();
console.log(data); // Array of players

Python

Python
import requests

response = requests.get(
    'https://enkelt.ai/api/public/v1/players',
    headers={
        'Authorization': 'Bearer sk_live_your_api_key',
        'Content-Type': 'application/json'
    }
)

data = response.json()
print(data['data'])  # List of players

أفضل الممارسات

  • استخدم متغيرات البيئة لتخزين مفتاح API الخاص بك، ولا تكتبه مباشرة في الكود أبدًا
  • طبّق التراجع الأسي (exponential backoff) عند تلقي أخطاء حد المعدل (429)
  • خزّن الاستجابات مؤقتًا عند الإمكان لتقليل طلبات API
  • استخدم الحد الأدنى من الصلاحيات المطلوبة لمفتاح API الخاص بك
  • دوّر مفاتيح API بشكل دوري لأمان أفضل
  • راقب استخدام API الخاص بك في لوحة التحكم لتجنب الوصول إلى الحدود

بحاجة إلى مساعدة؟

تحقق من لوحة تحكم مفاتيح API لتحليلات الاستخدام والسجلات. إذا كنت تواجه مشكلات، تواصل مع فريق الدعم لدينا مع معرّف الطلب من استجابة الخطأ.