12k

Fosdick and Spree integration

Fosdick Fulfillment is a logistics company specializing in retail distribution services with 51 years of service and over 3.75 billion packages shipped.

The integration of Fosdick with your Spree Commerce store can be done quickly and easily following the guidelines mentioned below.

The benefits of using Fosdick for your eCommerce business

eCommerce Fulfillment

Subscription Box Fulfillment

Retail Distribution

The ability to interface with the most common retail data exchange platforms including Electronic Data Interchange (EDI), File Transport Protocol (FTP) or Applicability Statement 2 (AS2). While the most common of these is EDI, regardless of your current set up, Fosdick can integrate with your systems and receive and process data in a fashion that is custom-tailored to work with your systems.

TV Direct Response

Television Direct Response or DRTV is a powerful marketing engine that empowers consumers with product knowledge and drives direct sales over the telephone, through the web, and all ancillary channels of distribution. Fosdick is a pioneer and the undisputed leader of fulfillment solutions for products sold via infomercials and commercials featuring toll-free numbers and website addresses for direct ordering.

Online Marketplace Direct Shipping

Whether you sell out of your own dedicated website or through the major e-tailers like Amazon.com, Walmart.com, Target.com or whomever, Fosdick’s EDI interfaces allows them to instantaneously send orders for inventory stored in the warehouse, where they are picked and packed and shipped directly to your customer and send tracking and confirmation information back to your e-tailer.

How to integrate Fosdick with Spree

This gem provides easy integration for you Spree Commerce based apps with full-service fulfillment services of Fosdick Fulfillment.

Installation

Add this line to your application’s Gemfile:

gem 'spree_fosdick_integration'

Bundle your dependencies and run the installation generator:

bundle
bundle exec rails g spree_fosdick_integration:install

Update config/fosdick.yml with your credentials received from Fosdick

Usage

Create a rake task to push shipments to Fosdick iPost interface:

desc "Push shipments to Fosdick iPost interface"
task push_shipments_fosdick: :environment do
  eligible_shipments = Spree::Shipment.perform_fosdick_shipments

  if eligible_shipments.present?
    eligible_shipments.each do |shipment|
      Fosdick::Processor.send_shipment(shipment, FOSDICK_CONFIG)
    end
  end
end

Create a rake task to receive shipment information from Fosdick API:

desc "Receive shipment information from Fosdick API"
task receive_shipments_fosdick: :environment do
  eligible_shipments = Spree::FosdickShipment.eligible_fosdick_shipments

  if eligible_shipments.present?
    eligible_shipments.each do |fosdick_shipment|
      # get tracking details
      Fosdick::Processor.receive_shipment({external_order_num: fosdick_shipment.external_order_num }) if fosdick_shipment.tracking_number.nil?
      # get ship_date
      Fosdick::Processor.receive_shipment({external_order_num: fosdick_shipment.external_order_num }, 'shipments.json') if fosdick_shipment.ship_date.nil?
    end
  end
end

Override the email view to customize:

app/views/spree/fosdick_shipment_mailer/order_shipped.html.erb

Testing

Be sure to bundle your dependencies and then create a dummy test app for the specs to run against.

bundle
bundle exec rake test_app
bundle exec rspec spec

When testing your applications integration with this extension you may use it’s factories. Simply add this require statement to your spec_helper:

require 'spree_fosdick_integration/factories'

Let's use Spree to build exactly what your business needs

facebook