-
Notifications
You must be signed in to change notification settings - Fork 0
refactor: ajuste para exibir motivos cancelamento #33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4163,7 +4163,7 @@ | |
| "/entregas/{id}/cancelar": { | ||
| "post": { | ||
| "summary": "Cancelar entrega", | ||
| "description": "Cancela a solicitação de entrega, modificando seu status para `C`. A solicitação não pode ter sido finalizada, cancelada ou não atendida anteriormente.", | ||
| "description": "Cancela a solicitação de entrega, modificando seu status para `C`. A solicitação não pode ter sido finalizada, cancelada ou não atendida anteriormente (status `F`, `C` ou `N`).\n\n**O motivo aceito depende do status atual da entrega e de quem cancela.**\n\n**Cancelamento pela empresa:**\n\n| Status atual | Motivo aceito |\n|---|---|\n| `D` Distribuindo, `T` Redistribuindo, `P` Pendente, `G` Aguardando aceite (em despacho) | Somente `10` (Outros casos) |\n| `A` Aceita, `E` Em andamento, `S` Em espera (com condutor) | Somente motivos de empresa: `12` (Motorista não está vindo) |\n\nEnviar um motivo fora do permitido para o status atual retorna erro `102` (motivo inválido para a empresa). Um `motivo_id` inexistente retorna erro `26` (motivo de cancelamento não encontrado).\n\n**Cancelamento pela central:** quando a entrega é cancelada pela central, o motivo é definido automaticamente conforme o status, não sendo necessário informar `motivo_id`:\n\n| Status atual | Motivo aplicado |\n|---|---|\n| `L` Aguardando liberação | `11` (Rejeitada) |\n| `D` Distribuindo, `T` Redistribuindo, `G` Aguardando aceite, `P` Pendente, `A` Aceita, `S` Em espera, `R` Aguardando pagamento | `10` (Outros casos) |", | ||
| "parameters": [ | ||
| { | ||
| "name": "id", | ||
|
|
@@ -4183,7 +4183,9 @@ | |
| "type": "object", | ||
| "properties": { | ||
| "motivo_id": { | ||
| "type": "integer" | ||
| "type": "integer", | ||
| "description": "ID do motivo do cancelamento. O motivo permitido varia conforme o status atual da entrega (ver descrição do endpoint):\n- `10`: Outros casos (único aceito enquanto a entrega está em despacho)\n- `12`: Motorista não está vindo (motivo de empresa)", | ||
| "enum": [10, 12] | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sugestão (nit) — a descrição do endpoint menciona que o motivo |
||
| } | ||
| } | ||
| } | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sugestão (nit) — a lista de motivos em
/corridas/{id}/cancelarinclui IDs como11(Rejeitada),13(Transação rejeitada),16-19(plataforma parceira / falhas de pagamento) que parecem motivos aplicados automaticamente pelo sistema (semelhante ao que a doc de entregas descreve para cancelamento pela central). Se o consumidor externo desse endpoint não pode enviar esses IDs (só o sistema os usa internamente), valeria filtrar oenumapenas para os motivos que o cliente pode legitimamente informar — ou explicitar na descrição quais são "informáveis pelo cliente" vs. "aplicados pelo sistema". Do jeito atual, oenumsugere que qualquer um dos 17 valores é aceitável no request, o que pode induzir erro.