Pular para o conteúdo principal

Approve delivery changes

PUT 

/company/delivery/aprove/:service_code

Aprova as alterações realizadas pelo transportador em um envio replanejado. O status deve ser 'replanned' com replannedBy === 'trucker'.

Objetivo

Permitir que as empresas aceitem modificações solicitadas pelo transportador, finalizando o processo de negociação de alterações.

Casos de Uso

  • Confirmar alterações de datas solicitadas pelo transportador
  • Aprovar modificações na carga (peso, paletes, temperatura)
  • Aceitar alterações em metros lineares ou altura da carga
  • Finalizar o processo de negociação de alterações

Fluxo de Aprovação

flowchart LR
A[Transportador Edita] -->|replannedBy=trucker| B[Status: replanned]
B --> C[Empresa Revisa]
C -->|Aprovar| D[PUT /aprove]
D -->|replannedBy=aproved| E[Status: planned]
C -->|Rejeitar| F[Reverter Manualmente]

Lógica de Validação

flowchart TD
A[Receber Aprovação] --> B{Entrega Existe?}
B -->|Não| C[404 NOT_FOUND]
B -->|Sim| D{Empresa é Dono da Entrega?}
D -->|Não| E[404 NOT_ALLOWED]
D -->|Sim| F{É Status Final?}
F -->|Sim| G[401 NOT_ALLOWED]
F -->|Não| H{Já Aprovado?}
H -->|replannedBy=aproved| I[400 ALREADY_APROVED]
H -->|Não| J{Deve Aprovar Transportador?}
J -->|replannedBy≠trucker| K[401 MUST_APROVE_TRUCKER]
J -->|Sim| L[Definir status=planned]
L --> M[Definir replannedBy=aproved]
M --> N[Salvar - 200]

Observações

  • O envio deve estar no status 'replanned'
  • replannedBy deve ser 'trucker' (não pode ser 'aproved' nem vazio)
  • Não

Request

Responses

Mudanças aprovadas com sucesso