pix-api icon indicating copy to clipboard operation
pix-api copied to clipboard

Tratamento de Erros - Http Status diferentes

Open danillocesar opened this issue 4 years ago • 1 comments

Bom dia povo,

Surgiu o seguinte problema e duvida aqui.

Caso seja identificado algum tipo de erro não mapeado na estrutura do Bacen, o PSP pode mapear esta mensagem de erro e escolher qual o http status será utilizado para ela?

Por exemplo, o PSP possui uma regra de négocio onde o tempo de expiração do calendario possui um limite máximo, nesse caso, quando passado um valor que exceda esse limite, o PSP retorna um http status "412" com uma mensagem especifica criada por ele, que não está na spec do bacen por não ter sido mapeada.

Isso é permitido nas regras implementação do PSP?

Se não for permitido, qual a saida o PSP tem para enviar uma mensagem especifica da regra de négocio dele? Utilizar o Status 400 com uma mensagem diferente?

danillocesar avatar Feb 19 '21 12:02 danillocesar

Caso seja identificado algum tipo de erro não mapeado na estrutura do Bacen, o PSP pode mapear esta mensagem de erro e escolher qual o http status será utilizado para ela?

Acredito que foi respondido na #326. Ressaltando que devem-se escolher HTTP Status Codes semanticamente aderentes e adequados para cada situação.

Por exemplo, o PSP possui uma regra de négocio onde o tempo de expiração do calendario possui um limite máximo, nesse caso, quando passado um valor que exceda esse limite, o PSP retorna um http status "412" com uma mensagem especifica criada por ele, que não está na spec do bacen por não ter sido mapeada.

É claro que é apenas um exemplo, mas eu questionaria, no exemplo, a legitimidade de o PSP recebedor estabelecer esta regra específica de "máximo", sendo que a API não estabelece o "máximo" para este caso (o máximo é o maior número que o int32 poderia abrigar).

ninrod avatar Feb 19 '21 17:02 ninrod