wirecardBrasil / moip-sdk-java-le

Cliente em JAVA para integração server-side com APIs Moip v2
MIT License
25 stars 32 forks source link

Mapeamento incorreto da Entry #118

Closed cavarzan closed 3 years ago

cavarzan commented 6 years ago

A classe Entry possui o ID como int.

https://github.com/moip/moip-sdk-java/blob/master/src/main/java/br/com/moip/resource/Entry.java#L17

Na resposta de pagamento, ele vem com um código String:

"entries":[  
         {  
            "_links":{  },
            "amount":{  },
            "createdAt":"2018-03-10T06:40:27.000-03",
            "description":"Cartao de credito - Pedido PAY-XXXXXXXXXXXX",
            "event":"PAY-XXXXXXXXXXXX",
            "id":"ENT-XXXXXXXXXXXX",
            "occurrence":{  },
            "operation":"CREDIT",
            "scheduledFor":"2018-03-24T06:40:26.000-03",
            "status":"SCHEDULED",
            "updatedAt":"2018-03-10T06:40:27.000-03"
         }
   ],

O id vem no formato: ENT-XXXXXXXXXXXX

Não é possível deserializar ela automaticamente via jackson ou gson com esse mapeamento.

mbnakaya commented 6 years ago

Olá, @cavarzan!

A SDK não está mapeando incorretamente. O ID que se refere (ENT-XXXXX), do tipo String, pertence ao atributo external_id e não ao atributo id, que é um outro identificador.

Você pode conferir a referência API, para maiores detalhes.

Se ficou alguma dúvida ou se achar necessário, pode reabrir esta issue.

cavarzan commented 6 years ago

@MbNakaya entendi, mas esse exemplo acima é exatamente o json que recebo via webhook, como como vem no atributo que está como int no jar, não consigo converter ele.

Se ele viesse no external_id acredito que não teria problemas mesmo, porém ele está enviando no webhook esse valor, talvez seja ajuste na API Rest de vocês.

Ah, usuários não colaboradores não tem permissão para reabrir as issues nesse repo.

cavarzan commented 6 years ago

@MbNakaya como eu posso reportar para a api esse erro?

mbnakaya commented 6 years ago

Boa tarde, @cavarzan!

Me desculpe pela demora no retorno. Estive analisando o seu caso, junto ao time responsável.

Percebemos que há uma inconsistência na API, em relação aos atributos id e external_id, que está causando os problemas no mapeamento dos atributos.

O erro já foi reportado e o time responsável está trabalhando para corrigi-lo.

Avisaremos através dessa issue quando a correção estiver submetida.

cavarzan commented 6 years ago

@MbNakaya OK! Eu resolvi parcialmente usando uma versão com o atributo id como string, já que não usamos o id no nosso cenário, daí quando tiver um retorno voltamos as SDK oficial.

https://github.com/cavarzan/moip-sdk-java/commit/e3e4091d615d529bb2b958ed4b3a4286aeac5fd9

Obrigado!

gafsel commented 3 years ago

Olá, aqui estamos passando pelo mesmo problema. Vamos adotar a solução temporária passada pelo @cavarzan mas seria interessante que isso fosse corrigido.