Dashboard

Reconhecimentos

GET /api/recognitions

Retorna reconhecimentos do usuário autenticado, ordenados por data (mais recentes primeiro). Suporta filtros por placa, câmera e intervalo de datas.

Autenticação

Scope necessário: recognitions:read

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

Requisição

GET /api/recognitions

Headers

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

Parâmetros de query

ParâmetroTipoObrigatórioDescrição
platestringnãoFiltro por texto contido na placa (case-insensitive)
cameraIdstringnãoFiltro por UUID da câmera
fromISO 8601nãoData/hora inicial (ex: 2026-03-01T00:00:00Z)
toISO 8601nãoData/hora final (ex: 2026-03-22T23:59:59Z)
limitnumbernãoResultados por página (1-200, padrão 50)
lastKeystringnãoCursor de paginação retornado na resposta anterior

Exemplo

curl -X GET "https://api.placaflow.com.br/api/recognitions?plate=ABC&from=2026-03-01T00:00:00Z&limit=10" \
  -H "Authorization: Bearer pk_a1b2c3d4e5f6g7h8i9j0..."

Resposta 200

{
  "recognitions": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
      "cameraId": "7012e192-5005-43b6-978c-7e304b3676a6",
      "cameraName": "Entrada principal",
      "plate": "ABC1D23",
      "confidence": 0.96,
      "timestamp": "2026-03-22T14:30:00.000Z",
      "photoUrl": "frames/7012e192/1711115400000-photo.jpg",
      "cropUrl": "frames/7012e192/1711115400000-crop.jpg",
      "plateCoordinates": {
        "x": 622,
        "y": 301,
        "width": 429,
        "height": 80
      }
    },
    {
      "id": "661f9511-f30c-52e5-b827-557766551111",
      "userId": "c3a1e902-4f5b-4b8a-9c6d-1a2b3c4d5e6f",
      "cameraId": "7012e192-5005-43b6-978c-7e304b3676a6",
      "cameraName": "Entrada principal",
      "plate": "ABC4F56",
      "confidence": 0.89,
      "timestamp": "2026-03-22T13:15:00.000Z",
      "photoUrl": "frames/7012e192/1711110900000-photo.jpg",
      "cropUrl": "frames/7012e192/1711110900000-crop.jpg",
      "plateCoordinates": {
        "x": 410,
        "y": 280,
        "width": 395,
        "height": 75
      }
    }
  ],
  "nextKey": "eyJpZCI6IjY2MWY5NTExLWYzMGMtNTJlNS1iODI3LTU1Nzc2NjU1MTExMSJ9"
}

Atenção

Os campos photoUrl e cropUrl na listagem são chaves S3 internas (não URLs acessíveis diretamente). Use o endpoint GET /api/recognitions/:id para obter URLs presignadas válidas por 1 hora.

Campos da resposta

CampoTipoDescrição
recognitionsarrayLista de objetos de reconhecimento
nextKeystring | nullCursor para a próxima página. null se não houver mais resultados

Campos de cada reconhecimento

CampoTipoDescrição
idstringUUID único do reconhecimento
userIdstringUUID do proprietário
cameraIdstringUUID da câmera de origem
cameraNamestringNome da câmera
platestringTexto da placa (uppercase)
confidencenumberConfiança do reconhecimento (0-1)
timestampstringData/hora ISO 8601
photoUrlstring?Chave S3 do frame completo (use GET por ID para URL presignada)
cropUrlstring?Chave S3 do recorte da placa (use GET por ID para URL presignada)
plateCoordinatesobject?Bounding box: {x, y, width, height} em pixels

Paginação

Se nextKey não for null, existem mais resultados. Passe o valor como lastKey na próxima requisição:

curl "https://api.placaflow.com.br/api/recognitions?lastKey=eyJpZCI6IjY2MWY5NTExLWYzMGMtNTJlNS1iODI3LTU1Nzc2NjU1MTExMSJ9" \
  -H "Authorization: Bearer pk_a1b2c3d4e5f6g7h8i9j0..."

Erros

CódigoDescrição
400Parâmetro inválido (ex: limit fora do intervalo 1-200)
401Não autenticado ou API key inválida
403API key não possui scope recognitions:read
Esta página foi útil?