Acreditación
Sucede una vez por asistente. Se lee el QR de la entrada y se le vincula una
pulsera física. A partir de ahí, la pulsera es su identidad.
Control de zona
Sucede cada vez que alguien cruza una puerta interior. Se lee sólo la
pulsera y se comprueba si puede pasar a esa zona.
checkins.write (requiere activación manual) y, para
consultar el histórico, checkins.read.
Acreditación
El operario escanea el QR de la entrada y después la pulsera nueva:extra_zones de
esa entrada concreta, y con sus días de validez. No hay que configurarla:
todo sale de la entrada.
Reintentos
LaIdempotency-Key identifica el escaneo físico. Genérala al leer el QR y
consérvala durante todos los reintentos de esa acreditación:
Qué puede salir mal
Control de zona
El operario escanea sólo la pulsera, en la puerta de una zona interior:Denegar no es un error. La respuesta es siempre
200, con allowed: true o
false y el motivo. Un 403 significaría que tu API key no tiene permiso, que
es otra cosa completamente distinta: si mezclas ambos casos en el mismo catch,
acabarás denegando accesos legítimos cuando caduque tu clave.
Cada llamada queda registrada en el histórico de escaneos, así que la operación
aparece en las estadísticas del organizador atribuida a tu integración.
Contar aforo
Si tu lector controla la puerta de una zona y quieres que el aforo del panel se mueva con él, indica el sentido condirection: entry suma a la zona y exit
resta.
- Zona llena: una entrada con la zona al máximo se deniega con
reason: "Zona llena". Unmaxde 0 significa que la zona no tiene límite. - Las salidas no se deniegan nunca, y no comprueban ni el día ni los permisos de zona.
counted: falseindica que el paso quedó registrado pero el aforo no cambió: es una reentrada de quien ya constaba dentro, o una salida de quien no constaba (por ejemplo, entró por un acceso sin control).- Zonas anidadas: cada zona cuenta por su lado. Entrar al backstage no saca a nadie del recinto.
direction, la llamada solo comprueba el acceso, como siempre, y el aforo no
cambia.