Apariencia
Sincronizar con otro sistema
Esta guía es para quien programa la integración. Antes, emití una key para ese sistema.
1. La primera lectura
Recorré cada listado página por página, hasta que meta.next_page sea null:
sh
curl "https://tuempresa.safetypanel.com.ar/api/v1/sites?per_page=100&page=1" \
-H "Authorization: Bearer spk_…"Hacé lo mismo con site_groups y professionals. Antes de empezar, guardá el instante de la lectura: es el punto de partida de la próxima.
Por defecto, los listados devuelven solo los registros activos. Ver status.
2. Las lecturas siguientes
Pedí solo lo que cambió desde la última lectura, con updated_since:
sh
curl "https://tuempresa.safetypanel.com.ar/api/v1/sites?updated_since=2026-09-01T12:00:00Z" \
-H "Authorization: Bearer spk_…"Para enterarte también de las bajas, repetí la llamada con status=inactive y con status=deleted. Un registro dado de baja deja de aparecer en el listado por defecto, pero sigue disponible con esos filtros.
3. El acceso de cada profesional
La API no trae una lista de sitios por profesional. Para mantenerla al día, seguí los cambios de los dos recursos:
full_client_accessen los profesionales: si estrue, el profesional accede a todos los sitios.responsible_professional_idyprofessional_idsen los sitios: asignar o quitar un profesional cambia elupdated_atdel sitio, no el del profesional.
Ver A qué sitios accede un profesional.
Si una llamada falla
| Respuesta | Qué hacer |
|---|---|
401 | La key se revocó, está mal copiada o la cuenta está desactivada. Pedí una key nueva. |
403 | La cuenta no tiene la API habilitada. |
409 | Otro pedido con la misma Idempotency-Key sigue en curso. Esperá unos segundos y reintentá con la misma clave. |
429 | Se superó el límite de uso. Esperá los segundos que indica retry-after y reintentá. |
| Timeout o error de red en una escritura | Reintentá con la misma Idempotency-Key: si la primera llegó, responde lo mismo sin volver a escribir. |
Ver todos los códigos en Errores.