Eventos
Todos los tipos de evento de webhook, cuándo se envían y los campos que incluyen.
El eventType de cada notificación indica qué pasó, y su objeto event lleva los datos. El sobre que lo envuelve es el mismo para todos los eventos.
| Tipo de evento | Se envía cuando |
|---|---|
MachineStopCreated | Empieza un paro de máquina. |
MachineStopEnded | Termina un paro de máquina. |
MachineStopClassificationCreated | Se clasifica un paro de máquina. |
MachineStopClassificationUpdated | Cambia la clasificación de un paro. |
MachineStopClassificationDeleted | Se elimina la clasificación de un paro. |
Ping | Pulsar prueba tu endpoint. |
Paros de máquina
Cuando una máquina se detiene, Pulsar registra el paro. Los eventos de paro te avisan en el momento: MachineStopCreated cuando empieza y MachineStopEnded cuando termina, aunque nadie lo haya clasificado todavía. Para saber también su causa, suscríbete a los eventos de clasificación de abajo.
Se activan por empresa
Los eventos de paro se habilitan empresa por empresa. Pídele a tu contacto de Pulsar que los active para la tuya antes de registrar un endpoint para ellos.
Los dos eventos de paro llevan el mismo objeto event. Tiene los mismos campos que los eventos de clasificación, pero los campos de la causa son null mientras el paro no esté clasificado:
| Campo | Tipo | Descripción |
|---|---|---|
machine | string | El nombre de la máquina en Pulsar. |
machineExternalName | string | null | El nombre externo de la máquina, por ejemplo su ID en tu ERP. null si no tiene. |
start | string | Cuándo empezó el paro, como marca de tiempo UTC ISO 8601. |
end | string | null | Cuándo terminó el paro, como marca de tiempo UTC ISO 8601. null mientras el paro sigue abierto. |
operator | string | null | Nombre completo del operador que estaba en la máquina cuando empezó el paro. null si no había nadie con sesión iniciada. |
generalCause | string | null | Nombre de la causa general. null mientras el paro no esté clasificado. |
specificCause | string | null | Nombre de la causa específica. |
component | string | null | Nombre del componente involucrado. |
description | string | null | Descripción del paro en texto libre. |
isAutomated | boolean | null | true si la clasificación la aplicó automáticamente una regla, false si la capturó una persona. null mientras el paro no esté clasificado. |
Igual que con las clasificaciones, un paro se identifica por su máquina y su start. Usa ese par para relacionar un MachineStopEnded con el MachineStopCreated que ya recibiste, y con un evento de clasificación posterior del mismo paro.
Paro creado
MachineStopCreated se envía cuando Pulsar registra un paro nuevo. Los campos de la causa son null hasta que alguien lo clasifique.
{
"eventId": "2a7c9e14-6b3d-4f81-a5c2-9d0e7f3b1a68",
"eventTimestamp": "2026-09-25T13:41:52.306Z",
"eventType": "MachineStopCreated",
"event": {
"machine": "Inyectora 4",
"machineExternalName": "INJ-004",
"start": "2026-09-25T13:41:07.000Z",
"end": null,
"operator": "Ana Torres",
"generalCause": null,
"specificCause": null,
"component": null,
"description": null,
"isAutomated": null
}
}Paro terminado
MachineStopEnded se envía cuando un paro recibe su hora de fin. Un paro que Pulsar registra ya cerrado se envía como MachineStopCreated y como MachineStopEnded.
{
"eventId": "e6b13f80-4c2a-4d97-8e5b-1f9a7c3d0b24",
"eventTimestamp": "2026-09-25T13:59:04.751Z",
"eventType": "MachineStopEnded",
"event": {
"machine": "Inyectora 4",
"machineExternalName": "INJ-004",
"start": "2026-09-25T13:41:07.000Z",
"end": "2026-09-25T13:58:30.000Z",
"operator": "Ana Torres",
"generalCause": null,
"specificCause": null,
"component": null,
"description": null,
"isAutomated": null
}
}Si el paro se clasificó antes de que se entregara el evento, los campos de la causa llevan esa clasificación.
Qué esperar
- Los cambios de turno dividen los paros. Un paro que sigue abierto cuando termina un turno se cierra en el cambio de turno, y empieza un paro nuevo en el siguiente. Recibes un
MachineStopEndeddel primero y unMachineStopCreateddel segundo. - El inicio de un paro puede moverse. Pulsar puede ajustar la hora de inicio de un paro después de registrarlo. Como un paro se identifica por su
start, recibes unMachineStopCreatedcon el nuevo inicio y nada más del anterior. - Solo paros detectados. Los paros que alguien agrega o divide a mano en Pulsar todavía no envían eventos de paro.
Clasificaciones de paros de máquina
Cuando una máquina se detiene, Pulsar registra el paro. Clasificarlo significa registrar por qué ocurrió: una causa general, opcionalmente una causa más específica y el componente involucrado, y una descripción en texto libre. Una clasificación la captura una persona o la aplica automáticamente una regla.
Los tres eventos de clasificación llevan el mismo objeto event:
| Campo | Tipo | Descripción |
|---|---|---|
machine | string | El nombre de la máquina en Pulsar. |
machineExternalName | string | null | El nombre externo de la máquina, por ejemplo su ID en tu ERP. null si no tiene. |
start | string | Cuándo empezó el paro, como marca de tiempo UTC ISO 8601. |
end | string | null | Cuándo terminó el paro, como marca de tiempo UTC ISO 8601. Puede ser null. |
operator | string | null | Nombre completo del operador que estaba en la máquina cuando empezó el paro. null si no había nadie con sesión iniciada. |
generalCause | string | null | Nombre de la causa general. |
specificCause | string | null | Nombre de la causa específica. |
component | string | null | Nombre del componente involucrado. |
description | string | null | Descripción del paro en texto libre. |
isAutomated | boolean | true si la clasificación la aplicó automáticamente una regla, false si la capturó una persona. |
Un paro se identifica por su máquina y su start. Usa ese par para relacionar una actualización o eliminación con un paro que ya conoces.
Nombres, no IDs
Las máquinas, causas, componentes y operadores se envían por nombre. Si alguno cambia de nombre en Pulsar, los eventos posteriores llevan el nombre nuevo.
Creada
MachineStopClassificationCreated se envía cuando un paro se clasifica por primera vez.
{
"eventId": "8d2f6c1e-4b7a-4f0e-9a3c-5e1d7b9f2a64",
"eventTimestamp": "2026-09-25T14:03:12.482Z",
"eventType": "MachineStopClassificationCreated",
"event": {
"machine": "Inyectora 4",
"machineExternalName": "INJ-004",
"start": "2026-09-25T13:41:07.000Z",
"end": "2026-09-25T13:58:30.000Z",
"operator": "Ana Torres",
"generalCause": "Falla mecánica",
"specificCause": "Atasco en el molde",
"component": "Perno expulsor",
"description": "Pieza atorada en la cavidad 2, se liberó manualmente",
"isAutomated": false
}
}Actualizada
MachineStopClassificationUpdated se envía cuando cambia una clasificación existente, por ejemplo cuando alguien corrige la causa. El objeto event lleva los valores actuales de la clasificación.
{
"eventId": "c41a7e09-2d6b-4f38-9e15-7b0c3a9d4f22",
"eventTimestamp": "2026-09-25T14:20:45.117Z",
"eventType": "MachineStopClassificationUpdated",
"event": {
"machine": "Inyectora 4",
"machineExternalName": "INJ-004",
"start": "2026-09-25T13:41:07.000Z",
"end": "2026-09-25T13:58:30.000Z",
"operator": "Ana Torres",
"generalCause": "Falla mecánica",
"specificCause": "Falla del expulsor",
"component": "Perno expulsor",
"description": "Perno expulsor doblado, se reemplazó",
"isAutomated": false
}
}Eliminada
MachineStopClassificationDeleted se envía cuando se elimina una clasificación y el paro queda sin clasificar. Las causas, el componente, la descripción e isAutomated describen la clasificación tal como estaba antes de eliminarse. La máquina, los horarios del paro y el operador vienen de los registros actuales de Pulsar.
{
"eventId": "5e93b0d7-8a14-4c6f-b2e8-1d7f0a3c9b56",
"eventTimestamp": "2026-09-25T15:02:09.804Z",
"eventType": "MachineStopClassificationDeleted",
"event": {
"machine": "Inyectora 4",
"machineExternalName": "INJ-004",
"start": "2026-09-25T13:41:07.000Z",
"end": "2026-09-25T13:58:30.000Z",
"operator": "Ana Torres",
"generalCause": "Falla mecánica",
"specificCause": "Falla del expulsor",
"component": "Perno expulsor",
"description": "Perno expulsor doblado, se reemplazó",
"isAutomated": false
}
}Los datos del evento se leen al momento de la entrega
En los eventos de paro y en los de creación y actualización de clasificaciones, Pulsar lee el paro o la clasificación cuando prepara la notificación por primera vez, no en el instante del cambio. Si una clasificación cambia dos veces seguidas, ambos eventos pueden llevar los valores más recientes, y un MachineStopCreated que se entrega tarde puede llevar ya end. Trata cada evento como "así se ve ahora este paro", no como el registro de una edición en particular.
Si un paro ya no existe cuando Pulsar prepara su evento de paro, por ejemplo porque su inicio se movió, el evento no se envía.
Un reintento o reenvío vuelve a enviar exactamente el mismo cuerpo que el primer intento, así que nunca incluye cambios posteriores.