وثائق التحكم في الدخول

أي جهاز يدعم HTTPS

إذا كانت وحدة التحكم أو الوسيط أو سكربت صغير يستطيع إرسال طلب HTTPS واحد عند كل لمسة وفتح الباب بحسب الرد، فهو يعمل مع Chronix Hub اليوم. لا جسر ربط تنتظره.

يعمل اليوميعمل مع أي شيء يستطيع استدعاء واجهة ويب.

آخر تحديث: أكتوبر 2026

نظرة سريعة

الحالة
يعمل اليوم
الجهاز
وحدات تحكم، منصات تحكم في الدخول، سكربت على حاسوب أو Raspberry Pi
ما يستخدمه الأعضاء
بطاقات، وجوه (معرّف الجهاز)، QR، رمز PIN لمرة واحدة
المتطلبات
HTTPS إلى api.chronixhub.com ورمز Bearer

كيف يتصل

  1. العضو يمرّر أو يكتب أو يعرض وجهه
  2. وحدة التحكم أو السكربت
  3. POST /api/v1/access/verify
  4. يُفتح الباب فقط عند granted: true

يوفّر Chronix Hub نقطة وصول واحدة محايدة تجاه الشركات المصنّعة. يرسل جهازك (أو الصندوق الذي أمامه) معرّف الجهاز وبيانات الاعتماد التي قرأها للتو. يجيب Chronix Hub بقرار وسبب، ولا يفتح الجهاز إلا عند «نعم» صريحة.

المصادقة بمفتاح جهاز من نوع Bearer. كل مفتاح يخص جهازًا واحدًا ولا يستطيع إلا طرح أسئلة التحكم في الدخول، فلا يتيح مفتاح مسرَّب قراءة بيانات الأعضاء.

ما الذي يُعدّ داعمًا لـ HTTPS

الاختبار بسيط: هل يستطيع استدعاء واجهة ويب عند كل محاولة دخول والتصرف بحسب الرد؟

  • منصات ووحدات تحكم في الدخول لديها خطوة قرار عبر HTTP أو webhook.
  • وسيط أو خدمة مخصصة من المدمج بين القارئ والقفل.
  • سكربت صغير على حاسوب أو Raspberry Pi بجوار القارئ، مع مرحّل نحو القفل.
  • جهاز وجه يستطيع وسيطه إرسال معرّفه الخاص بالشخص.
  • الأجهزة التي تتحدث بروتوكولها الخاص فقط لا تدعم HTTPS بذاتها. راجع صفحات ZKTeco وHikvision وSuprema وKisi.

ما الذي يمكن للأعضاء استخدامه

أي شيء يستطيع جهازك قراءته، ما دام يرسل أحد أنواع بيانات الاعتماد هذه.

بطاقة

رقم البطاقة كما يقرؤه القارئ. أضف الرقم نفسه أولًا في تبويب «الدخول» لدى العضو.

الوجه

معرّف الجهاز الخاص بالشخص، مربوطًا بالعضو. لا تُخزَّن صور أو بيانات بيومترية في Chronix Hub.

بطاقة QR

قارئ يمسح رموز QR يرسل النص الكامل الممسوح بنوع qr. يعرضه العضو من «عضوياتي». يتجدد كل 30 ثانية ويعمل مرة واحدة.

رمز PIN لمرة واحدة

لوحة مفاتيح ترسل الرمز المكوّن من 6 أرقام الذي كتبه العضو بنوع pin. يأتي الرمز من «إظهار PIN» في البوابة، ويدوم 5 دقائق ويعمل مرة واحدة.

اربطه خطوة بخطوة

ستحتاج إلى صلاحية الإدارة وإلى الشخص الذي يضبط الجهاز.

  1. أنشئ الباب والجدول

    تبويب «الأبواب»: سمِّ الباب واختر جدولًا وحدّد منع التمرير المزدوج. راجع النظرة العامة للتفاصيل.

  2. أضف الجهاز

    تبويب «الأجهزة»، «إضافة جهاز». سمِّه، واختر الشركة المصنّعة «أخرى» (أي جهاز يستطيع استدعاء واجهة ويب) والباب. أضف عنوان IP العام للنادي إلى قائمة السماح.

  3. انسخ المفتاح ومعرّف الجهاز

    يظهر المفتاح مرة واحدة. احفظه في مخزن أسرار الجهاز لا في مستند مشترك. ويدخل معرّف الجهاز (أو اسمه بالضبط) في كل طلب.

  4. اجعل الجهاز يرسل POST عند كل لمسة

    أرسل الطلب أدناه إلى نقطة التحقق مع المفتاح كرمز Bearer. افتح الباب فقط عندما يكون الرد 200 مع granted: true.

  5. أرسل نبضة اتصال

    اختياريًا: أرسل إلى نقطة نبضة الاتصال نحو مرة كل دقيقة ليعرض تبويب «الأجهزة» حالة «متصل» (سُمع منه خلال آخر دقيقتين).

  6. جرّب ببطاقة حقيقية

    مرّر بطاقة عضو وراقب السجل المباشر. يجب أن ترى المحاولة وسببها خلال ثوانٍ.

الواجهة في شاشة واحدة

هذا هو العقد الكامل الذي يحتاجه الجهاز. deviceId هو معرّف الجهاز أو اسمه بالضبط. والمرجع الكامل في وثائق الواجهة.

اسأل: هل يمكن لهذه البطاقة الدخول؟
curl -X POST https://api.chronixhub.com/api/v1/access/verify   -H "Authorization: Bearer $CHRONIX_DEVICE_KEY"   -H "Content-Type: application/json"   -d '{
    "deviceId": "Front turnstile",
    "credential": { "type": "card", "value": "0012345678" }
  }'
الإجابة: نعم
HTTP 200
{
  "granted": true,
  "reason": "active_membership",
  "memberId": "clx...",
  "memberName": "Sara Haddad",
  "expiresAt": "2026-12-31T23:59:59.000Z",
  "displayMessage": "Welcome, Sara"
}
الإجابة: لا، مع السبب
HTTP 200
{
  "granted": false,
  "reason": "membership_frozen",
  "displayMessage": "Membership is frozen"
}

أنواع بيانات الاعتماد

أرسل بيانات اعتماد واحدة بالضبط في كل طلب.

نوع بيانات الاعتمادالقيمة المطلوب إرسالها
cardرقم البطاقة كما يقرؤه القارئ.
pinالرمز المكوّن من 6 أرقام لمرة واحدة الذي كتبه العضو.
faceمعرّف الجهاز الخاص بالشخص.
qrالنص الكامل الذي مسحه القارئ من رمز QR الخاص بالعضو.
نبضة الاتصال (اختيارية)
curl -X POST https://api.chronixhub.com/api/v1/access/heartbeat   -H "Authorization: Bearer $CHRONIX_DEVICE_KEY"   -H "Content-Type: application/json"   -d '{ "deviceId": "Front turnstile", "firmwareVersion": "1.4.2" }'

HTTP 200
{ "ok": true, "serverTime": "2026-10-21T08:30:00.000Z" }
فتح الباب بأمان
// Open the door ONLY on an explicit yes. Everything else is "no".
const res = await fetch("https://api.chronixhub.com/api/v1/access/verify", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.CHRONIX_DEVICE_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ deviceId, credential: { type, value } }),
});
const open = res.status === 200 && (await res.json()).granted === true;
if (open) unlockDoor();

قواعد يجب أن يلتزم بها تكاملك

  • فقط HTTP 200 مع granted: true يفتح الباب. عامل كل حالة أخرى وكل انتهاء مهلة على أنه «لا».
  • كل قرار، بما فيه الرفض، يعود بـ 200. أي حالة غير 200 تعني مشكلة في الطلب أو المفتاح: 400 أو 401 أو 403 أو 404 أو 429 أو 5xx.
  • لا تضع المفتاح أبدًا في سلسلة استعلام أو عنوان URL. استخدم ترويسة Authorization.
  • اعرض displayMessage على شاشة الجهاز إن وُجدت. هي قصيرة وآمنة للعرض.
  • رمز PIN المرفوض لا يتضمن اسم عضو أبدًا، فلا تتوقعه.
  • التزم بالحالة 429 بالانتظار قبل إعادة المحاولة. الحد الافتراضي 60 محاولة في الدقيقة لكل جهاز.
  • الفتح عند الانقطاع إعداد لحالة عجز الجهاز عن الوصول إلى Chronix Hub إطلاقًا. خطأ الخادم ليس إذنًا بالفتح أبدًا.
افتح مرجع واجهة API الكامل

استكشاف الأخطاء وإصلاحها

ما تراهالسبب المرجّحالحل
401 من استدعاء التحققالمفتاح مفقود أو خاطئ أو أُعيد توليده.انسخ المفتاح الحالي مجددًا، أو أعد توليد المفتاح وحدّث الجهاز.
403 من استدعاء التحققعنوان IP خارج قائمة السماح، أو نوع مفتاح خاطئ، أو التحكم في الدخول غير مشمول في خطة النادي.طابق قائمة السماح مع عنوان IP العام للنادي وتأكد من الخطة.
404 من استدعاء التحققمعرّف الجهاز أو الباب لا يطابق هذا المفتاح.استخدم معرّف الجهاز أو اسمه بالضبط، وسمِّ بابه هو فقط.
400 validation_failedالجسم مشوّه، أو المفتاح في سلسلة الاستعلام.أرسل JSON يحتوي deviceId وcredential، والمفتاح في الترويسة فقط.
429 في أوقات الذروةبلغ الجهاز حدّه في الدقيقة.ارفع الحد للجهاز في الإدارة (حتى 600).
دائمًا unknown_credentialالبطاقة غير مسجّلة أو أُلغيت أو أن صيغة الرقم مختلفة.أضف بيانات الاعتماد في «الدخول» بالرقم تمامًا كما يرسله القارئ.
الجهاز يظهر غير متصللا لمسة ولا نبضة اتصال خلال دقيقتين.تحقق من الاتصال ومهمة نبضة الاتصال.

ما الذي تسأله للمُركِّب

أرسل هذه القائمة قبل أن يقدّم عرض السعر.

  • هل تستطيع وحدة التحكم أو الوسيط إرسال HTTPS POST برمز Bearer عند كل محاولة دخول والفتح بحسب الرد؟
  • هل يمكنه إرسال رقم بطاقة ورمز مكتوب ومعرّف جهاز وجه ورمز QR ممسوح كقيمة لبيانات الاعتماد؟
  • هل سيعامل كل خطأ وانتهاء مهلة وحالة غير 200 على أنه رفض؟
  • هل يستطيع إرسال نبضة اتصال كل دقيقة تقريبًا؟
  • أين سيُخزَّن مفتاح الجهاز، ومن يستطيع قراءته؟
  • ما عنوان IP العام للنادي لنضيفه إلى قائمة السماح؟

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

هل يجب أن أكون مطوّرًا؟

يجب أن يضبط أحدهم الجهاز أو يكتب السكربت الصغير. كثير من منصات التحكم في الدخول تفعل ذلك بالإعدادات وحدها. وإن لم تستطع منصتك، يمكن لمدمج بناؤه وفق العقد أعلاه.

هل يوجد تكامل رسمي لعلامتي التجارية؟

لا يضم Chronix Hub تكاملات مع الشركات المصنّعة اليوم، وليس شريكًا رسميًا لأي مصنّع أجهزة. أي شيء يستطيع استدعاء الواجهة المفتوحة يعمل.

هل يمكنني التجربة دون باب حقيقي؟

نعم. أنشئ جهازًا وأرسل طلب curl ببطاقة أضفتها وراقب السجل المباشر. الواجهة هي نفسها.

ما سرعة الإجابة؟

تستغرق الإجابة المعتادة بضعة أجزاء من مئة من الثانية في بيئة الإنتاج، إضافة إلى زمن شبكتك إلى الواجهة.

وماذا عن أجهزة الوجه؟

يرسل الجهاز أو وسيطه معرّفه الخاص بالشخص بنوع face. تربطه بعضو من «الدخول»، «إضافة بيانات اعتماد»، «الوجه». يمكن إبلاغ نقطة التسجيلات بالوجوه التي يحتفظ بها الجهاز ولم تربطها، فتظهر في «التسجيلات المعلّقة».

هل يمكن للعضو نفسه استخدام بطاقة وPIN؟

نعم. منع التمرير المزدوج يتم لكل عضو لا لكل بيانات اعتماد، فبطاقة يتبعها PIN عند الباب نفسه خلال النافذة تُرفض.

طرق ربط أخرى

العودة إلى نظرة عامة على التحكم في الدخول

أسماء المنتجات ملك لأصحابها. Chronix Hub ليست شريكًا معتمدًا أو رسميًا لأي مصنّع أجهزة ولا تبيع أجهزة.

هل تريد رؤية التحكم في الدخول على ناديك؟

احجز عرضًا توضيحيًا قصيرًا وسنراجع معك بابك وأجهزتك وخطط العضوية.