Open renanpto opened 3 years ago
desvincular o location e pronto
Isso mesmo. A cobrança não é exibida até que seja associada a um novo location. Ela existe, mas não está em nenhuma "vitrine".
Boa tarde! No caso, qual seria o comportamento esperado da revisão da cobrança? 1) Se o usuário informar "loc":null, ou caso usuário não informar o atributo "loc", o sistema desvincularia a cobrança sendo editada da Location (caso a cobrança estivesse vinculada anteriormente)? 2) Se o usuário quiser manter ou vincular a cobrança a uma location, ele teria que, obrigatoriamente passar o atributo "loc"?
A dúvida é pelo seguinte motivo: apresentar o atributo "loc": null e não apresentar o atributo "loc", do ponto de vista do código, é a mesma coisa. Neste caso, sempre que o usuário fizer uma revisão, para que ele não desvincule a cobrança da location, ele teria que necessariamente passar a location. É isso mesmo?
boa tarde @erikaaseg
- Se o usuário informar "loc":null, ou caso usuário não informar o atributo "loc", o sistema desvincularia a cobrança sendo editada da Location (caso a cobrança estivesse vinculada anteriormente)?
Informou "loc": null, tira o QR Code da vitrine. Não informou nada sobre loc, então não está se querendo mudar nada em loc, permanece com o "loc" que já estava associado.
- Se o usuário quiser manter ou vincular a cobrança a uma location, ele teria que, obrigatoriamente passar o atributo "loc"?
Se quiser manter, não informa nada sobre "loc". Se quiser vincular a um novo location, informa o id desse novo location desde que este location já não esteja associado a uma cobrança.
@ninrod eu acho muito arriscado considerar essa diferença semântica entre "não enviar loc"e "enviar loc:null". Existem várias discussões na internet sobre o assunto. Para muitas bibliotecas, "null" ou a inexistência de um atributo são tratados da mesma forma.
Como já existe o endpoint específico para desvincular uma cobrança de uma location (DELETE /loc/{id}/txid
), acredito que os endpoints de revisar cobrança (PATCH /cob/{txid}
| PATCH /cobv/{txid}
) não devam endereçar este caso de uso de "desvincular cobrança", evitando maiores transtornos.
Boa noite @mliberato
Como já existe o endpoint específico para desvincular uma cobrança de uma location (DELETE /loc/{id}/txid), acredito que os endpoints de revisar cobrança (PATCH /cob/{txid} | PATCH /cobv/{txid}) não devam endereçar este caso de uso de "desvincular cobrança", evitando maiores transtornos.
Não adianta "consertar" só aqui. Essa semântica do null está espalhada pela API nos endpoints PATCH
e já foi objeto de várias issues neste repo: https://github.com/bacen/pix-api/issues/311, https://github.com/bacen/pix-api/issues/281, https://github.com/bacen/pix-api/issues/108. "Esse barco já partiu", a semântica é essa mesmo e não há volta neste ponto da linha do tempo de existência do Pix. Só em uma eventual v3
.
@ninrod ok, desculpe, não tinha visto que o assunto já tinha sido abordado anteriormente. Vale reforçar então o processo de homologação criando casos de teste específicos para cobrir esses pontos junto aos PSPs.
Boa tarde,
Ao revisar uma cobranca com vencimento ou imediata, o usuário poderá informar na entrada "loc" : null indicando que deseja remover location vinculado a cobrança.
Considerando esse cenário, qual deve ser o comportamento esperado ? Desvincular o location anterior e associar um novo ? ou simplesmente desvincular o location e pronto ?
Obrigado !