Dashboard

Alertas

GET /api/alertas

Retorna todos os alertas do usuário autenticado, ordenados por data de criação (mais recentes primeiro).

Autenticação

Scope necessário: alerts:read

Inclua o header Authorization: Bearer <api-key> ou use cookie de sessão.

Requisição

GET /api/alertas

Headers

HeaderObrigatórioDescrição
AuthorizationsimBearer pk_... (API key) ou cookie de sessão

Exemplo

curl "https://api.placaflow.com.br/api/alertas" \
  -H "Authorization: Bearer pk_a1b2c3d4e5f6g7h8i9j0..."

Resposta 200

{
  "alerts": [
    {
      "id": "a1b2c3d4-5678-9abc-def0-123456789abc",
      "userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
      "createdAt": "2026-03-15T10:00:00.000Z",
      "updatedAt": "2026-03-20T18:30:00.000Z",
      "name": "Intruso noturno",
      "description": "Alerta para placas desconhecidas à noite",
      "enabled": true,
      "plateMatchMode": "allowlist",
      "plates": ["ABC1D23", "XYZ9K87", "DEF4G56"],
      "cameraScope": "all",
      "cameraIds": [],
      "scheduleEnabled": true,
      "schedule": {
        "startTime": "22:00",
        "endTime": "06:00",
        "daysOfWeek": []
      },
      "minConfidence": 0.8,
      "cooldownMinutes": 5,
      "notifications": [
        { "type": "email", "addresses": ["seguranca@empresa.com"] },
        { "type": "webhook", "url": "https://api.example.com/hook" }
      ],
      "lastTriggeredAt": "2026-03-22T03:15:00.000Z",
      "triggerCount": 42
    },
    {
      "id": "b2c3d4e5-6789-abcd-ef01-23456789abcd",
      "userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
      "createdAt": "2026-03-10T12:00:00.000Z",
      "updatedAt": "2026-03-10T12:00:00.000Z",
      "name": "VIP chegou",
      "description": "Notifica quando diretores chegam",
      "enabled": true,
      "plateMatchMode": "specific",
      "plates": ["DIR1A00", "DIR2B00"],
      "cameraScope": "specific",
      "cameraIds": ["7012e192-5005-43b6-978c-7e304b3676a6"],
      "scheduleEnabled": false,
      "schedule": {
        "startTime": "00:00",
        "endTime": "23:59",
        "daysOfWeek": []
      },
      "minConfidence": 0.9,
      "cooldownMinutes": 10,
      "notifications": [
        { "type": "email", "addresses": ["recepcao@empresa.com"] }
      ],
      "lastTriggeredAt": "2026-03-21T08:45:00.000Z",
      "triggerCount": 15
    }
  ]
}

Campos de cada alerta

CampoTipoDescrição
idstringUUID único do alerta
userIdstringUUID do proprietário
createdAtstringData de criação ISO 8601
updatedAtstringData da última atualização ISO 8601
namestringNome do alerta
descriptionstringDescrição do alerta
enabledbooleanAlerta ativo ou desativado
plateMatchMode"any" | "specific" | "allowlist"Modo de correspondência de placas
platesstring[]Lista de placas para correspondência
cameraScope"all" | "specific"Escopo de câmeras monitoradas
cameraIdsstring[]UUIDs das câmeras (quando cameraScope é "specific")
scheduleEnabledbooleanRestrição de horário ativa
scheduleobjectConfiguração de horário
schedule.startTimestringHorário de início (HH:mm)
schedule.endTimestringHorário de fim (HH:mm)
schedule.daysOfWeekstring[]Dias da semana: mon, tue, wed, thu, fri, sat, sun. Vazio = todos
minConfidencenumberConfiança mínima para disparar (0-1)
cooldownMinutesnumberMinutos entre disparos consecutivos
notificationsarrayCanais de notificação configurados
lastTriggeredAtstring?Data/hora do último disparo ISO 8601
triggerCountnumberTotal de vezes que o alerta foi disparado

Erros

CódigoDescrição
401Não autenticado ou API key inválida
403API key não possui scope alerts:read
Esta página foi útil?