Last active
August 29, 2015 14:04
-
-
Save MisinformedDNA/19c531089e18cceb8b56 to your computer and use it in GitHub Desktop.
Basic Spree Importer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require_relative '../base' | |
module Examples | |
module Orders | |
class Importing | |
def self.run(client) | |
# Add address information the order | |
address = { | |
firstname: 'Test', | |
lastname: 'User', | |
address1: 'Unit 1', | |
address2: '1 Test Lane', | |
country_id: 49, | |
state_id: 1, | |
city: 'Bethesda', | |
zipcode: '20814', | |
phone: '(555) 555-5555' | |
} | |
response = client.post('/api/orders', { | |
order: { | |
user_id: 1, | |
completed_at: Date.today.to_s, | |
line_items: { | |
"0" => { | |
variant_id: 1, | |
quantity: 1 | |
} | |
}, | |
bill_address_attributes: address, | |
ship_address_attributes: address, | |
shipments: [ | |
{ | |
# The tracking number for this shipment (if there is one) | |
# tracking: 'H12345', | |
stock_location: 'Digital Store', # Actual stock location name as per the database | |
shipping_method: 'Digital', # Actual shipping method as per the database | |
cost: 0, | |
inventory_units: [ | |
variant_id: 1 | |
], | |
shipped_at: '2014-08-04T23:01:17.620Z' | |
} | |
], | |
payments: [ | |
amount: 15.82, | |
payment_method: 'Braintree', | |
], | |
# Apply a negative adjustment for the cost of the line item: | |
adjustments_attributes: [ | |
{ | |
label: 'Cyber Monday 2013', | |
amount: -3.95 | |
} | |
] | |
# | |
# These adjustments are not assignable to specific items within the order through this API. | |
# That's even though we support this feature in Spree 2.2. | |
} | |
}) | |
if response.status == 201 | |
order = JSON.parse(response.body) | |
client.succeeded 'Order has been successfully imported.' | |
puts order | |
else | |
client.failed 'Order failed to import.' | |
puts response.body | |
end | |
end | |
end | |
end | |
end | |
Examples.run(Examples::Orders::Importing) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment