مجلة صناعة iGaming
العربية
MediaSoftware

المراهنات الرياضيةأدلة

كيف تعمل واجهة API لتغذية الاحتمالات، من اللقطة إلى التسوية

كيف تعمل واجهة API لتغذية احتمالات المراهنات: المواعيد والأسواق والنتائج، واللقطات والتحديثات التفاضلية، والتعليق، ووضع الرهانات وتسويتها، بشرح موجّه للمشغّلين.

تبدو شاشة منصة المراهنات ثابتة: قائمة مباريات وعمود أسعار. لكن تحتها، تغذية الاحتمالات سيل من آلاف التغييرات الصغيرة، ومهمة المشغّل تطبيق كل واحد منها بالترتيب الصحيح. يتتبّع هذا الدليل ذلك السيل من الطلب الأول حتى الرهان المُسوّى.

1. نموذج البيانات

تكاد كل التغذيات تستخدم التسلسل الهرمي نفسه:

  • الرياضة: كرة القدم، التنس، الرياضات الإلكترونية.
  • البطولة أو الدوري: الدوري الإنجليزي الممتاز، ATP طوكيو، بطولة العالم في League of Legends.
  • الحدث: مباراة واحدة، بوقت انطلاق ومشاركين.
  • السوق: سؤال واحد عن الحدث، مثل 1X2، أو أكثر/أقل من 2.5 هدف، أو هانديكاب الخرائط.
  • النتيجة: إجابة واحدة، بسعر وحالة (نشطة، معلّقة، مُسوّاة).

لكل عنصر معرّف ثابت. ومعظم أخطاء الربط تأتي من معاملة الأسماء كمعرّفات: فأسماء الفرق تتغيّر طريقة كتابتها، أما المعرّفات فلا.

2. اللقطة، ثم التحديثات التفاضلية

عند بدء التشغيل يطلب العميل لقطة: الحالة الحالية الكاملة. ومن ثَمّ يتلقّى تحديثات تفاضلية، رسائل صغيرة تقول “تحرّك هذا السعر”، “عُلّقت هذه السوق”، “بدأ هذا الحدث”.

التغذيات الجيدة ترقّم تحديثاتها. فـ Nocturn Sport مثلًا تصف تغذيتها بأنها لقطة كاملة إضافة إلى تحديثات تفاضلية مرقّمة الإصدارات. فإذا كان لدى العميل الإصدار N وتلقّى N+2، يعرف أن رسالة ضاعت فيعيد التحميل بدل عرض سعر قديم. أما التغذيات بلا أرقام إصدار فتُجبر العميل على التخمين، والتخمين هو ما ينتهي بمنصات تعرض احتمالات الأمس.

3. الدفع والسحب

قد يتغيّر سعر كرة القدم المباشرة عدة مرات في الدقيقة، ولذلك تعتمد التغذيات المباشرة عادةً دفع الرسائل عبر اتصال دائم. أما أسعار ما قبل المباراة فتتحرّك ببطء يكفي لجعل سحبها عبر HTTP كل بضع ثوانٍ مقبولًا في الغالب. ويشغّل كثير من المشغّلين الطريقتين: السحب لكتالوج ما قبل المباراة، والدفع للعب المباشر.

4. التعليق

التعليق هو أن تقول التغذية “لا تقبل رهانات على هذا الآن”. ومن مسبّباته الهدف، وركلة الجزاء، وكسر الإرسال، ونهاية خريطة، أو فقدان المورّد مصدر بياناته. ويجب أن يطبّق العميل التعليقات أسرع من أي شيء آخر؛ فقبول سعر في الثواني التي تلي هدفًا هو الطريقة التقليدية لخسارة المال.

وتُغلق أسواق ما قبل المباراة أيضًا قبل الانطلاق. فـ Nocturn Sport مثلًا تغلقها قبل البداية بدقيقة واحدة.

5. وضع الرهان

إذا تجاوزت الواجهة نشر الأسعار، فإن وضع الرهان يتبع نمطًا:

  1. يرسل العميل الاختيار والسعر الذي عرضه وقيمة الرهان، مع معرّف طلب فريد.
  2. يتحقّق الخادم من أن السعر لا يزال صالحًا والسوق مفتوحة.
  3. يقبل الرهان أو يرفضه أو يعرض سعرًا جديدًا.
  4. إذا فشلت الشبكة، يعيد العميل الإرسال بمعرّف الطلب نفسه، فيعيد الخادم الإجابة الأصلية بدل إنشاء رهان ثانٍ.

هذه الخطوة الأخيرة، عدم التكرار (idempotency)، تحمي رصيد اللاعب ودفاتر المشغّل معًا.

6. التسوية

حين ينتهي الحدث، تنشر التغذية النتائج لكل خيار: فائز، خاسر، ملغى، أو نصف فائز ونصف خاسر للخطوط المقسومة مثل الهانديكاب الآسيوي. وتسوّي المنصة كل رهان وفقها. وتحدث تصحيحات: فقد تُعدَّل نتيجة بعد المراجعة، ولذلك يجب أن تكون عملية التسوية قادرة على إعادة التسوية بشكل نظيف.

7. ما يجب اختباره قبل التشغيل

  • اقطع الاتصال في منتصف مباراة وتحقّق من الاستعادة.
  • أعِد تشغيل تحديث تفاضلي خارج الترتيب وتحقّق من أن العميل ينتبه.
  • ضع الرهان نفسه مرتين بمعرّف طلب واحد.
  • سوِّ رهانًا تراكميًا أحد أجزائه ملغى.

التغذية التي تجتاز هذه الاختبارات الأربعة جاهزة لعصر يوم سبت.

الأسئلة الشائعة

ما الفرق بين اللقطة (snapshot) والتحديث التفاضلي (delta)؟

اللقطة هي الحالة الكاملة الحالية لكل حدث وسوق وسعر. أما التحديث التفاضلي فلا يحتوي إلا على ما تغيّر منذ إصدار معيّن. يحمّل العميل اللقطة مرة واحدة، ثم يطبّق التحديثات التفاضلية بالترتيب.

لماذا تحمل التحديثات التفاضلية أرقام إصدار؟

كي يكتشف العميل أي فجوة. فإذا كان لديه الإصدار 1,204 ثم تلقّى 1,206، يعرف أن 1,205 مفقود وعليه إعادة التحميل بدل عرض سعر خاطئ.

لماذا تُعلَّق الأسواق؟

لأن السعر لم يعد آمنًا: هدف، أو بطاقة حمراء، أو كسر إرسال، أو انقطاع الاتصال بمصدر البيانات. والسوق المعلّقة ترفض الرهانات حتى تُعاد فتحها بسعر جديد.

هل تتولّى تغذية الاحتمالات وضع الرهانات؟

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

الدفع أم السحب: أي طريقة تسليم أفضل؟

الدفع (تدفّق رسائل أو socket) يناسب المراهنة المباشرة، حيث تتغيّر الأسعار كل ثانية. والسحب (الاستعلام الدوري عبر HTTP) أبسط وكافٍ في الغالب لما قبل المباراة.