Référence rapide PHP / API
5 étapes pour connecter votre application. Fonctionne avec Postman, cURL ou tout client HTTP.
URL de base : https://api.punchconnect.com/api/v2/zk
Configurez vos en-têtes d'authentification
Chaque requête nécessite ces en-têtes. Obtenez vos identifiants depuis le tableau de bord.
| En-tête | Valeur |
|---|---|
X-CLIENT-ID | Votre identifiant client API |
X-CLIENT-SECRET | Votre secret client API |
Content-Type | application/json |
Accept | application/json |
curl https://api.punchconnect.com/api/v2/zk/devices \
-H "X-CLIENT-ID: your_client_id" \
-H "X-CLIENT-SECRET: your_client_secret" \
-H "Content-Type: application/json" \
-H "Accept: application/json"Lister et mettre à jour les appareils
Les appareils sont enregistrés via le tableau de bord. Utilisez l'API pour les lister et les mettre à jour.
curl https://api.punchconnect.com/api/v2/zk/devices \
-H "X-CLIENT-ID: your_client_id" \
-H "X-CLIENT-SECRET: your_client_secret" \
-H "Accept: application/json"Mettre à jour un appareil :
curl -X PUT https://api.punchconnect.com/api/v2/zk/devices/1 \
-H "X-CLIENT-ID: your_client_id" \
-H "X-CLIENT-SECRET: your_client_secret" \
-H "Content-Type: application/json" \
-d '{
"name": "Main Entrance",
"site_name": "Head Office",
"site_id": 1,
"timezone": 1
}'Également disponible : GET /devices/{id} pour obtenir les détails d'un seul appareil.
Ajouter un employé à un appareil
curl -X POST https://api.punchconnect.com/api/v2/zk/employees \
-H "X-CLIENT-ID: your_client_id" \
-H "X-CLIENT-SECRET: your_client_secret" \
-H "Content-Type: application/json" \
-d '{
"user_id": "EMP-0042",
"uid": 1001,
"name": "Ahmed Mansouri",
"card_no": "0012345678",
"privilege": "user",
"verify_mode": 1,
"device_id": 1
}'| Champ | Type | Requis |
|---|---|---|
user_id | string | Oui |
uid | integer | Oui |
name | string | Oui |
device_id | integer | Oui |
employee_id | integer | Non |
card_no | string | Non |
password | string | Non |
privilege | "user" or "admin" | Non |
verify_mode | integer (1–15) | Non |
Autres endpoints : PUT /employees/{id} (mettre à jour), DELETE /employees/{ids} (supprimer, séparés par des virgules), GET /devices/{device}/employees (lister les employés sur un appareil), POST /employees/{id}/sync-from-device (extraire depuis l'appareil).
Envoyer les enregistrements de présence
curl -X POST https://api.punchconnect.com/api/v2/zk/attendances/push \
-H "X-CLIENT-ID: your_client_id" \
-H "X-CLIENT-SECRET: your_client_secret" \
-H "Content-Type: application/json" \
-d '[
{
"id": 5001,
"uid": 1001,
"timestamp": "2026-03-10 08:01:23",
"site_id": 1,
"site_name": "Head Office",
"device_name": "Main Entrance",
"mac_address": "AA:BB:CC:DD:EE:FF"
}
]'{
"status": true,
"data": [5001]
}Récupérer les enregistrements : GET /devices/{device}/attendances. Supprimer : DELETE /devices/{device}/attendances/{ids}.
Envoyer des commandes aux appareils
curl -X POST https://api.punchconnect.com/api/v2/zk/commands \
-H "X-CLIENT-ID: your_client_id" \
-H "X-CLIENT-SECRET: your_client_secret" \
-H "Content-Type: application/json" \
-d '{ "device_id": 1, "command": "reboot" }'| Commande | Ce qu'elle fait |
|---|---|
reboot | Redémarrer l'appareil (~30s d'arrêt) |
clear_log | Effacer le journal de présence sur l'appareil |
clear_data | Supprimer tous les employés + la présence de l'appareil |
clear_admins | Supprimer les privilèges administrateur de tous les utilisateurs sur l'appareil |
Codes d'erreur
| Statut | Signification |
|---|---|
| 200 | Succès |
| 401 | Identifiants API invalides ou manquants |
| 404 | Ressource introuvable |
| 422 | Erreur de validation (vérifiez vos champs) |
| 429 | Limite de débit atteinte — ralentissez |
| 500 | Erreur serveur — réessayez plus tard |