/carousel-ruby-api

Primary LanguageRubyMIT LicenseMIT

Carousel

Build Status Code Climate Test Coverage

Ruby library for interfacing with the Carousel Fulfillment API

Installation

Add this line to your application's Gemfile:

gem 'carousel-ruby-api'

And then execute:

$ bundle

Or install it yourself as:

$ gem install carousel-ruby-api

Usage

Send order request

order = {
  shipping_address: {
    first_name: "John",
    last_name:  "Smith",
    address1:   "123 Here Now",
    address2:   "2nd Floor",
    city:       "New York",
    country:    "US",
    zipcode:    "10012",
    phone:      "123-123-1234"
  },
  billing_address: {
    first_name: "John",
    last_name:  "Smith",
    address1:   "123 Here Now",
    address2:   "2nd Floor",
    city:       "New York",
    state:      "NY",
    country:    "US",
    zipcode:    "10012",
    phone:      "123-123-1234"
  },
  number:       "R123123123",
  orderdate:    "2014-06-16",
  line_items: [
    {
      price:    "127.23",
      quantity: "1",
      sku:      "123332211"
    }
  ],
  gift_message:    "Happy B-Day!"
  shipping_method: "next-day", # or "express" or "standard"
  shipping_cost:   "20.00",
  invoice_url:   "http://example.com/R123123123/invoice"
}

client   = Carousel::Client.new("username", "password")
response = client.send_order_request(order)

if response.success?
  # DO SOMETHING
else
  # QUEUE REQUEST, STORE AND RAISE ERRORS
end

Get inventory

client    = Carousel::Client.new("username", "password")
inventory = client.get_inventory

inventory.each do |stock|
  ...
end

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