APITarifsDocsBlogPartenairesContact
Retour à la documentation

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

1

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êteValeur
X-CLIENT-IDVotre identifiant client API
X-CLIENT-SECRETVotre secret client API
Content-Typeapplication/json
Acceptapplication/json
bashPostman / cURL
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"
2

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.

bashGET /devices
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 :

bashPUT /devices/{id}
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.

3

Ajouter un employé à un appareil

bashPOST /employees
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
  }'
ChampTypeRequis
user_idstringOui
uidintegerOui
namestringOui
device_idintegerOui
employee_idintegerNon
card_nostringNon
passwordstringNon
privilege"user" or "admin"Non
verify_modeinteger (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).

4

Envoyer les enregistrements de présence

bashPOST /attendances/push
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"
    }
  ]'
jsonResponse
{
  "status": true,
  "data": [5001]
}

Récupérer les enregistrements : GET /devices/{device}/attendances. Supprimer : DELETE /devices/{device}/attendances/{ids}.

5

Envoyer des commandes aux appareils

bashPOST /commands
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" }'
CommandeCe qu'elle fait
rebootRedémarrer l'appareil (~30s d'arrêt)
clear_logEffacer le journal de présence sur l'appareil
clear_dataSupprimer tous les employés + la présence de l'appareil
clear_adminsSupprimer les privilèges administrateur de tous les utilisateurs sur l'appareil

Codes d'erreur

StatutSignification
200Succès
401Identifiants API invalides ou manquants
404Ressource introuvable
422Erreur de validation (vérifiez vos champs)
429Limite de débit atteinte — ralentissez
500Erreur serveur — réessayez plus tard

Étapes suivantes

Référence rapide PHP / API | PunchConnect