# Aprovações (Forecast de Soja)
Victor Lucas - 28/setembro
---
## OP notifica GU, GR e RTV
**POST** /forecast-approvals/send-notification
```
# BODY
{serieId} required
```
Para este caso `{level}` não deve ser enviado sob nenhuma hipótese e `{serieId}` deve ser enviado com o identificador da Serie
---
## RTV envia para validação GR
**PUT** /forecast-approvals/approve
```
# BODY
{districtId} required
{serieId} required
{level} required
```
Para este caso `{level}` deve ser enviado sempre como "**RTV**"
---
## GR Aprova Distrito
**PUT** /forecast-approvals/approve
```
# BODY
{districtId} required
{serieId} required
{level} required
```
Para este caso `{level}` deve ser enviado sempre como "**GR**". **IMPORTANTE**, não deve ser enviado `regionalId`, uma vez que isto caracterizará o envio da Regional para o GU
---
## GR Reprova Distrito
**PUT** /forecast-approvals/reprove
```
# BODY
{districtId} required
{serieId} required
{level} required
{notes} required
```
Para este caso `{level}` deve ser enviado sempre como "**GR**" e `{notes}` deve ser preenchido com a justificativa
---
## GR envia para validação GU
**PUT** /forecast-approvals/approve
```
# BODY
{regionalId} required
{serieId} required
{level} required
{notes} required
```
Para este caso `{level}` deve ser enviado sempre como "**GR**". **IMPORTANTE**, não deve ser enviado `districtId`, uma vez que isto caracterizará a aprovação de um Distrito
---
## GU Aprova uma regional
**PUT** /forecast-approvals/approve
```
# BODY
{regionalId} required
{serieId} required
{level} required
```
Para este caso `{level}` deve ser enviado sempre como "**GU**"
---
## GU Reprova uma regional
**PUT** /forecast-approvals/reprove
```
# BODY
{regionalId} required
{serieId} required
{level} required
{notes} required
```
Para este caso `{level}` deve ser enviado sempre como "**GU**" e `{notes}` deve ser preenchido com a justificativa
## GU notifica GR e OP sobre final de fluxo
**POST** /forecast-approvals/send-notification/finish
```
# BODY
{serieId} required
```
Para este caso `{level}` não deve ser enviado sob nenhuma hipótese e `{serieId}` deve ser enviado com o identificador da Serie
---
## Status existentes
**REGIONAL**
`PENDENTE` - GR está pendente de enviar para validação do GU
`PENDENTE_GU` - GU está pendente de validar dados de GR
`PENDENTE_VALIDACAO_GR` - GU reprovou solicitando modificações do GR
`APROVADO` - GU aprovou e finalizou fluxo
**DISTRITO**
`PENDENTE` - RTV está pendente de enviar para validação GR
`PENDENTE_GR` - GR está pendente de validar dados do RTV
`REPROVADO_GR` - GR reprovou solicitando modificações do RTV
`APROVADO_GR` - GR aprovou dados do RTV
`PENDENTE_GU` - GU está pendente de validar a **Regional** enviada pelo GR
`APROVADO` - GU aprovou e finalizou fluxo
## Categorias de status
Representado em banco pelo campo `level`
`1` - indica PENDÊNCIA, ex: status `PENDENTE` por RTV estar pendente de enviar para validação GR
`2` - indica APROVAÇÃO, ex: status `APROVADO` por GU ter aprovado e finalizado o fluxo
`3` - indica REPROVAÇÃO, ex: status `REPROVADO_GR` por GR ter reprovado solicitando modificações do RTV