wirecardBrasil / moip-sdk-node

Módulo Node.js para integração com API Moip v2
MIT License
58 stars 14 forks source link

Ordem dos parâmetros na documentação incorreta #31

Open vjoao opened 6 years ago

vjoao commented 6 years ago

Para assinaturas, a documentação manda fazer: https://dev.moip.com.br/v1.5/reference#criar-assinatura

moip.subscription.create('assinatura01',{ 
    new_customer: false,
    amount: 9990,
    payment_method: "CREDIT_CARD",
    plan : {
        code : 'plan01'
    },
    customer : {
        code : 'cliente01'
  }  
})

Só que esta chamada está incorreta. A chamada está sendo feita usando o primeiro parâmetro como payload, o que é errado. Também não há nenhuma forma de passar o parâmetro new_customer do jeito que está implementado, já que, segundo a documentação, este parametro deve ser passado diretamente na URL, nos forçando a usar o config da chamada.

Só consegui chamar a API assim:

moip.subscription.create({ 
    code: 'assinatura1',
    payment_method: "CREDIT_CARD",
    plan : {
        code : 'plan01'
    },
    customer
  }
}, { customUrl: 'https://sandbox.moip.com.br/assinaturas/v1/subscriptions?new_customer=true'  })

o que é extremamente inconveniente. Sei que vocês estão em processo migratório na API de assinaturas, mas não dá pra introduzir breaking changes assim e deixar a documentação a desejar.

Igor-Lopes commented 6 years ago

@vjoao Consultando uma branch antiga minha, não houve alteração deste parâmetro na API v1.5, ele sempre foi na url, isso na verdade é um erro desta funcionalidade na SDK,que passou após alterações, mas deveria permitir o envio deste parâmetro sem alteração desta configuração na chamada. De qualquer modo, a forma como você exemplificou já é um workaround enquanto isso não é corrigido.

somentelucas commented 6 years ago

Além disso, retirei o parâmetro new_customer: false da documentação, realmente a informação desse parâmetro no body da request não é correta. Valeu pelo toque, @vjoao!