Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby
branch: master
Failed to load latest commit information.
app/models fix #2675, use absolute scope for active_fulfillment constants
config initial commit
lib tracking code processing
spec
.gitignore initial commit
LICENSE initial commit
README.md document installation
Rakefile initial commit
Versionfile Spree 0.70.x compatibility - suppress warning messages from state mac…
spree_fulfillment.gemspec Spree 0.70.x compatibility - suppress warning messages from state mac…

README.md

SpreeFulfillment is a spree extension to do fulfillment processing via Amazon when a shipment becomes ready.

The extension adds an additional state to the Shipment state machine called 'fulfilling' which acts as the transition between 'ready' and 'shipped'. When a shipment becomes 'ready' it is eligible for fulfillment. A rake task intended to be called from a cron job checks for ready shipments and initiates the fulfillment via the Amazon API. If the fulfillment transaction succeeds, the shipment enteres the 'fulfilling' state.

The cron job also queries Amazon for tracking numbers of any orders that are being fulfilled. If the tracking numbers are found, the shipment transitions into the 'shipped' state and an email is sent to the customer.

Installation

Add to your gemfile:

gem 'whenever', :require => false      # if you want whenever to manage the cron job
gem 'spree_fulfillment', :git => 'git://github.com/wimm/spree_fulfillment.git'

Create config/fulfillment.yml:

development:
  adapter: amazon
  api_key: <YOUR AMAZON AWS API KEY>
  secret_key: <YOUR AMAZON AWS SECRET KEY>
  development_mode: true

test:
  adapter: amazon
  api_key: <YOUR AMAZON AWS API KEY>
  secret_key: <YOUR AMAZON AWS SECRET KEY>

production:
  adapter: amazon
  api_key: <YOUR AMAZON AWS API KEY>
  secret_key: <YOUR AMAZON AWS SECRET KEY>

Create config/schedule.rb:

every :hour do
  rake "spree_fulfillment:process"
end

Add to deploy.rb:

require 'whenever/capistrano'      # if you want whenever to manage the cron job

Add to your application initializer:

spree_fulfillment depends on active_fulfillment which conflicts with some newer source files needed by spree_core.

# A bit of hackery is needed to load the newer libraries inside ActiveMerchant before
# the obsolete ones still bundled inside the active_fulfillment gem.
ActiveMerchant::Connection.new("")
require 'active_fulfillment'

Configure the store

Set the SKU code for your products to be equal to the Amazon fulfillment SKU code.


Copyright (c) 2011 WIMM Labs, released under the New BSD License

Something went wrong with that request. Please try again.