Аутентификация, получение данных посещаемости, регистрация отпечатка и открытие двери — с примерами для копирования на языке, который вы уже используете.
Быстрый старт
Создайте учётную запись на портале разработчика и привяжите устройство по серийному номеру. Вы получите 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. Дедуплицируйте по id события, чтобы повторы были безопасными.
Если устройство офлайн, вы получите 409; команда будет поставлена в очередь. Опрашивайте GetCommandStatus.
Локальное тестирование
Ваш компьютер разработчика находится за файрволом, поэтому шлюз не может напрямую обратиться к localhost. Откройте доступ через туннель, укажите публичный адрес в 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).
Привяжите его на портале разработчика и сделайте живой вызов за считаные минуты.
Мы используем файлы cookie для измерения трафика и улучшения BiometricAPI.com. Аналитика отключена, пока вы не дадите согласие. Подробнее.