# Paragem terminada (https://docs.pulsarml.com/pt/v1/api-reference/webhooks/machine-stop-ended)

Enviado quando uma paragem de máquina recebe a sua hora de fim. Uma paragem que o Pulsar regista já fechada é enviada como `MachineStopCreated` e como `MachineStopEnded`.

## Webhook: `MachineStopEnded`

Pulsar sends a `POST` request with this body to the HTTPS endpoint you registered for the `MachineStopEnded` event. Verify `X-Pulsar-Signature` before trusting it; see https://docs.pulsarml.com/webhooks/signatures.

### Header parameters

- `X-Pulsar-Signature` (string, required, e.g. `"5c0e2f4a1b9d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f"`) — Assinatura HMAC-SHA256 do corpo em bruto. Verifique-a antes de confiar no pedido; consulte Verificar assinaturas.
- `X-Pulsar-Event-Type` (string, required, e.g. `"MachineStopEnded"`) — O tipo de evento, igual a `eventType` no corpo.
- `X-Pulsar-Event-Id` (string, required, e.g. `"8d2f6c1e-4b7a-4f0e-9a3c-5e1d7b9f2a64"`) — O ID do evento, igual a `eventId` no corpo.
- `X-Pulsar-Timestamp` (string, required, e.g. `"2026-09-25T14:03:12.482Z"`) — Igual a `eventTimestamp` no corpo.
- `X-Pulsar-Request-Id` (string, required, e.g. `"3f9b2c7d-1e4a-4c8b-b6d2-9a0e5f7c1b38"`) — O ID desta tentativa de entrega. Inclua-o quando contactar o suporte do Pulsar sobre uma entrega.

### Request body (`application/json`, required)

Type: object

- `eventId` (string (uuid), required) — ID único do evento. Não muda entre novas tentativas, por isso use-o para detetar duplicados.
- `eventTimestamp` (string (date-time), required) — Quando o Pulsar colocou o evento em fila, como data e hora UTC em ISO 8601. Não é o momento em que a alteração ocorreu no Pulsar.
- `eventType` ("MachineStopEnded", required) — O tipo de evento.
- `event` (object, required) — Uma paragem de máquina, com a sua classificação, se tiver uma. Uma paragem é identificada pela sua `machine` e pelo seu `start`. Os campos da classificação são `null` enquanto a paragem não estiver classificada.
  - `machine` (string, required, e.g. `"Injection molder 4"`) — O nome da máquina no Pulsar.
  - `machineExternalName` (string, required, nullable, e.g. `"INJ-004"`) — O nome externo da máquina, por exemplo o ID que tem no seu ERP. `null` se não tiver nenhum.
  - `start` (string (date-time), required, e.g. `"2026-09-25T13:41:07.000Z"`) — Quando a paragem começou, como data e hora UTC em ISO 8601.
  - `end` (string (date-time), required, nullable, e.g. `"2026-09-25T13:58:30.000Z"`) — Quando a paragem terminou, como data e hora UTC em ISO 8601. `null` enquanto a paragem ainda estiver aberta.
  - `operator` (string, required, nullable, e.g. `"Ana Torres"`) — Nome completo do operador que estava na máquina quando a paragem começou. `null` se ninguém tinha sessão iniciada.
  - `generalCause` (string, required, nullable, e.g. `"Mechanical failure"`) — Nome da causa geral. `null` enquanto a paragem não estiver classificada.
  - `specificCause` (string, required, nullable, e.g. `"Mold jam"`) — Nome da causa específica.
  - `component` (string, required, nullable, e.g. `"Ejector pin"`) — Nome do componente envolvido.
  - `description` (string, required, nullable, e.g. `"Part stuck in cavity 2, cleared manually"`) — Descrição da paragem em texto livre.
  - `isAutomated` (boolean, required, nullable, e.g. `false`) — `true` se a classificação foi aplicada automaticamente por uma regra, `false` se foi introduzida por uma pessoa. `null` enquanto a paragem não estiver classificada.

### Your response

#### 200 — Responda com qualquer `2XX` em menos de 10 segundos para confirmar a entrega; o Pulsar ignora o corpo da resposta. Um tempo limite esgotado, `408`, `429` ou `5XX` dá origem a uma nova tentativa. Qualquer outro `4XX`, ou um redirecionamento `3XX`, não.

### Example body

```json
{
  "eventId": "e6b13f80-4c2a-4d97-8e5b-1f9a7c3d0b24",
  "eventTimestamp": "2026-09-25T13:59:04.751Z",
  "eventType": "MachineStopEnded",
  "event": {
    "machine": "Injection molder 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
  }
}
```