← العودة إلى المساعدة

الواجهة البرمجية العامة

وصول للقراءة فقط إلى بيانات المنافسات العامة. لا تتطلب مصادقة.

ملاحظات

  • الاستجابات مخزّنة مؤقتًا لمدة 60 ثانية (stale-while-revalidate).
  • CORS مفتوح: Access-Control-Allow-Origin: * على جميع مسارات /api/v0/*.
  • هذه v0، قد تتغير الواجهة البرمجية مع تطور المنصة.
  • تنطبق حدود المعدل؛ الاستخدام المعقول مقبول دائمًا.
GET /api/v0/events

يُعيد جميع المنافسات العامة عبر كل المؤسسات.

الحقول: league_id, event_id, league_name, event_name, competition_type, status, starts_at, ends_at, venue_city, champion_name.

مثال

https://league.asabya.com/api/v0/events
GET /api/v0/events/[eventId]/standings

يُعيد جدول الترتيب لمنافسة واحدة.

الحقول: rank, club_name, played, won, drawn, lost, goals_for, goals_against, points.

مثال

https://league.asabya.com/api/v0/events/YOUR_EVENT_ID/standings
GET /api/v0/events/[eventId]/bracket

يُعيد بيانات فتحات القوس لمنافسات خروج المغلوب.

الحقول: match_id, round_ordinal, side, team_id, bracket_role, source_match_id, source_outcome, status, winner_team_id.

مثال

https://league.asabya.com/api/v0/events/YOUR_EVENT_ID/bracket
POST /api/v0/follow

الاشتراك في تحديثات المنافسة بالبريد الإلكتروني. يُرسل بريد تأكيد برابط تفعيل.

الجسم: [org_id, league_id?, email]. يُعيد: [status: 'confirm_email_sent' | 'already_following'].

مثال

POST https://league.asabya.com/api/v0/follow
GET /api/v0/calendar/[eventId]

يُعيد ملف ICS لجميع مباريات منافسة. اشترك من أي تطبيق تقويم.

الاستجابة: text/calendar. حدث VEVENT لكل مباراة مع ملخص ووصف وتاريخ بداية ونهاية وموقع.

مثال

https://league.asabya.com/api/v0/calendar/YOUR_EVENT_ID
GET /api/v0/rsvp/[matchId]

يُعيد أعداد RSVP لمباراة حسب الحالة.

الاستجابة: [match_id, summary: [yes, no, maybe, pending]].

مثال

https://league.asabya.com/api/v0/rsvp/YOUR_MATCH_ID
POST /api/v0/rsvp/respond

تسجيل استجابة RSVP باستخدام رمز من بريد الدعوة.

الجسم: [token, status] حيث status هو 'yes' أو 'no' أو 'maybe'.

مثال

POST https://league.asabya.com/api/v0/rsvp/respond
POST /api/v0/register

إرسال طلب تسجيل لاعب لمؤسسة. لا يتطلب حسابًا.

الجسم: [org_id, division_id?, name, name_ar?, email, phone?, date_of_birth?, guardian_name?, guardian_phone?, notes?]. يُعيد: [status: 'submitted', id].

مثال

POST https://league.asabya.com/api/v0/register