mws-advanced -- A modern Amazon Merchant Web Services API Interface for Javascript
What does it do?
mws-advanced provides a modern, fast, and hopefully sensible APIs to connect your Javascript application (node or browser) to the Amazon Merchant Web Services API.
Nice-to-have features:
- Automatic throttle-retry mechanism
- Automatic parameter validation
- Transform Javascript Arrays into MWS List format
- Transform Date objects into ISO-8601 date stamps
mws-advanced uses the straight-forward and very basic functionality provided by mws-simple to provide a much more advanced library for accessing MWS, than what has previously been available in the past.
Discussions
Hey, everyone! :-) This is by far my most popular repo on github at the moment, based on the number of clones and amount of traffic I'm seeing in the stats. If you think you might have a good use for this library, drop a line at Discussion :-)
Documentation / Quick-Start (I've heard enough, let's write some code)
Automatically generated documentation is available at Documentation.
Why a new mws library?
Although there are a whole lot of MWS libraries out there on the npm repository, few are actively maintained, and even fewer are written using modern Javascript. Some use Promises, but none are written to take advantage of the newest features of the language. Still fewer have documentation that doesn't just assume you are intimately familiar with the Amazon MWS API already.
I am writing this to change that. I am writing a project that needs access to the MWS API, and to do that, I needed code that interfaces well with modern code. I need code that is documented well, is intuitive to use, and doesn't leave my primary application stuck having to figure out all the vagaries of an XML response transformed into a JSON result. Or worse.
Most of all, though, this library is here to give you the pieces that I am using to build my internal project with. Enjoy! :-)
Requirements
This requires node.js v9.0+ to run. If that's not your environment, you can setup Babel or some other transpiler to make it work in older versions. I'd be happy to accept pulls for this, or any other reason, but it is not something I am at all concerned with. Let's move the ecosystem forward!
Development
This library is under heavy development. Pull requests from all are welcome. Since I am writing a system that makes use of this library, my primary priority is to make it work for my specific use- cases. Your use cases may not match mine, so let's work together to create a fantastic library for all of us :-)