Segredos de um JSON enigmático: explorando uma resposta de API curiosa
Sou dev PJ e trabalho com uma galera bem variada de clientes. Alguns deles usam um ERP bem famoso (não vou dar nomes, pra não complicar), mas que tem sua própria linguagem e... digamos, um estilo único de fazer APIs. Não sei se existe um clube secreto dos devs desse ERP onde eles decidem fazer as APIs no "modo difícil", ou se é tudo pra manter a gente entretido, vai saber.
Queria compartilhar com vocês uma resposta de API que recebi. Aviso: é forte. Olhem com cuidado para cada propriedade e tentem entender o padrão... se for possível.
{
"Reservas": [
{
"cod-refer": "",
"QtdeEstoque": 0.0,
"Item-pai": "009027.00",
"Cod-roteiro": "",
"op-codigo": 10,
"Partida": 5000,
"Deposito": "PRO",
"TipoControle": 3,
"Oper": 10,
"SemEstoque": "no",
"Quant": 23.712,
"Item": "039841",
"Descricao": "REFIL 200gr STAND UP IMPORTADO",
"Qtd Partidas": 780.0,
"GECODIGO": "2",
"Alternativo": "*",
"Un": "KG",
"DESTINO ": "1",
"Unidade ": "CX"
},
{
"cod-refer": "",
"QtdeEstoque": 4854.0,
"Item-pai": "009027.10",
"Cod-roteiro": "",
"op-codigo": 20,
"Partida": 5000,
"Deposito": "PRO",
"TipoControle": 3,
"Oper": 20,
"SemEstoque": "no",
"Quant": 152.0,
"Item": "021984",
"Descricao": "CAIXA N 24",
"Qtd Partidas": 5000.0,
"GECODIGO": "2",
"Alternativo": "",
"Un": "UN",
"DESTINO ": "1",
"Unidade ": "CX"
}
]
}
Agora, algumas observações importantes que me deixaram intrigado:
- Padrões de maiúsculas e minúsculas? Isso é para os fracos! Aqui temos
QtdeEstoque
,cod-refer
,GECODIGO
e por aí vai. - Estilos de nomenclatura variados: camelCase, kebab-case, UPPERCASE... Tudo junto e misturado. 🎉
- Ah, e tem a famosa propriedade
"Unidade "
com um espaço no final. Porque, claro, encontrar isso na primeira tentativa seria fácil demais. 😅
Detalhe, isso acontece em todas API's do sistema, e até mesmo a mesma propriedade tem nomes bem diferentes em cada resposta.
Enfim, é só pra compartilhar mesmo.