Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Synopsis

This is a Drupal Commerce module and integrates with the Amazon MWS API's, currently supporting Feeds, Reports and Products, with the ability to sync local quantities to and from Amazon, upload/delete products and relationships, view simple reports and stock adjustments. All feeds are configured with a JSON config file (All products are synchronized by SKU so SKUs must be unique). The README file can be viewed via Drupals Help system, which uses the parsedown library to make it nicer to view. This module has so far:

  • Feeds, Reports, Products feed integration, more APIs could be added but weren't deemed necessary, as each API from Amazon needs modification to work properly. They have been included in the libraries directory of the module.
  • Simple Reporting, which cross references local products with remote products.
  • Sample Feed Generator, to turn the JSON feed definitions into XML for debugging and visual clarification.

Requirements

  • Elysia Cron
  • Drupal Commerce

Known Problems

  • When renaming SKUs locally, delist them first, or make the changes on Amazon to make sure items stay in sync.
  • When uploading to Amazon, Amazon tends to make assumptions on what the product you're uploading is if it detects a similar product or a pre-listed product. For the vast majority of instances, this is down to a duplicate UPC code, either the code is a duplicate of one of your own or another sellers, so for instance an item that is a Yoyo might get mixed up with a Toaster on upload because the UPC code you're using matches another sellers. The only way to correct this is to delist and fix locally before relisting, or to contact Amazon and submit a request to update the items info if you're certain Amazon has made a mistake. To make this easy to see which items have the wrong description, use the reporting portion of this module and run an Active Listing Report. This will show you any reports that have a differing description, a lot of the time these are correct with slight adjustments to the title as the product already exists, sometimes they are completely different.
  • All items are matched by SKU when syncing. If you already have items on Amazon, those SKUs will need to match locally to sync. Check the modules reports system and run one of the reports to see which SKUs you have on Amazon that don't match locally.
  • At the moment only one display type per product type is configured to work, this hasn't been tested with multiple product type and display type, so if your product and display setup is super complicated, you can expect a large JSON file and possibly issues. This is because logic at the moment is taking the first display type listed per product. Hopefully this can change in future.
  • Alternate SKUs, when using a different SKU from the main SKU, haven't fully been tested and aren't being used in production for the original project this module was intended for. They do work when viewing the Sample Feed Generator, but haven't been used live.

Included Libraries

This module has the following bundled up with it:

  • Modified Amazon MWS APIs: Reports, Feeds, Products - to make everything work.
  • FooTable - for reporting
  • parsedown - to prettify the README.txt file in Drupal's Help module
  • Array2XML - Does all of the packaging of data to go to Amazon

Restrictions

  • This module syncs products by SKU, SKUs must match or else they won't sync.
  • Only one product display node type per product type for now.

Similar Projects

  • Commerce Amazon Fulfillment "This project adds Amazon Fulfillment shipping capability to Drupal commerce"
  • Amazon Store"This is an implementation of the Amazon Product Advertising API (formerly Amazon Associates Web Service, or AAWS) for Drupal"
Supporting organizations: 

Project Information