Documenta exigir_codigo_confirmacao na abertura de entregas - #36
Documenta exigir_codigo_confirmacao na abertura de entregas#36Joao-Dutra-Gaudium wants to merge 8 commits into
Conversation
|
✅ Review postada — #36 (review) job_id: |
There was a problem hiding this comment.
Documentação correta e de escopo mínimo: o campo exigir_codigo_confirmacao entra como boolean opcional no example e no schema.properties dos três endpoints que abrem/reenviam entrega, o JSON continua válido e a descrição registra bem os dois limites reais (só paradas com código de confirmação; iFood não relaxa). Deixei três sugestões informativas — nenhuma bloqueia o merge.
A edição de entrega programada está fora do escopo da entrega. O endpoint aceita o campo por reusar o pipeline de criação no V1, como já acontece com outros campos de topo não documentados nele, mas documentar isso criaria contrato para um comportamento que não foi decidido.
|
/gaudinho review |
|
✅ Review postada — #36 (review) job_id: |
There was a problem hiding this comment.
Documentação consistente e bem executada: o parâmetro entra no example e no schema.properties dos dois endpoints de criação, com descrição que registra os dois limites reais (só vale em parada com código de confirmação e não relaxa iFood), e a entrada de changelog segue à risca a skill do repo (data em PT-BR, label Novo para mudança só added, ordem cronológica decrescente, href válido apontando para páginas existentes). JSON continua válido e o diff é mínimo, sem alteração colateral.
|
/gaudinho review |
|
✅ Review postada — #36 (review) job_id: |
There was a problem hiding this comment.
Documentação sólida e bem escopada: o campo entra no example e no schema.properties dos dois endpoints de criação, o JSON continua válido, o changelog segue exatamente o padrão dos Entries existentes e a ordem cronológica, e o commit 516c59d justifica por escrito a exclusão do endpoint de edição. Sem blockers — só sugestões de clareza.
A descrição dizia que a obrigatoriedade vale independente do cadastro da empresa e, logo depois, que o parâmetro só tem efeito em parada com código gerado — o que depende justamente de uma configuração da empresa. São dois ajustes distintos no cadastro: o parâmetro sobrepõe "Tornar os códigos de confirmação de entrega obrigatórios", mas a geração do código continua presa a "Solicitar código de confirmação de entrega dos pedidos". Nomear as duas evita que o integrador conclua que o parâmetro funciona com a segunda desligada.
|
/gaudinho review |
|
✅ Review postada — #36 (review) job_id: |
There was a problem hiding this comment.
Documentação precisa e de escopo mínimo: o campo entra só nos dois endpoints de criação, com example + schema.properties coerentes, JSON válido e changelog inserido na posição cronológica correta seguindo o template da skill do repo. O destaque é a descrição distinguir as duas configurações do cadastro (obrigatoriedade × geração do código) e registrar a exceção do iFood — evita que o integrador conclua que o parâmetro funciona sozinho.
A coluna passou a ser NOT NULL DEFAULT 0 no backend, a pedido dos líderes técnicos, e com dois valores o parâmetro deixa de sobrepor a configuração nos dois sentidos: true exige o código, e omitir ou enviar false mantém o que está configurado no cadastro da empresa. Reescreve as descrições dos dois endpoints e a entrada de changelog para descrever esse comportamento, em vez de "sobrepõe a configuração".
c267e4f
Documenta o parâmetro
exigir_codigo_confirmacaoempages/v2/openapi-entregas.json,nos dois endpoints de criação:
POST /entregasePOST /entregas/programadas.Estratégia. O campo entra no
examplee noschema.propertiesde cadarequestBody,como
booleanopcional. A descrição nomeia as duas configurações distintas do cadastro daempresa, que são fáceis de confundir: o parâmetro atua sobre Tornar os códigos de
confirmação de entrega obrigatórios, mas a geração do código continua dependendo de
Solicitar código de confirmação de entrega dos pedidos — em paradas sem código o
parâmetro não tem efeito. Na versão de programada, acrescenta que o valor é aplicado à
solicitação gerada no disparo. A entrada de changelog segue o template da skill do repo.
O parâmetro só acrescenta exigência. A coluna que sustenta o campo é
NOT NULL DEFAULT 0(definição fechada na revisão dos líderes técnicos dotxmback3),então
0é indistinguível de "não informado". A documentação reflete isso de formaexplícita: enviar
trueexige o código; omitir o campo ou enviarfalsemantém o queestá configurado.
falsenão desliga uma exigência já configurada — é um no-op, nãouma dispensa. Essa frase é o ponto mais importante do texto, porque é a leitura que um
integrador tenderia a fazer errado.
Escopo. A edição de programada (
PUT /entregas/programadas/{id}) ficou de fora: elaaceita o campo por reusar o pipeline de criação no V1, mas documentar isso criaria contrato
para um comportamento que não foi decidido pelo produto. Não é particular deste parâmetro —
aquele endpoint já aceita ~10 campos de topo por herança de pipeline e documenta 5. Sugerido
card separado para a política daquele endpoint.
Motivação. Acompanhar a entrega do parâmetro na V2 da API (PR no
txmback3); sem adocumentação, quem integra não tem como descobrir o campo.
Ponto em aberto para a revisão. O texto afirma que pedidos do iFood continuam exigindo
o código por regra da própria integração. Os testes manuais mostraram uma exceção
pré-existente: quando o condutor tem
taxista.permite_finalizacao_sem_codigo_ifood, aentrega é concluída sem código mesmo com o parâmetro
true. É um flag interno, invisívelpara quem integra. Deixei a frase como está porque há um card sugerido para decidir se o
parâmetro explícito da API deveria ter precedência sobre esse flag — se a decisão for que
deve, a documentação já está correta; se for que não, cabe acrescentar a ressalva aqui.
PR relacionado:
txmback3, queimplementa o parâmetro.