Atenção: Eu ainda não terminei de testar as alterações feitas nessa pull request. Não fazer o merge ainda. Criei a pull request para compartilhar o trabalho com vocês.
Motivo da Pull Request
Ao tentar usar a biblioteca PHP, tive diversos problemas como erros de parse de json , modelos de objetos fora do padrão do contrato da API da Nfe.io, .... Além disso, muitos erros na comunicação com a API (HTTP 409, HTTP 400, ...) eram camuflados e ignorados na biblioteca, dando um falso positivo de que tudo ocorreu bem para quem usava a mesma.
Abaixo segue a lista das alterações feitas na biblioteca.
Peço para que analisem, e se fizer sentido, façam o merge da full request para que futuros usuários não tenham os mesmo problemas que eu tive.
Allterações
Correção de leitura do body da response em APIRequest
Melhoria nos tratamentos de erros da API em APIRequest
Correção na construção das binding classes em APIResource
Criação de novos exceptions
Correção do parser da resposta da API em Utilities
Outras Melhorias
A biblioteca está um pouco defasada em termos de arquitetura de código. Não segue PSR e a arquitetura poderia estar melhor desenhada.
Esta pull request não tem como objetivo atacar estes pontos de melhoria.
Atenção: Eu ainda não terminei de testar as alterações feitas nessa pull request. Não fazer o merge ainda. Criei a pull request para compartilhar o trabalho com vocês.
Motivo da Pull Request
Ao tentar usar a biblioteca PHP, tive diversos problemas como erros de parse de json , modelos de objetos fora do padrão do contrato da API da Nfe.io, .... Além disso, muitos erros na comunicação com a API (HTTP 409, HTTP 400, ...) eram camuflados e ignorados na biblioteca, dando um falso positivo de que tudo ocorreu bem para quem usava a mesma.
Abaixo segue a lista das alterações feitas na biblioteca.
Peço para que analisem, e se fizer sentido, façam o merge da full request para que futuros usuários não tenham os mesmo problemas que eu tive.
Allterações
APIRequest
APIResource
exceptions
Utilities
Outras Melhorias
A biblioteca está um pouco defasada em termos de arquitetura de código. Não segue PSR e a arquitetura poderia estar melhor desenhada.
Esta pull request não tem como objetivo atacar estes pontos de melhoria.