Startseite / Entwickler

An einem Nachmittag gebaut

Authentifizieren, Anwesenheit abrufen, einen Fingerabdruck registrieren und eine Tür öffnen – mit Copy-and-paste-Beispielen in der Sprache, die Sie bereits nutzen.

Schnellstart

Drei Schritte bis zum ersten Aufruf

API-Schlüssel anfordern

Erstellen Sie im Entwicklerportal ein Konto und koppeln Sie Ihr Gerät per Seriennummer. Sie erhalten einen AuthToken.

Jede Anfrage authentifizieren

Übergeben Sie AuthToken bei jedem Aufruf. Er begrenzt den Zugriff auf Ihr Konto und das jeweilige Gerät.

Einen Endpoint aufrufen

Beginnen Sie mit GetAttendanceByDate, um zu bestätigen, dass Daten fließen, und fahren Sie dann mit Registrierung und Zutrittskontrolle fort.

Basis-URL

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();

Dasselbe Muster gilt für jede Operation – ändern Sie einfach Pfad und Parameter.

Häufige Rezepte

Kopieren, einfügen, live gehen

POST

Einen Benutzer registrieren

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

Eine Tür öffnen

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

Einen Webhook registrieren

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

Schlüssel serverseitig halten

Betten Sie niemals einen AuthToken in clientseitigen Code ein. Leiten Sie Aufrufe über Ihr Backend weiter.

🔄

Webhooks idempotent gestalten

Das Gateway wiederholt den Versand, bis Sie 200 zurückgeben. Entfernen Sie Duplikate anhand der Ereignis-ID, damit Wiederholungen unbedenklich sind.

⏳

Befehle in der Warteschlange behandeln

Ist ein Gerät offline, erhalten Sie 409; der Befehl wird in die Warteschlange gestellt. Fragen Sie GetCommandStatus ab.

Lokales Testen

Callback-URLs von Ihrem Rechner aus testen

Ihr Entwicklungsrechner liegt hinter einer Firewall, daher kann das Gateway localhost nicht direkt erreichen. Machen Sie ihn über einen Tunnel verfügbar, richten Sie Ihre Callback-URL auf die öffentliche Adresse und lösen Sie eine Teststempelung aus.

  • Verwenden Sie immer eine HTTPS-Callback-URL
  • Lassen Sie den Tunnel während der gesamten Testsitzung laufen
  • Kostenlose ngrok-URLs ändern sich beim Neustart – aktualisieren Sie dann den Callback
  • Gestalten Sie Ihren Handler idempotent – das Gateway wiederholt den Versand, bis es ein 200 erhält
# 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

Gerät verbinden

Ein Terminal auf das Gateway ausrichten

Die meisten Zeiterfassungsterminals (ZKTeco, eSSL und kompatible) sprechen das ICLOCK-/Push-Protokoll. Tragen Sie die Cloud-Server-Felder am Gerät ein, und es streamt die Anwesenheit in Ihr Konto – ohne PC oder lokale Software.

⚙
Am Gerät: Menu → COMM → Cloud Server / ADMS, den untenstehenden Server eintragen und anschließend prüfen, ob das Symbol für die Serververbindung auf dem Startbildschirm erscheint.

Server-Einstellungen am Gerät

Server-IP
152.53.172.248
Port
8123 (Entwicklung / Test) · 80 (Produktion)
Domainnamen aktivieren
AUS
Proxy-Server
AUS
Protokoll
ICLOCK / Push

Passen Sie IP / Subnetz / Gateway / DNS des Geräts an Ihr LAN an (oder nutzen Sie DHCP), bevor Sie den Cloud-Server eintragen.

Haben Sie die Seriennummer Ihres Geräts zur Hand?

Koppeln Sie es im Entwicklerportal und führen Sie in Minuten einen Live-Aufruf aus.