APIPreciosDocumentaciónBlogSociosContacto
Volver a documentación

Referencia rápida PHP / API

5 pasos para conectar tu aplicación. Funciona con Postman, cURL o cualquier cliente HTTP.

URL base: https://api.punchconnect.com/api/v2/zk

1

Configura tus encabezados de autenticación

Cada solicitud necesita estos encabezados. Obtén tus credenciales desde el panel.

EncabezadoValor
X-CLIENT-IDTu client ID de la API
X-CLIENT-SECRETTu client secret de la 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

Listar y actualizar dispositivos

Los dispositivos se registran a través del panel. Usa la API para listarlos y actualizarlos.

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"

Actualizar un dispositivo:

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
  }'

También disponible: GET /devices/{id} para obtener los detalles de un solo dispositivo.

3

Agregar un empleado a un dispositivo

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
  }'
CampoTipoRequerido
user_idstring
uidinteger
namestring
device_idinteger
employee_idintegerNo
card_nostringNo
passwordstringNo
privilege"user" or "admin"No
verify_modeinteger (1–15)No

Otros endpoints: PUT /employees/{id} (actualizar), DELETE /employees/{ids} (eliminar, separados por coma), GET /devices/{device}/employees (listar empleados en un dispositivo), POST /employees/{id}/sync-from-device (obtener desde el dispositivo).

4

Enviar registros de asistencia

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]
}

Obtener registros: GET /devices/{device}/attendances. Eliminar: DELETE /devices/{device}/attendances/{ids}.

5

Enviar comandos al dispositivo

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" }'
ComandoQué hace
rebootReiniciar el dispositivo (~30s de inactividad)
clear_logBorrar el registro de asistencia en el dispositivo
clear_dataEliminar todos los empleados + asistencia del dispositivo
clear_adminsEliminar privilegios de administrador de todos los usuarios en el dispositivo

Códigos de error

EstadoSignificado
200Éxito
401Credenciales de API inválidas o faltantes
404Recurso no encontrado
422Error de validación (verifica tus campos)
429Límite de tasa excedido — reduce la frecuencia
500Error del servidor — reintenta más tarde

Próximos pasos

Referencia rápida PHP / API | PunchConnect