Integrate your site with http://fetchapp.com for seamless digital storage + delivery
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.rvmrc
CHANGELOG
Gemfile
Gemfile.lock
LICENSE
Manifest
README.md
Rakefile
fetchapp-api-ruby.gemspec
init.rb

README.md

Installation from RubyGems.org

gem install fetchapp-api-ruby

Setup

	FetchAppAPI::Base.basic_auth(:key => 'demokey', :token => 'demotoken')
	FetchAppAPI::Base.can_connect?  # => true or false

Account

	account = FetchAppAPI::Account.details

	token = FetchAppAPI::Account.new_token  # Subsequent calls will use the new token automatically

Downloads

	downloads = FetchAppAPI::Download.find(:all, :per_page => 50, :page => 2)

	download = FetchAppAPI::Download.find(1)

Products

	products = FetchAppAPI::Product.find(:all, :per_page => 10, :page => 3)

	product = FetchAppAPI::Product.find("CJ0001")

	product = FetchAppAPI::Product.create(:sku => "CJ0001", :name => "Carrot Juice")

	product.update(:name => "Tomato Juice")

	product.destroy

	product.stats  # Returns a FetchAppAPI::Product with only statistical fields filled in

	downloads = product.downloads  # Returns an array of FetchAppAPI::Download for this product

	files = product.files  # Returns an array of FetchAppAPI::File for this product

Orders

	all_orders = FetchAppAPI::Order.find(:all)

	current_orders = FetchAppAPI::Order.find(:current, :page => 3)

	manual_orders = FetchAppAPI::Order.find(:manual, :per_page => 10)

	expired_orders = FetchAppAPI::Order.find(:expired, :per_page => 10, :page => 3)

	order = FetchAppAPI::Order.find("1001")

	order = FetchAppAPI::Order.create(
	    :id => "1015",
	    :title => "Test Order",
	    :first_name => "Donald",
	    :last_name => "Duck",
	    :email => "donald@duck.com",
	    :order_items => [{:sku => 'ABC0001', :price => 10.0}, {:sku => 'ABC0002'}]
	)

	order.update(:first_name => "Daffy")

	order.destroy

	order.expire # Expires the order

	order.send_email # Reopens the order and sends out an email to the customer

	order.stats  # Returns a FetchAppAPI::Order with only statistical fields filled in

	order_items = order.order_items # Returns an array of FetchAppAPI::OrderItem for this order

	downloads = order.downloads  # Returns an array of FetchAppAPI::Download for this order

OrderItems

	order_items = order.order_items # Returns an array of FetchAppAPI::OrderItem for this order

	order_item = FetchAppAPI::Order.find("445566")

    order_item.expire # Expires the OrderItem

	downloads = order_item.downloads  # Returns an array of FetchAppAPI::Download for this order item

	files = order_item.files  # Returns an array of FetchAppAPI::File for this order item