Acasă / Dezvoltatori

Construiți într-o după-amiază

Autentificați-vă, preluați prezența, înrolați o amprentă și deschideți o ușă — cu exemple de copiat în limbajul pe care îl folosiți deja.

Ghid de pornire rapidă

Trei pași până la primul apel

Obțineți o cheie API

Creați un cont în portalul pentru dezvoltatori și asociați dispozitivul după numărul de serie. Veți primi un AuthToken.

Autentificați fiecare cerere

Transmiteți AuthToken la fiecare apel. Acesta limitează accesul la contul dumneavoastră și la dispozitivul respectiv.

Apelați un endpoint

Începeți cu GetAttendanceByDate pentru a confirma că datele circulă, apoi treceți la înrolare și la controlul accesului.

URL de bază

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

Același tipar se aplică fiecărei operațiuni — schimbați doar calea și parametrii.

Rețete uzuale

Copiați, lipiți, lansați

POST

Înrolați un utilizator

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

Deschideți o ușă

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

Înregistrați un webhook

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

Păstrați cheile pe server

Nu integrați niciodată un AuthToken în codul din partea clientului. Direcționați apelurile prin backend-ul dumneavoastră.

🔄

Faceți webhook-urile idempotente

Gateway-ul reîncearcă până când returnați 200. Eliminați duplicatele după id-ul evenimentului, ca reîncercările să fie sigure.

⏳

Gestionați comenzile din coadă

Dacă un dispozitiv este offline, veți primi 409; comanda este pusă în coadă. Interogați GetCommandStatus.

Testare locală

Testați URL-urile de callback de pe calculatorul dumneavoastră

Calculatorul dumneavoastră de dezvoltare se află în spatele unui firewall, deci gateway-ul nu poate ajunge direct la localhost. Expuneți-l printr-un tunel, indicați URL-ul de callback către adresa publică și declanșați un pontaj de test.

  • Folosiți întotdeauna un URL de callback HTTPS
  • Păstrați tunelul activ pe toată durata sesiunii de testare
  • URL-urile ngrok gratuite se schimbă la repornire — actualizați callback-ul când se întâmplă acest lucru
  • Faceți handlerul idempotent — gateway-ul reîncearcă până primește 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

Conectați un dispozitiv

Indicați gateway-ul pe un terminal

Majoritatea terminalelor de prezență (ZKTeco, eSSL și compatibile) folosesc protocolul ICLOCK / push. Setați câmpurile serverului cloud pe dispozitiv, iar acesta transmite prezența în contul dumneavoastră — fără PC și fără software local.

⚙
Pe dispozitiv: Menu → COMM → Cloud Server / ADMS, introduceți serverul de mai jos, apoi confirmați că pictograma conexiunii la server apare pe ecranul principal.

Setările serverului dispozitivului

IP server
152.53.172.248
Port
8123 (dezvoltare / testare) · 80 (producție)
Enable Domain Name
OFF
Proxy Server
OFF
Protocol
ICLOCK / Push

Potriviți IP-ul / subrețeaua / gateway-ul / DNS-ul dispozitivului cu rețeaua LAN (sau folosiți DHCP) înainte de a seta serverul cloud.

Aveți la îndemână numărul de serie al dispozitivului?

Asociați-l în portalul pentru dezvoltatori și faceți un apel live în câteva minute.