To add an order to a store, simply call the create method on the Order resource class. (A comprehensive list of the data attributes and their definitions can be found below.)
payload = { order: {"external_order_identifier" => "ABC123", "subtotal_including_tax" => "12.38", ... }}
ShippingEasy::Resources::Order.create(store_api_key: "d8821dde1d32f408def40b77273d5c11", payload: payload)
If successful the call will return a hash with the ShippingEasy order ID, as well as the external order identifier originally supplied in your call.
{ "order" => { "id" => "27654", "external_order_identifier" => "ABC123" } }
Possible Exceptions
ShippingEasy::AccessDeniedError
Your credentials could not be authenticated or the store api_key could not be found.
ShippingEasy::InvalidRequestError
The order could not be created on the server for one or more of the following reasons:
- The JSON payload could not be parsed.
- One or more of the supplied data attributes failed validation and is missing or incorrect.
- An order with the supplied external_order_identifier already exists for that store.
The exception will contain a message that indicates which of these conditions failed.
Order Attributes
The following is a list of attributes that should be provided to the ShippingEasy_Order object as a associative array.
An example hash for the create order API call may be found here: https://gist.github.com/twmills/9349053.
external_order_identifier
: Required. The e-commerce system's order ID.
ordered_at
: Required. Timestamp when the order was created.
order_status
: Possible values are "awaiting_shipment", "awaiting_payment", "awaiting_fulfillment", "awaiting_shipment", "partially_shipped". Default is "awaiting_shipment".
total_including_tax
: Defaults to 0.0 if not specified.
total_excluding_tax
: Defaults to 0.0 if not specified.
discount_amount
: Defaults to 0.0 if not specified.
coupon_discount
: Defaults to 0.0 if not specified.
subtotal_including_tax
: Defaults to 0.0 if not specified.
subtotal_excluding_tax
: Defaults to 0.0 if not specified.
subtotal_tax
: Defaults to 0.0 if not specified.
total_tax
: Defaults to 0.0 if not specified.
base_shipping_cost
: Defaults to 0.0 if not specified.
shipping_cost_including_tax
: Defaults to 0.0 if not specified.
shipping_cost_excluding_tax
: Defaults to 0.0 if not specified.
shipping_cost_tax
: Defaults to 0.0 if not specified.
base_handling_cost
: Defaults to 0.0 if not specified.
handling_cost_excluding_tax
: Defaults to 0.0 if not specified.
handling_cost_including_tax
: Defaults to 0.0 if not specified.
handling_cost_tax
: Defaults to 0.0 if not specified.
base_wrapping_cost
: Defaults to 0.0 if not specified.
wrapping_cost_excluding_tax
: Defaults to 0.0 if not specified.
wrapping_cost_including_tax
: Defaults to 0.0 if not specified.
wrapping_cost_tax
: Defaults to 0.0 if not specified.
notes
: Customer notes on the order.
billing_company
: Company name for billing address
billing_first_name
: Customer first name for billing address
billing_last_name
: Customer last name for billing address
billing_address
: First address line for billing address
billing_address2
: Additional address line for billing address
billing_city
: City name for billing address
billing_state
: State name for billing address
billing_country
: Country name for billing address
billing_postal_code
: Postal code for billing address
billing_phone_number
: Phone number.
billing_email
: Email address
recipients
: A nested associative array of recipient attributes. At least one recipient is required.
recipients > company
: Company name for shipping address
recipients > first_name
: Customer first name for shipping address
recipients > last_name
: Customer last name for shipping address
recipients > address
: Required. First address line for shipping address
recipients > address2
: Additional address line for shipping address
recipients > city
: City name for shipping address
recipients > state
: State name for shipping address
recipients > country
: Country name for shipping address
recipients > residential
: Whether or not address is residential or not. Value can be "true" or "false".
recipients > postal_code
: Required. Postal code for shipping address
recipients > postal_code_plus_4
: Postal code plus 4 for shipping address
recipients > phone_number
: Customer phone number
recipients > email
: Customer email address
recipients > base_cost
: Cost before tax for all line items sent to this recipient
recipients > cost_excluding_tax
: Cost before tax for all line items sent to this recipient
recipients > cost_including_tax
: Cost including tax for all line items sent to this recipient
recipients > cost_tax
: Cost of the tax for all line items sent to this recipient
recipients > base_handling_cost
: Handling cost before tax for all line items sent to this recipient
recipients > handling_cost_excluding_tax
: Handling cost before tax for all line items sent to this recipient
recipients > handling_cost_including_tax
: Handling cost including tax for all line items sent to this recipient
recipients > handling_cost_tax
: Handling cost of the tax for all line items sent to this recipient
recipients > shipping_zone_id
: ID of the shipping zone.
recipients > shipping_zone_name
: Name of the shipping zone.
recipients > shipping_method
: Method of shipment.
recipients > items_total
: Total number of items.
recipients > items_shipped
: Total number of items shipped.
recipients > line_items
: A nested associative array of line item attributes. At least one line item is required.
recipients > line_items > item_name
: Name of the item/product.
recipients > line_items > sku
: SKU of the item/product.
recipients > line_items > bin_picking_number
: Bin number where the item may be stored in a warehouse.
recipients > line_items > weight_in_ounces
: Weight of the line item in ounces.
recipients > line_items > quantity
: Quantity of the the items for the line item.
recipients > line_items > total_excluding_tax
: Total excluding tax for the line item.
recipients > line_items > unit_price
: Unit price of the item.
recipients > line_items > product_options
: Hash of product variations applicable to this line item. E.g. {"color":"red", "size":"XXL"}