Accueil / Développeurs

Développez en un après-midi

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

Trois étapes jusqu'à votre premier appel

Obtenir une clé API

Créez un compte sur le portail développeurs et appairez votre appareil par son numéro de série. Vous recevrez un AuthToken.

Authentifier chaque requête

Transmettez AuthToken à chaque appel. Il limite l'accès à votre compte et à l'appareil concerné.

Appeler un endpoint

Commencez par GetAttendanceByDate pour confirmer que les données arrivent, puis passez à l'enrôlement et au contrôle d'accès.

URL de base

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

Copiez, collez, livrez

POST

Enrôler un utilisateur

curl .../v3/user/add \
 -d "AuthToken=$K" \
 -d "DeviceSN=ZK6A2300583" \
 -d "EmployeeCode=1042" \
 -d "Name=Priya"
POST

Ouvrir une porte

curl .../v3/access/opendoor \
 -d "AuthToken=$K" \
 -d "DeviceSN=ZK6A2300583" \
 -d "DoorNo=1"
CALLBACK

Enregistrer un webhook

curl .../v3/callback/register \
 -d "AuthToken=$K" \
 -d "Url=https://app/hook" \
 -d "Events=attendance.new"
🔒

Gardez les clés côté serveur

N'intégrez jamais un AuthToken dans du code côté client. Faites transiter les appels par votre backend.

🔄

Rendez vos webhooks idempotents

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.

⏳

Gérez les commandes en file d'attente

Si un appareil est hors ligne, vous obtiendrez 409 ; la commande est mise en file d'attente. Interrogez GetCommandStatus.

Tests en local

Testez les URL de callback depuis votre machine

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.

  • Utilisez toujours une URL de callback HTTPS
  • Laissez le tunnel actif pendant toute la session de test
  • Les URL ngrok gratuites changent à chaque redémarrage — mettez à jour le callback en conséquence
  • Rendez votre gestionnaire idempotent — la passerelle réessaie jusqu'à recevoir un 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

Pointer un terminal vers la passerelle

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.

⚙
Sur l'appareil : Menu → COMM → Cloud Server / ADMS, saisissez le serveur ci-dessous, puis vérifiez que l'icône de connexion au serveur apparaît sur l'écran d'accueil.

Paramètres du serveur de l'appareil

IP du serveur
152.53.172.248
Port
8123 (développement / test) · 80 (production)
Enable Domain Name
OFF
Proxy Server
OFF
Protocole
ICLOCK / Push

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.

Le numéro de série de votre appareil est à portée de main ?

Appairez-le sur le portail développeurs et faites un appel en direct en quelques minutes.