Endpoints de Alimentação
Visão Geral
Seção intitulada “Visão Geral”A API de Alimentação fornece gerenciamento abrangente de registros de alimentação com cálculos automáticos de custos, rastreamento de FCA e integração com gerenciamento de estoque.
Todos os endpoints requerem autenticação.
Authorization: Bearer <token>POST /feeding/
Seção intitulada “POST /feeding/”Registrar um evento de alimentação para um lote.
Requisição
Seção intitulada “Requisição”POST /api/v1/feeding/Authorization: Bearer <token>Content-Type: application/json{ "batch_id": "batch-uuid", "feed_type": "Ração Alta Proteína 35%", "quantity_kg": 15.5, "cost_per_kg": 12.50, "feed_date": "2026-02-19T08:00:00Z", "notes": "Alimentação matinal"}Parâmetros do Body
Seção intitulada “Parâmetros do Body”| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
batch_id | UUID | ✅ | ID do lote |
feed_type | string | ✅ | Tipo/marca da ração |
quantity_kg | float | ✅ | Quantidade em quilogramas |
cost_per_kg | float | ✅ | Custo por quilograma |
feed_date | datetime | ✅ | Data da alimentação (ISO 8601) |
notes | string | ❌ | Notas adicionais |
Resposta 201 Created
Seção intitulada “Resposta 201 Created”{ "id": "550e8400-e29b-41d4-a716-446655440000", "batch_id": "batch-uuid", "feed_type": "Ração Alta Proteína 35%", "quantity_kg": 15.5, "cost_per_kg": 12.50, "total_cost": 193.75, "feed_date": "2026-02-19T08:00:00Z", "notes": "Alimentação matinal", "created_at": "2026-02-19T08:30:00Z"}Regras de Validação
Seção intitulada “Regras de Validação”- Lote deve estar em status
ACTIVE - Quantidade deve ser positiva
- Data de alimentação não pode ser anterior à data de início do lote
- Dedução automática de estoque (se estoque habilitado)
GET /feeding/batch/{batch_id}
Seção intitulada “GET /feeding/batch/{batch_id}”Obter histórico de alimentação de um lote.
Requisição
Seção intitulada “Requisição”GET /api/v1/feeding/batch/{batch_id}Authorization: Bearer <token>Resposta 200 OK
Seção intitulada “Resposta 200 OK”{ "batch_id": "batch-uuid", "batch_number": "LOTE-2026-001", "feeding_records": [ { "id": "feeding-uuid-1", "feed_type": "Ração Alta Proteína 35%", "quantity_kg": 15.5, "cost_per_kg": 12.50, "total_cost": 193.75, "feed_date": "2026-02-19T08:00:00Z", "created_at": "2026-02-19T08:30:00Z" } ]}GET /feeding/batch/{batch_id}/summary
Seção intitulada “GET /feeding/batch/{batch_id}/summary”Obter estatísticas de alimentação e FCA de um lote.
Requisição
Seção intitulada “Requisição”GET /api/v1/feeding/batch/{batch_id}/summaryAuthorization: Bearer <token>Resposta 200 OK
Seção intitulada “Resposta 200 OK”{ "batch_id": "batch-uuid", "batch_number": "LOTE-2026-001", "summary": { "total_feed_consumed_kg": 340.0, "total_feed_cost": 4250.0, "average_daily_feed_kg": 8.1, "days_with_feeding": 42, "current_fca": 1.8, "total_feeding_records": 84 }, "fca_analysis": { "total_feed_kg": 340.0, "biomass_gained_kg": 725.0, "initial_biomass_kg": 125.0, "current_biomass_kg": 850.0, "fca": 1.8, "efficiency_rating": "GOOD" }}Classificação de FCA
Seção intitulada “Classificação de FCA”| FCA | Classificação | Descrição |
|---|---|---|
| < 1.5 | EXCELLENT | Eficiência alimentar excepcional |
| 1.5-2.0 | GOOD | Boa eficiência alimentar |
| 2.0-2.5 | ACCEPTABLE | Eficiência alimentar aceitável |
| > 2.5 | POOR | Eficiência alimentar ruim |
Exemplos de Uso
Seção intitulada “Exemplos de Uso”async function recordFeeding(batchId, feedingData, token) { const response = await fetch('https://api.aeraplus.com/v1/feeding/', { method: 'POST', headers: { 'Authorization': `Bearer ${token}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ batch_id: batchId, feed_date: new Date().toISOString(), ...feedingData }) });
return response.json();}
async function getFeedingSummary(batchId, token) { const response = await fetch( `https://api.aeraplus.com/v1/feeding/batch/${batchId}/summary`, { headers: { 'Authorization': `Bearer ${token}` } } );
const data = await response.json(); console.log(`FCA Atual: ${data.fca_analysis.fca} (${data.fca_analysis.efficiency_rating})`);
return data;}GET /feeding/batch/{batch_id}/recommendation
Seção intitulada “GET /feeding/batch/{batch_id}/recommendation”Obtém recomendação de alimentação baseada em IA para um lote.
Parâmetros de Path
Seção intitulada “Parâmetros de Path”| Parâmetro | Tipo | Descrição |
|---|---|---|
batch_id | UUID | ID do lote |
Requisição
Seção intitulada “Requisição”GET /api/v1/feeding/batch/{batch_id}/recommendationAuthorization: Bearer <token>Resposta 200 OK
Seção intitulada “Resposta 200 OK”{ "batch_id": "batch-uuid", "batch_number": "LOTE-2026-001", "recommendation": { "date": "2026-02-20", "recommended_feed_kg": 28.5, "feeding_frequency": 4, "feed_type": "Alta Proteína 35%", "feeding_rate_percent": 3.5, "adjustment_reason": "Aumentando baseado na taxa de crescimento recente" }, "factors": { "current_biomass_kg": 850.0, "average_weight_g": 12.8, "days_in_production": 45, "water_temperature": 28.5, "survival_rate": 85.0, "last_biometry_days_ago": 4 }, "daily_schedule": [ { "time": "06:00", "percentage": 25, "quantity_kg": 7.1 }, { "time": "10:00", "percentage": 25, "quantity_kg": 7.1 }, { "time": "14:00", "percentage": 30, "quantity_kg": 8.6 }, { "time": "18:00", "percentage": 20, "quantity_kg": 5.7 } ], "notes": [ "Considere reduzir ração se temperatura da água cair abaixo de 26°C", "Monitore níveis de OD durante horários de pico de alimentação", "Ajuste baseado em observações de bandeja de ração" ]}Fatores da Recomendação
Seção intitulada “Fatores da Recomendação”| Fator | Descrição |
|---|---|
current_biomass_kg | Biomassa atual estimada |
average_weight_g | Peso médio mais recente |
water_temperature | Afeta metabolismo e apetite |
survival_rate | Sobrevivência estimada atual |
last_biometry_days_ago | Dias desde a última biometria |