Dashboard

Câmeras

GET /api/cameras

Retorna todas as câmeras do usuário autenticado, ordenadas por data de criação (mais recentes primeiro).

Autenticação

Scope necessário: cameras:read

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

Requisição

GET /api/cameras

Headers

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

Exemplo

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

Resposta 200

{
  "cameras": [
    {
      "id": "7012e192-5005-43b6-978c-7e304b3676a6",
      "userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
      "createdAt": "2026-03-20T10:00:00.000Z",
      "updatedAt": "2026-03-21T15:30:00.000Z",
      "enabled": true,
      "name": "Entrada principal",
      "location": "Portão A",
      "rtspUrl": "rtsp://admin:pass@192.168.1.200:554/stream",
      "rtspTransport": "tcp",
      "roi": null,
      "minConfidence": 0.7,
      "motionDetectionEnabled": true,
      "motionDetectorType": "framediff",
      "motionThresholdPercent": 0.01,
      "motionFramesRequired": 1,
      "decodeMode": "auto",
      "frameIntervalMs": 200,
      "frameSkip": 0,
      "crop": true,
      "cropResolution": "640x360",
      "processingMode": "disk",
      "queueSize": 100,
      "jpegQuality": 100,
      "snapshotUrl": null,
      "lastSnapshotAt": "2026-03-22T14:30:00.000Z"
    },
    {
      "id": "a8b9c0d1-2345-6789-abcd-ef0123456789",
      "userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
      "createdAt": "2026-03-18T08:00:00.000Z",
      "updatedAt": "2026-03-18T08:00:00.000Z",
      "enabled": true,
      "name": "Saída veículos",
      "location": "Portão B",
      "rtspUrl": "rtsp://admin:pass@192.168.1.201:554/stream",
      "rtspTransport": "tcp",
      "roi": null,
      "minConfidence": 0.5,
      "motionDetectionEnabled": true,
      "motionDetectorType": "framediff",
      "motionThresholdPercent": 0.01,
      "motionFramesRequired": 1,
      "decodeMode": "auto",
      "frameIntervalMs": 200,
      "frameSkip": 0,
      "crop": true,
      "cropResolution": "640x360",
      "processingMode": "disk",
      "queueSize": 100,
      "jpegQuality": 100,
      "snapshotUrl": null,
      "lastSnapshotAt": "2026-03-22T14:25:00.000Z"
    }
  ]
}

Campos de cada câmera

CampoTipoDescrição
idstringUUID único da câmera
userIdstringUUID do proprietário
createdAtstringData de criação ISO 8601
updatedAtstringData da última atualização ISO 8601
enabledbooleanCâmera ativa ou desativada
namestringNome da câmera
locationstringLocalização física
rtspUrlstringURL do stream RTSP
rtspTransport"tcp" | "udp"Protocolo de transporte RTSP
roiobject?Região de interesse (coordenadas do polígono)
minConfidencenumberConfiança mínima para aceitar reconhecimento (0-1)
motionDetectionEnabledbooleanDetecção de movimento ativa
motionDetectorType"mog2" | "framediff"Algoritmo de detecção de movimento
motionThresholdPercentnumberThreshold de detecção de movimento
motionFramesRequirednumberFrames consecutivos com movimento necessários
decodeMode"auto" | "gpu" | "cpu"Modo de decodificação de vídeo
frameIntervalMsnumberIntervalo entre capturas de frames (ms)
frameSkipnumberNúmero de frames ignorados entre capturas
cropbooleanSe deve recortar a região da placa
cropResolution"426x240" | "640x360" | "1280x720"Resolução do recorte
processingMode"blocking" | "queue" | "disk"Modo de processamento de frames
queueSizenumberTamanho da fila de processamento
jpegQualitynumberQualidade JPEG (1-100)
snapshotUrlstring?URL do último snapshot
lastSnapshotAtstring?Data/hora do último snapshot ISO 8601

Erros

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