reverbdotcom / reverb-magento

Magento 1.x plugin for syncing with Reverb
Other
7 stars 10 forks source link

Reverb Magento Plugin

If you're running Magento 2.x, please refer to our Magento 2.x integration here: https://github.com/reverbdotcom/reverb-magento-2

This is a Magento app for integrating with Reverb's API including product sync (magento->reverb) and order sync (reverb->magento).

While this plugin can and does work out of the box for many sellers, it is intended as a base for you to customize for your own magento usage. It is only tested on Magento Community 1.7 and 1.9. Enterprise Edition customers are advised to have their own developers evaluate and customize the plugin for usage.

Please read this entire README prior to installing the application.

Features

Professional Support

If you need help with your Magento 1.x install or integration of this plugin with your Magento 1.x instance, please contact these independent consultants for support. Please note that Reverb does not manage these relationships or support the plugin directly and that these consultants work with the 1.x version of the plugin only . For professional support on 2.x, please go here: https://github.com/reverbdotcom/reverb-magento-2

Sean Dunagan

Github: dunagan5887

Email: dunagan5887@gmail.com

Timur Zaynullin

Github: zztimur

Email: zztimur@gmail.com

FAQ

Q: Why aren't things synced in real time, or failing to sync at all?

If you're experiencing problems with your cron, please install AOE Scheduler to inspect the functioning of your cron.

The Reverb sync runs on a cron (magento's scheduler) that's set to every minute for product syncs and every two minutes for order syncing. This is done so that when you save a product we won't interfere with your normal magento functions, and do all the sync in the background.

However the design of Magento's cron means that other cron-based plugins that take a long time to run may interfere with each other. Reverb generally finishes its work in seconds, but we have seen plugins that can take many minutes to run, or even crash, preventing plugins like Reverb from finishing their work.

If you're continuing to have cron issues, please install Reverb on a fresh magento instance without any other plugins as a test. If that works, the problem is with one of your other plugins. Please ensure you have no error messages in your cron and php logs prior to contacting Reverb Support.

Q: Why are my Reverb Make & Model incorrect or showing as "Unknown"

Make & Model are guessed from the title unless you map those fields . Use the configuration screen (System->Configuration->Reverb Configuration) to map make/model fields to attribute fields in your Magento installation. If you don't have structured make/model fields, we will attempt to guess them from the title, but this is not reliable.

Q: How can I map make/model and other fields?

If you don't already have make & model fields in your magento installation, you can add them by using the Catalog->Attributes section to add two new fields (for example, "reverb_make" and "reverb_model"). Then go to Catalog->Attributes->Attribute Sets and add those fields into your default attribute set so they appear on every product. Finally, go to (System->Configuration->Reverb Configuration) and map the make and model fields to your newly created fields. You can do the same for other reverb attributes such as finish/year/shipping_profile_name. For shipping, you should map the Reverb API field to shipping_profile_name.

Q: How can I set all my items to free shipping?

  1. Set up a Reverb Shipping Profile with free shipping ($0), called "Free Shipping".
  2. Add a magento attribute for reverb_shipping_profile from Catalog->Manage Attributes. Set a default value of "Free Shipping" (corresponding to the profile you created in step 1).
  3. Add a mapping from Shipping Profile to your newly created attribute in the System->Configuration->Reverb Settings screen. The Magento Attribute code should read reverb_shipping_profile, and then the Reverb API field should read shipping_profile_name.

Installation: Part 1 - Install the App

Please follow the instructions below to download and install the app. This assumes you have shell access to your server. If you have only FTP access, please download and unzip the app into /path/to/magento/htodcs/app

# Where your magento lives. This is the only part you have to manually modify.
export MAGENTO_PATH=/path/to/magento

# Download the release
cd /tmp && wget https://github.com/reverbdotcom/magento/archive/0.9.10.tar.gz

# Unzip the release
tar zxvf 0.9.10.tar.gz

# Copy everything from the app folder into your magento app
rsync -avzp magento-0.9.10/app/* $MAGENTO_PATH/htdocs/app/

# Clear your cache
rm -rf $MAGENTO_PATH/htdocs/var/cache

Installation: Part 2 - Install the Cron

The cron is used to process the listing syncing queue. To see what's in your crontab, run crontab -l. Please ensure that your crontab contains one of the following lines:

* * * * * /bin/sh -c "php /path/to/magento/htdocs/cron.php -mdefault 1 > /path/to/magento/htdocs/var/log/cron.log"

or

* * * * *  /bin/sh -c "/path/to/magento/htdocs/cron.sh cron.php -mdefault 1 > /path/to/magento/htdocs/var/log/cron.log 2>&1"

If your crontab does not contain either of these lines, please use crontab -e to edit it and copy the second line (cron.sh) into your crontab.

Installation: Part 3 - Configuration

Usage - Listing Sync

The listing sync to Reverb can be triggered in two ways:

  1. When you Save any Product in Magento, it will automaticaly sync to Reverb. Make sure you set "Sync to Reverb" to "Yes" on the bottom of the product page, and enable the Reverb Module in your global settings (see Part 3 of installation).

  2. Bulk Sync. Under the Reverb menu item, select listing or order sync and use the Bulk Sync button in the upper right. The page will update with progress over time. Please note that very large catalogs (thousands of skus) may take an hour or more to fully sync. Please refresh the page to see the sync report.

Usage - Order Sync

Orders are automatically synced on a one minute cron timer. If you aren't seeing orders, please visit the Order Creation tab under Reverb and click the button to manually sync them. Please report any issues with periodic syncing to the Reverb Magento Support Group

Syncing Orders - Paid or All

You can select whether to sync all orders (including unpaid accepted offers) or only orders awaiting shipment, via the settings screen

Notes on Bulk Sync

The bulk sync uses multiple threads (runs in parallel). It takes some time to spin up, so it may appear that nothing is happening for approximately 1 minute until your cron runs and starts picking up the jobs.

Troubleshooting

Bulk sync doesn't work

  1. First, check the cron log in /path/to/magento/htdocs/var/log/cron.log
  2. Enable logging (System->Configuration->Advanced->Developer->Log Settings
  3. Let the cron run again (wait a minute), then check logs tail -f /path/to/magento/htdocs/var/log/*

Blank pages or plugin doesn't load

Please make sure you've cleared your magento cache.

Reverb Support

While Reverb cannot debug specific issues related to your Magento installation, we can assist you with some configuration and give guidance where needed. We can be reached at integrations@reverb.com

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

LICENSE

Copyright 2015 Reverb.com, LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.