Authentifiez-vous, récupérez les présences, enrôlez une empreinte et ouvrez une porte — avec des exemples à copier-coller dans le langage que vous utilisez déjà.
Démarrage rapide
Créez un compte sur le portail développeurs et appairez votre appareil par son numéro de série. Vous recevrez un AuthToken.
Transmettez AuthToken à chaque appel. Il limite l'accès à votre compte et à l'appareil concerné.
Commencez par GetAttendanceByDate pour confirmer que les données arrivent, puis passez à l'enrôlement et au contrôle d'accès.
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();
Le même schéma s'applique à chaque opération — changez le chemin et les paramètres.
Recettes courantes
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"
N'intégrez jamais un AuthToken dans du code côté client. Faites transiter les appels par votre backend.
La passerelle réessaie jusqu'à ce que vous renvoyiez 200. Dédoublonnez sur l'identifiant d'événement pour que les nouvelles tentatives soient sans risque.
Si un appareil est hors ligne, vous obtiendrez 409 ; la commande est mise en file d'attente. Interrogez GetCommandStatus.
Tests en local
Votre poste de développement est derrière un pare-feu : la passerelle ne peut donc pas joindre localhost directement. Exposez-le avec un tunnel, pointez votre URL de callback vers l'adresse publique et déclenchez un pointage de test.
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
Connecter un appareil
La plupart des terminaux de pointage (ZKTeco, eSSL et compatibles) utilisent le protocole ICLOCK / push. Renseignez les champs du serveur cloud sur l'appareil et il envoie les présences vers votre compte — sans PC ni logiciel local.
Adaptez l'IP / le masque de sous-réseau / la passerelle / le DNS de l'appareil à votre LAN (ou utilisez le DHCP) avant de définir le serveur cloud.
Appairez-le sur le portail développeurs et faites un appel en direct en quelques minutes.
Nous utilisons des cookies pour mesurer le trafic et améliorer BiometricAPI.com. Les outils d'analyse restent désactivés tant que vous n'acceptez pas. En savoir plus.