Boa tarde lojistas, tudo bem?
Em conversas com o Bling desde 11/01/2020, registramos um problema que estão investigando e tentando uma resolução. No entanto, segundo nossos logs dia 12/01/2020 funcionou , então estávamos tranquilos, porém hoje de manhã novamente estava sendo gerado erros e fomos investigar de fato o problema, pra municiar o Bling a resolver e ajudar a vocês.
O Bling sempre está enviando body em formato application/x-www-form-urlencoded
(json-urlencoded), independente de estar configurado JSON ou JSON (urlencoded) (provavelmente deve ser a mesma coisa com XML também) na configuração do callback.
Nosso endpoint pode tratar ambos, só é necessário que o header Content-Type
da requisição seja coerente com body e isto não estava acontecendo porque eles estavam enviando application/json
(significa JSON) no header, mas o corpo seguia sendo um form urlencoded, neste caso uma função globalmente utilizada para transformar um resultado A em B, para que seja tratado devidamente na API, não conseguia fazê-lo, porque as informações eram incompatíveis.
Isso funcionava antes, então parece que em algum momento pararam de enviar o JSON corretamente, com essa inconsistência deles, é melhor usar o JSON (urlencoded) na configuração do callback.
Algumas lojas que tenho acesso ao Bling, já ajustei, mas outras ainda não, sugiro que olhem por favor @Rogerio, @mliell e demais.