صادِق، واسحب الحضور، وسجّل بصمة، وافتح بابًا — بأمثلة جاهزة للنسخ واللصق باللغة التي تستخدمها بالفعل.
البدء السريع
أنشئ حسابًا على بوابة المطورين واقرن جهازك بالرقم التسلسلي. ستحصل على AuthToken.
مرّر AuthToken مع كل استدعاء. فهو يقيّد الوصول بحسابك والجهاز المحدد.
ابدأ بـ GetAttendanceByDate للتأكد من تدفق البيانات، ثم انتقل إلى التسجيل والتحكم في الدخول.
https://api.camsbiometrics.com/v3/
# Fetch attendance for a date range curl https://api.camsbiometrics.com/v3/attendance/getbyscandate \ -d "AuthToken=$API_KEY" \ -d "StartDate=2026-06-01" \ -d "EndDate=2026-06-21"
$ch = curl_init("https://api.camsbiometrics.com/v3/attendance/getbyscandate"); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => [ "AuthToken" => $apiKey, "StartDate" => "2026-06-01", "EndDate" => "2026-06-21", ], ]); $data = json_decode(curl_exec($ch), true);
import requests r = requests.post( "https://api.camsbiometrics.com/v3/attendance/getbyscandate", data={ "AuthToken": api_key, "StartDate": "2026-06-01", "EndDate": "2026-06-21", }, ) logs = r.json()["Attendance"]
const res = await fetch( "https://api.camsbiometrics.com/v3/attendance/getbyscandate", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: new URLSearchParams({ AuthToken: apiKey, StartDate: "2026-06-01", EndDate: "2026-06-21", }), } ); const { Attendance } = await res.json();
ينطبق النمط نفسه على كل عملية — غيّر المسار والمعاملات فقط.
وصفات شائعة
curl .../v3/user/add \ -d "AuthToken=$K" \ -d "DeviceSN=ZK6A2300583" \ -d "EmployeeCode=1042" \ -d "Name=Priya"
curl .../v3/access/opendoor \ -d "AuthToken=$K" \ -d "DeviceSN=ZK6A2300583" \ -d "DoorNo=1"
curl .../v3/callback/register \ -d "AuthToken=$K" \ -d "Url=https://app/hook" \ -d "Events=attendance.new"
لا تضمّن AuthToken في شيفرة جهة العميل أبدًا. مرّر الاستدعاءات عبر خادمك الخلفي.
تعيد البوابة المحاولة إلى أن تعيد 200. أزل التكرار بالاعتماد على معرّف الحدث لتكون إعادة المحاولة آمنة.
إذا كان الجهاز غير متصل ستحصل على 409؛ ويوضع الأمر في قائمة الانتظار. استعلم عن GetCommandStatus دوريًا.
الاختبار المحلي
يقع جهاز التطوير لديك خلف جدار حماية، لذا لا تستطيع البوابة الوصول إلى localhost مباشرةً. اكشفه عبر نفق (tunnel)، ووجّه عنوان Callback URL إلى العنوان العام، ثم أطلق بصمة حضور تجريبية.
200# 1. install & authenticate ngrok ngrok config add-authtoken $TOKEN # 2. expose your local app (e.g. port 3000) ngrok http 3000 # Forwarding https://abc123.ngrok-free.app -> localhost:3000 # 3. set that HTTPS URL as your Callback URL
# Cams ngrok helper kit (Windows) # download: developer.camsbiometrics.com/setup/ngrok-helper-kit.rar # then: edit app.properties # add your ngrok authtoken run check_ngrok.bat
اربط جهازًا
تتحدث معظم أجهزة الحضور الطرفية (ZKTeco وeSSL والمتوافقة معها) بروتوكول ICLOCK / push. اضبط حقول خادم السحابة على الجهاز فيبثّ الحضور إلى حسابك — دون حاجة إلى حاسوب أو برنامج محلي.
طابِق عنوان IP للجهاز وقناع الشبكة الفرعية والبوابة وDNS مع شبكتك المحلية (LAN) (أو استخدم DHCP) قبل ضبط خادم السحابة.
أقرِنه على بوابة المطورين وأجرِ استدعاءً مباشرًا في دقائق.
نستخدم ملفات تعريف الارتباط لقياس حركة الزيارات وتحسين BiometricAPI.com. تبقى التحليلات متوقفة إلى أن توافق. اعرف المزيد.