Endpoints de Aeradores
Todos os endpoints de aeradores requerem autenticação.
Authorization: Bearer <token>Status do Aerador
Seção intitulada “Status do Aerador”| Status | Descrição |
|---|---|
ON | Aerador ligado |
OFF | Aerador desligado |
POST /aerators/
Seção intitulada “POST /aerators/”Registra um novo aerador em um viveiro.
Requisição
Seção intitulada “Requisição”POST /api/v1/aerators/Authorization: Bearer <token>Content-Type: application/json{ "pond_id": "pond-uuid", "name": "Aerador A1", "device_id": "AER-001", "power_kw": 1.5}Parâmetros do Body
Seção intitulada “Parâmetros do Body”| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
pond_id | UUID | ✅ | ID do viveiro |
name | string | ✅ | Nome/identificador do aerador |
device_id | string | ❌ | Número de série único do dispositivo |
power_kw | float | ❌ | Consumo de potência em kW |
Resposta 201 Created
Seção intitulada “Resposta 201 Created”{ "id": "aerator-uuid", "pond_id": "pond-uuid", "name": "Aerador A1", "device_id": "AER-001", "power_kw": 1.5, "created_at": "2025-11-21T10:30:00Z", "updated_at": null}Possíveis Erros
Seção intitulada “Possíveis Erros”| Status | Detalhe |
|---|---|
403 | Sem permissão para criar aerador neste viveiro |
400 | Erro de validação |
GET /aerators/
Seção intitulada “GET /aerators/”Lista aeradores (opcionalmente filtrados por viveiro).
Requisição
Seção intitulada “Requisição”GET /api/v1/aerators/Authorization: Bearer <token>Query Parameters
Seção intitulada “Query Parameters”| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
pond_id | UUID | ❌ | Filtra aeradores por ID do viveiro |
Exemplos
Seção intitulada “Exemplos”GET /api/v1/aerators/GET /api/v1/aerators/?pond_id=550e8400-e29b-41d4-a716-446655440000Resposta 200 OK
Seção intitulada “Resposta 200 OK”[ { "id": "aerator-uuid", "pond_id": "pond-uuid", "name": "Aerador A1", "device_id": "AER-001", "power_kw": 1.5 }]GET /aerators/{aerator_id}
Seção intitulada “GET /aerators/{aerator_id}”Obtém detalhes de um aerador específico.
Parâmetros de URL
Seção intitulada “Parâmetros de URL”| Parâmetro | Tipo | Descrição |
|---|---|---|
aerator_id | UUID | ID do aerador |
Requisição
Seção intitulada “Requisição”GET /api/v1/aerators/aerator-uuidAuthorization: Bearer <token>Resposta 200 OK
Seção intitulada “Resposta 200 OK”{ "id": "aerator-uuid", "pond_id": "pond-uuid", "name": "Aerador A1", "device_id": "AER-001", "power_kw": 1.5, "created_at": "2025-11-21T10:30:00Z", "updated_at": null}Possíveis Erros
Seção intitulada “Possíveis Erros”| Status | Detalhe |
|---|---|
404 | Aerador não encontrado |
PUT /aerators/{aerator_id}
Seção intitulada “PUT /aerators/{aerator_id}”Atualiza os detalhes de um aerador.
Parâmetros de URL
Seção intitulada “Parâmetros de URL”| Parâmetro | Tipo | Descrição |
|---|---|---|
aerator_id | UUID | ID do aerador |
Requisição
Seção intitulada “Requisição”PUT /api/v1/aerators/aerator-uuidAuthorization: Bearer <token>Content-Type: application/json{ "name": "Aerador A1 Atualizado", "power_kw": 1.6, "status": "ON"}Parâmetros do Body
Seção intitulada “Parâmetros do Body”Todos os campos são opcionais:
| Campo | Tipo | Descrição |
|---|---|---|
name | string | Novo nome do aerador |
device_id | string | Novo ID do dispositivo |
power_kw | float | Nova potência em kW |
status | enum | Novo status (ON / OFF) |
Resposta 200 OK
Seção intitulada “Resposta 200 OK”Retorna o objeto do aerador atualizado.
Possíveis Erros
Seção intitulada “Possíveis Erros”| Status | Detalhe |
|---|---|
404 | Aerador não encontrado ou sem permissão |
DELETE /aerators/{aerator_id}
Seção intitulada “DELETE /aerators/{aerator_id}”Exclui um aerador.
Parâmetros de URL
Seção intitulada “Parâmetros de URL”| Parâmetro | Tipo | Descrição |
|---|---|---|
aerator_id | UUID | ID do aerador |
Requisição
Seção intitulada “Requisição”DELETE /api/v1/aerators/aerator-uuidAuthorization: Bearer <token>Resposta 204 No Content
Seção intitulada “Resposta 204 No Content”Sem corpo de resposta.
Possíveis Erros
Seção intitulada “Possíveis Erros”| Status | Detalhe |
|---|---|
404 | Aerador não encontrado ou sem permissão |
POST /aerators/{aerator_id}/control
Seção intitulada “POST /aerators/{aerator_id}/control”Controla o aerador (liga/desliga).
Parâmetros de URL
Seção intitulada “Parâmetros de URL”| Parâmetro | Tipo | Descrição |
|---|---|---|
aerator_id | UUID | ID do aerador |
Requisição
Seção intitulada “Requisição”POST /api/v1/aerators/aerator-uuid/controlAuthorization: Bearer <token>Content-Type: application/json{ "status": "ON"}Valores de Status
Seção intitulada “Valores de Status”| Status | Descrição |
|---|---|
ON | Ligar aerador |
OFF | Desligar aerador |
Resposta 200 OK
Seção intitulada “Resposta 200 OK”{ "id": "aerator-uuid", "name": "Aerador A1", "status": "ON", "last_command_at": "2025-11-21T15:45:00Z"}Possíveis Erros
Seção intitulada “Possíveis Erros”| Status | Detalhe |
|---|---|
404 | Aerador não encontrado ou sem permissão |