agroplan-ai-cli 1.0.14 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/backend-template/api.py +54 -0
- package/package.json +1 -1
package/backend-template/api.py
CHANGED
|
@@ -747,3 +747,57 @@ def limpar_cache(request: Request):
|
|
|
747
747
|
if __name__ == "__main__":
|
|
748
748
|
import uvicorn
|
|
749
749
|
uvicorn.run(app, host=HOST, port=PORT)
|
|
750
|
+
|
|
751
|
+
@app.get("/dados/zarc")
|
|
752
|
+
def get_zarc(
|
|
753
|
+
cultura: Optional[str] = Query(None, description="Nome da cultura"),
|
|
754
|
+
uf: Optional[str] = Query(None, description="Unidade Federativa (ex: SP, PR)"),
|
|
755
|
+
municipio: Optional[str] = Query(None, description="Nome do município"),
|
|
756
|
+
solo: Optional[str] = Query(None, description="Tipo de solo"),
|
|
757
|
+
safra: str = Query("2025/2026", description="Safra (ex: 2025/2026)")
|
|
758
|
+
):
|
|
759
|
+
"""Obtém dados ZARC (Zoneamento Agrícola de Risco Climático)"""
|
|
760
|
+
try:
|
|
761
|
+
# Importar provider ZARC
|
|
762
|
+
from providers.zarc_provider import buscar_zarc
|
|
763
|
+
|
|
764
|
+
# Se cultura não foi fornecida, retornar mensagem amigável
|
|
765
|
+
if not cultura:
|
|
766
|
+
return {
|
|
767
|
+
"message": "Informe a cultura para consultar dados ZARC.",
|
|
768
|
+
"exemplo_soja_sp": "/dados/zarc?cultura=soja&uf=SP&municipio=Sao%20Paulo&solo=argiloso",
|
|
769
|
+
"exemplo_milho_pr": "/dados/zarc?cultura=milho&uf=PR&municipio=Londrina&solo=argiloso",
|
|
770
|
+
"parametros": {
|
|
771
|
+
"cultura": "Nome da cultura (obrigatório)",
|
|
772
|
+
"uf": "Unidade Federativa (opcional)",
|
|
773
|
+
"municipio": "Nome do município (opcional)",
|
|
774
|
+
"solo": "Tipo de solo (opcional)",
|
|
775
|
+
"safra": "Safra, padrão 2025/2026"
|
|
776
|
+
},
|
|
777
|
+
"culturas_disponiveis": ["soja", "milho", "feijao", "cafe", "cana", "trigo", "algodao"],
|
|
778
|
+
"safras_disponiveis": ["2025/2026", "2026/2027"]
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
# Buscar dados ZARC
|
|
782
|
+
zarc_data = buscar_zarc(
|
|
783
|
+
cultura=cultura,
|
|
784
|
+
uf=uf,
|
|
785
|
+
municipio=municipio,
|
|
786
|
+
solo=solo,
|
|
787
|
+
safra=safra
|
|
788
|
+
)
|
|
789
|
+
|
|
790
|
+
if zarc_data:
|
|
791
|
+
return zarc_data
|
|
792
|
+
else:
|
|
793
|
+
return {
|
|
794
|
+
"message": "Dados ZARC não encontrados para os parâmetros fornecidos.",
|
|
795
|
+
"cultura": cultura,
|
|
796
|
+
"uf": uf,
|
|
797
|
+
"municipio": municipio,
|
|
798
|
+
"solo": solo,
|
|
799
|
+
"safra": safra,
|
|
800
|
+
"sugestao": "Tente com parâmetros mais genéricos (apenas cultura e UF)"
|
|
801
|
+
}
|
|
802
|
+
except Exception as e:
|
|
803
|
+
raise HTTPException(status_code=500, detail=str(e))
|