Skip to content

Instantly share code, notes, and snippets.

@LeonanCarvalho
Last active November 9, 2023 14:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LeonanCarvalho/ffa65ae0f03b29e54a9ad9d0f49a3a5e to your computer and use it in GitHub Desktop.
Save LeonanCarvalho/ffa65ae0f03b29e54a9ad9d0f49a3a5e to your computer and use it in GitHub Desktop.
Bulk response
{
"trace_id": "xpto",
"success":false,
"success_ids" [0,2,3,4,...,998],
"errors":[
{
"id":1,
"error":{
"code":"already_used",
"message":"This receiver is already used and cannot be deleted"
}
},
{
"id":999,
"error":{
"code":"already_used",
"message":"This receiver is already used and cannot be deleted"
}
}
]
}
{
"success":true,
"message": "ok",
"success_ids" [0,2,3,4,...,999],
"errors":[]
}

Porém, usando os formato, caso todos os items dêem error a resposta vai se tornar extensa devido a um grande número de itens, agrupar por código de erro é uma abordagem eficiente. Dessa forma, você pode reduzir a redundância na resposta. Uma sugestão ajustada para lidar com esse cenário seria agrupar pelo tipo do erro, reduzindo assim o body da mensagem.

{
  "trace_id": "xpto",
  "success": false,
  "success_ids" [],
  "message": "Alguns itens não puderam ser processados com sucesso.",
  "errors": [
    {
      "code":"already_used",
      "message":"This receiver is already used and cannot be deleted"
      "failed_items": [1, 5, 8]
    },
    {
      "code":"not_found",
      "message":"This receiver do not exists"
      "failed_items": [3, 7, 10]
    }
  ]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment