To add an order to a store, first instantiate a new Client object with the ShippingEasy account's API key and API secret. Then use CreateOrder to specify the store's API key and the data for the order:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ShippingEasy;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
String baseUrl = "https://app.shippingeasy.com";
// from Settings > API Credentials
String apiKey = "7e419816e705d1cd6d7d533bf484ad";
String apiSecret = "3ca2e94bca001112f3a89e208dec55e89d630bbd33a0dcf591847cc5944d21";
// from Settings > Stores
String storeApiKey = "d0e8e360d4a1d42a53eed5439150a8";
var client = new Client(apiKey, apiSecret, baseUrl);
var result = client.CreateOrder(storeApiKey, new Order
{
ExternalOrderIdentifier = "ABC1234",
OrderedAt = DateTime.Now,
Recipients =
{
new Recipient
{
FirstName = "Colin",
LastName = "Smith",
Address = "1600 Pennsylvania Ave",
City = "Washington",
State = "DC",
LineItems = {
new LineItem { ItemName = "Sprocket", Quantity = 7 }
}
}
},
});
HttpResponse response = result.HttpResponse;
}
}
}
If successful the call will return a JSON hash with the ShippingEasy order ID, as well as the external order identifier originally supplied in your call:
{
"order": {
"id": 58763481,
"external_order_identifier": "ABC12345",
"ext_order_reference_id": "ABC12345",
"owner_id": 50385,
"ordered_at": "2016-09-16T20:52:13Z",
"order_status": "ready_for_shipment",
"parent_order_id": null,
"source_order_ids": null,
"total_including_tax": "0.00",
"total_excluding_tax": "0.00",
"discount_amount": "0.00",
"coupon_discount": "0.00",
"subtotal_including_tax": "0.00",
"subtotal_excluding_tax": "0.00",
"subtotal_tax": "0.00",
"total_tax": "0.00",
"base_shipping_cost": "0.00",
"shipping_cost_including_tax": "0.00",
"shipping_cost_excluding_tax": "0.00",
"shipping_cost_tax": "0.00",
"base_handling_cost": "0.00",
"handling_cost_excluding_tax": "0.00",
"handling_cost_including_tax": "0.00",
"handling_cost_tax": "0.00",
"base_wrapping_cost": "0.00",
"wrapping_cost_excluding_tax": "0.00",
"wrapping_cost_including_tax": "0.00",
"wrapping_cost_tax": "0.00",
"billing_company": null,
"billing_first_name": null,
"billing_last_name": null,
"billing_address": null,
"billing_address2": null,
"billing_city": null,
"billing_state": null,
"billing_country": null,
"billing_postal_code": null,
"billing_phone_number": null,
"billing_email": null,
"recipients": [
{
"company": null,
"first_name": "Colin",
"last_name": "Smith",
"address": "1600 Pennsylvania Ave",
"address2": null,
"address3": null,
"city": "Washington",
"residential": null,
"state": "DC",
"province": null,
"country": "United States",
"postal_code": null,
"postal_code_plus_4": null,
"phone_number": null,
"email": null,
"base_cost": "0.00",
"cost_excluding_tax": "0.00",
"cost_including_tax": "0.00",
"cost_tax": "0.00",
"base_handling_cost": "0.00",
"handling_cost_excluding_tax": "0.00",
"handling_cost_including_tax": "0.00",
"handling_cost_tax": "0.00",
"shipping_zone_id": null,
"shipping_zone_name": null,
"items_total": 0,
"shipping_method": null,
"items_shipped": 0,
"ext_shipping_detail_id": null,
"line_items": [
{
"item_name": "Sprocket",
"sku": null,
"bin_picking_number": null,
"bundled_product": null,
"weight_in_ounces": "0.0",
"quantity": 7,
"total_excluding_tax": "0.00",
"price_excluding_tax": "0.00",
"unit_price": "0.00",
"ext_line_item_id": null,
"ext_product_id": null,
"product_options": null,
"uuid": "70e9f2c7-7433-4ea2-8fcc-a3bb855b0298",
"order_source_id": 46993771,
"gift_message": null
}
],
"original_order": {
"id": 58763481,
"customer_id": 3633,
"store_id": 52377,
"order_detail_id": 58842251,
"workflow_state": "ready_for_shipment",
"shipment_id": null,
"destination_id": null,
"split_from_order_id": null,
"total_weight_in_ounces": "0.0",
"total_quantity": 7,
"is_international": false,
"usps_shipping_zone": null,
"created_at": "2016-09-16T20:52:11Z",
"updated_at": "2016-09-16T20:52:11Z",
"ext_shipment_confirmation_id": null,
"store_order_status": "awaiting_shipment",
"drop_ship_tracking_number": null,
"category_id": null,
"internal_notes": "",
"line_item_name": "sprocket",
"line_item_sku": null,
"address_kind": "F",
"recipient_last_name": "smith",
"recipient_requested_service": null,
"gift": false,
"prime_order_id": 58763481,
"state": "DC",
"owner_id": 50385,
"denormalized_ordered_at": "2016-09-16T20:52:13Z",
"grab_bag": {
},
"line_item_bin_picking_number": null,
"denormalized_ext_order_id": "ABC12345",
"packing_slip_generated": null,
"denormalized_ext_order_reference_id": "ABC12345",
"denormalized_alternate_order_id": null,
"denormalized_sales_channel": null,
"custom_1": null,
"custom_2": null,
"custom_3": null
}
}
],
"store_api_key": "d0e8e360d4a1d42a53eed5439150a881",
"shipments": [
],
"updated_at": "2016-09-16T20:52:11Z",
"internal_notes": "",
"meta_data": null,
"prime_order_id": 58763481,
"is_prime": null,
"split_from_order_id": null
}
}
Possible Exceptions
ShippingEasy_AuthenticationError
Your credentials could not be authenticated.
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.