v1 · vista previa

Prueba con webhook firma, alert.created, location_withheld o 429.

↑ ↓ moverseIntro abrirEsc cerrar

Conceptos

Evacuaciones y recuento

Tipos, estados y fases de una evacuación, el recuento por persona y por punto de reunión, los puntos descartados y la lista de quién falta.

En esta página

Una evacuación (muster en la API) es el recuento de una planta cuando hay que salir: quién ha llegado a un punto de reunión válido, quién pide ayuda y quién falta. Es lo que más importa que llegue bien a tu sala, y por eso sus eventos salen por delante de casi todo lo demás.

Tipo, estado y fase

kindQué significa
generalEvacuación general.
tsunamiPor tsunami. Puede traer deadline, la hora límite.
earthquakePor terremoto.

El tipo puede cambiar durante la evacuación (muster.kind_changed), y con él los puntos de reunión que valen.

statusQué significa
activeEn marcha.
completedTerminada.
cancelledCancelada.
phaseQué significa
evacuatingSe está evacuando.
inspectingEl recuento está completo y la sala revisa la planta. Los relojes dicen «no vuelvas hasta nuevo aviso».

Otros campos útiles:

  • reason: el motivo, en texto.
  • origin: de dónde viene la emergencia (coordenadas, radio y zona). null en una evacuación sin origen, como un simulacro general.
  • deadline: en un tsunami, la hora límite y de dónde sale: official (un aviso oficial) o plan_estimate (el techo del plan de la zona). Nunca es un cálculo físico.

El recuento

GET /v1/musters/{id} devuelve la evacuación con su recuento en totals, calculado en el servidor con la misma regla que el panel y el cierre: posición precisa dentro de un punto válido, o llegada declarada a uno.

Cada persona está en uno de estos estados:

EstadoQué quiere decir
safeA salvo en un punto de reunión válido.
helpPide ayuda: atrapada (trapped), herida (injured) o ayudando a otra persona (helping).
wrong_pointEn un punto de reunión que no vale para este tipo de evacuación, o que la sala ha descartado.
pendingTodavía no ha llegado.
no_signalSu reloj no comunica.
not_wornNo lleva el reloj puesto.

totals trae expected (cuántas personas se esperan) y el número de personas en cada estado.

Puntos de reunión

assembly_points lista los destinos del tipo de evacuación, descartados incluidos, con cuántas personas hay a salvo en cada uno (count).

La sala puede descartar un punto durante la evacuación, por ejemplo porque queda dentro del radio de la emergencia o a sotavento, y también rehabilitarlo. Un punto descartado tiene status: "excluded" y un objeto excluded con:

  • reason: por qué;
  • recommended: si lo había recomendado el sistema (por radio o por viento). Quien descarta es siempre una persona;
  • at y by: cuándo y quién.

Cada cambio de destinos sube targets_revision y emite muster.targets_changed. Quien estaba en un punto descartado pasa a wrong_point.

Quién falta

GET /v1/musters/{id}/missing devuelve las personas que no están a salvo, ordenadas por urgencia: primero quien pide ayuda o necesita rescate, después quien está en un punto que no sirve, sin señal, sin el reloj puesto y saliendo.

  • needs_rescue: tiene un SOS o una caída abierta y no ha llegado. No puede salir por su pie.
  • help_reason: trapped, injured o helping.
  • assembly_point: el punto donde está o dijo estar, con valid: false si no sirve.
  • location: la última posición, solo con el scope positions:read y si la privacidad de la planta la deja ver. Si no, location_withheld: true.

Eventos de una evacuación

EventoCuándo
muster.startedEmpieza la evacuación.
muster.kind_changedCambia el tipo.
muster.phase_changedCambia la fase (evacuating, inspecting).
muster.targets_changedLa sala ha descartado o rehabilitado un punto de reunión.
muster.updatedEl recuento ha cambiado. Se comprueba cada 5 segundos y solo se emite si cambia.
muster.worker_missingFalta una persona.
muster.endedTermina.

Una persona que pide ayuda durante la evacuación genera además una alerta evacuation_help (alert.created), que lleva el muster_id en sus detalles.

Cada evento trae la evacuación completa en data.muster, así que tu sala puede repintar el banner con el último que le llegue. Como el orden de entrega no está garantizado, quédate con el más reciente por created_at (ver Webhooks).

Probarlo sin evacuar a nadie

El sandbox tiene un escenario que recorre una evacuación entera en 3 minutos: llegadas, un punto descartado, una petición de ayuda y el cierre. Ver Sandbox.