ZKTeco Attendance
PUSH Protocol SDK
Integrez les terminaux biometriques ZKTeco avec votre propre logiciel. Synchronisation automatique des pointages, gestion des utilisateurs, templates biometriques — concu pour les developpeurs.
Integrate ZKTeco biometric devices with your own software. Automatic attendance sync, user management, biometric templates — designed for developers.
Pourquoi le SDK PUSH Protocol ?
Tout ce dont un developpeur a besoin pour integrer les terminaux ZKTeco a son propre systeme.
Synchronisation Automatique
Les terminaux poussent les donnees en temps reel vers votre serveur. Pointages, utilisateurs, photos — tout est synchronise automatiquement.
Templates Biometriques
Recevez les templates d'empreintes digitales, photos faciales (biophoto), et templates de visage encodes en base64 directement depuis les appareils.
Gestion des Utilisateurs
Ajoutez, modifiez et supprimez des utilisateurs a distance via des commandes envoyees depuis votre serveur vers les terminaux.
Photos de Pointage
Capturez automatiquement les photos au moment du pointage (ATTPHOTO). Ideale pour la verification visuelle et l'audit.
Commandes a Distance
Envoyez des commandes aux terminaux via le heartbeat : ajout d'utilisateurs, redemarrage, mise a jour — controle total a distance.
Multi-Connectivite
Fonctionne via Ethernet, Wi-Fi, GPRS, 3G et 4G. Le protocole PUSH est independant du type de connexion reseau.
Comment fonctionne le protocole PUSH ?
Le terminal ZKTeco initie toutes les connexions HTTP vers votre serveur. Voici le flux complet :
options=alltable=options) → Serveur repond OK/iclock/getrequest) — Boucle continue/iclock/devicecmdDocumentation du Protocole PUSH
Reference technique complete du ZKTeco TA PUSH Protocol. Ce guide couvre chaque etape du protocole de communication.
Table des Matieres
- 1. Initialisation — Echange d'informations
- 2. Configuration du terminal (table=options)
- 3. Heartbeat — Detection de presence
- 4. Backup Heartbeat (Ping)
- 5. Upload des donnees de pointage (ATTLOG)
- 6. Types de donnees uploadees (table=xxx)
- 7. OPERLOG — Donnees detaillees
- 8. Envoi de commandes (devicecmd)
- 9. Reference TransFlag — 12 parametres
Initialisation — Echange d'informations
La premiere requete envoyee par le terminal ZKTeco a votre serveur est une requete d'initialisation. Le terminal envoie options=all pour signaler qu'il demande la configuration complete.
Si options=all, c'est une requete d'initialisation. Votre serveur doit repondre avec :
ServerVer est obligatoire. L'intervalle heartbeat (Delay) est recommande entre 1 et 5 secondes.PushOptionsFlag envoye par le terminal est egal a 1, vous devez egalement repondre avec :PushOptions=RegDeviceType,FingerFunOn,FaceFunOn,FPVersion,FaceVersion,NetworkType,HardwareId3,HardwareId5,HardwareId56,LicenseStatus3,LicenseStatus5,LicenseStatus56Configuration du terminal (table=options)
Apres l'initialisation, le terminal pousse sa configuration vers votre serveur via une requete POST.
Le corps de la requete POST contient les informations de configuration du terminal :
table=options, repondez simplement OK (en majuscules). Sauvegardez les donnees de configuration dans votre base de donnees.Heartbeat — Detection de presence
Le terminal envoie des requetes heartbeat regulierement pour signaler qu'il est en ligne. C'est egalement par cette interface que vous envoyez des commandes au terminal.
getrequest dans l'URL. S'il n'y a pas de commande en attente, repondez OK en majuscules. Sinon, renvoyez la commande a executer.Backup Heartbeat (Ping)
Le terminal peut envoyer un heartbeat de secours quand il est occupe a uploader un grand volume de donnees (et ne peut donc pas envoyer le heartbeat principal via getrequest).
Upload des donnees de pointage (ATTLOG)
Les donnees de pointage sont poussees via des requetes POST. Identifiez le type de donnees par le parametre table=ATTLOG.
Analyse des champs de pointage :
| Champ | Valeur exemple | Description |
|---|---|---|
PIN | 2 | Identifiant de l'utilisateur (User ID) |
DateTime | 2020-07-10 16:34:02 | Date et heure du pointage |
Status | 255 | Statut de pointage (255 = normal) |
Verify | 15 | Methode de verification (15 = reconnaissance faciale) |
| Les champs suivants sont reserves (work code, etc.). Contactez le support pour plus de details. | ||
Types de donnees uploadees (table=xxx)
Le parametre table dans l'URL identifie le type de donnees poussees par le terminal :
| table= | Type de donnees | Description |
|---|---|---|
ATTLOG | Pointages | Enregistrements de pointage (entree/sortie) |
ATTPHOTO | Photos de pointage | Photos capturees au moment du pointage (snap photo) |
OPERLOG | Donnees multiples | Utilisateurs, logs, empreintes, biophotos, visages, veines |
ERRORLOG | Logs d'erreur | Journaux d'erreurs du terminal |
BIODATA | Template tout-en-un | Rarement utilise — peut etre ignore si biophoto est traite |
OPERLOG est la plus complexe car elle contient plusieurs types de donnees (voir section suivante).OPERLOG — Donnees detaillees
Quand table=OPERLOG, le corps de la requete POST peut contenir differents types de donnees, identifies par leur prefixe :
USER Informations utilisateur
Upload des informations utilisateur : ID, nom, privilege, mot de passe, carte, groupe, fuseau, methode de verification.
OPLOG Journal d'operations
Journal des operations effectuees sur le terminal (ajout utilisateur, suppression, etc.).
FP Template empreinte digitale
Template d'empreinte digitale. Size = longueur du template binaire encode en base64. FID = index du doigt.
BIOPHOTO Photo biometrique (visage)
Photo de comparaison biometrique (visage). Size = longueur de l'image apres encodage base64. Content = image binaire encodee en base64.
Envoi de commandes & reponse (devicecmd)
Vous pouvez envoyer des commandes aux terminaux via l'interface heartbeat. Le terminal execute la commande et renvoie le resultat via devicecmd.
Exemple : Ajouter un utilisateur a distance
Le terminal execute la commande et renvoie le resultat :
Reference TransFlag — 12 parametres
Le parametre TransFlag est une combinaison de 12 caracteres (0 ou 1). Chaque position controle l'upload d'un type de donnee specifique :
Obtenez le SDK PUSH Protocol ZKTeco
Ce SDK professionnel est concu pour les developpeurs et integrateurs systeme qui souhaitent connecter les terminaux ZKTeco a leur propre logiciel. Synchronisation automatique, plus de metadonnees, documentation complete, support technique.
+212 635 509 160 — StandTech, Tanger, Maroc
Terminaux compatibles
Tous les terminaux ZKTeco Green Label Series avec protocole PUSH Attendance sont compatibles.