Autentícate, consulta la asistencia, registra una huella y abre una puerta, con ejemplos para copiar y pegar en el lenguaje que ya usas.
Inicio rápido
Crea una cuenta en el portal para desarrolladores y vincula tu dispositivo con su número de serie. Recibirás AuthToken.
Envía AuthToken en cada llamada. Limita el acceso a tu cuenta y al dispositivo concreto.
Empieza con GetAttendanceByDate para confirmar que los datos fluyen y después pasa al registro y al control de acceso.
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();
El mismo patrón sirve para todas las operaciones: solo cambian la ruta y los parámetros.
Recetas habituales
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"
Nunca incrustes AuthToken en código del lado del cliente. Canaliza las llamadas a través de tu backend.
El gateway reintenta hasta que devuelves 200. Elimina duplicados según el id del evento para que los reintentos no causen problemas.
Si un dispositivo está sin conexión recibirás 409; el comando queda en cola. Consulta GetCommandStatus.
Pruebas locales
Tu equipo de desarrollo está detrás de un firewall, por lo que el gateway no puede acceder directamente a localhost. Exponlo con un túnel, apunta tu URL de callback a la dirección pública y genera un fichaje de prueba.
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
Conectar un dispositivo
La mayoría de los terminales de asistencia (ZKTeco, eSSL y compatibles) usan el protocolo ICLOCK / push. Configura los campos del servidor en la nube en el dispositivo y enviará la asistencia a tu cuenta, sin necesidad de PC ni de software local.
Ajusta la IP, la subred, el gateway y el DNS del dispositivo a tu LAN (o usa DHCP) antes de configurar el servidor en la nube.
Vincúlalo en el portal para desarrolladores y haz una llamada en vivo en minutos.
Usamos cookies para medir el tráfico y mejorar BiometricAPI.com. La analítica permanece desactivada hasta que aceptes. Más información.