{"_id":"5c097a0265263a0216070bae","version":{"_id":"5c097a0265263a0216070bd2","__v":0,"forked_from":"54cc2148380ecd0d00ca18aa","project":"5436a1e1d0ffee0e00f18f8c","createdAt":"2015-01-31T00:26:48.753Z","releaseDate":"2015-01-31T00:26:48.753Z","categories":["5c097a0265263a0216070b98","5c097a0265263a0216070b99","5c097a0265263a0216070b9a","5c097a0265263a0216070b9b","5c097a0265263a0216070b9c","5c097a0265263a0216070b9d","5c097a0265263a0216070b9e","5c097a0265263a0216070b9f","5c097a0265263a0216070ba0","5c097a0265263a0216070ba1"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.2.0","version":"1.2"},"category":{"_id":"5c097a0265263a0216070b9f","project":"5436a1e1d0ffee0e00f18f8c","__v":2,"version":"5c097a0265263a0216070bd2","pages":["5c097a0265263a0216070baa","5c097a0265263a0216070bab","5c097a0265263a0216070bac","5c097a0265263a0216070bad","5c097a0265263a0216070bae","5c097a0265263a0216070baf","5c097a0265263a0216070bb0","5c097a0265263a0216070bcc"],"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2014-10-30T14:26:30.616Z","from_sync":false,"order":7,"slug":"php-client","title":"PHP client"},"user":"5436a1afb7cf0e1c0020d9ca","parentDoc":null,"__v":1,"githubsync":"","project":"5436a1e1d0ffee0e00f18f8c","updates":[],"next":{"pages":[],"description":""},"createdAt":"2014-10-30T14:31:47.288Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"never","params":[],"url":""},"isReference":false,"order":4,"body":"To add an order to a store, first instantiate a new order object with the store's API key and an associative array of the order data. A comprehensive list of the data attributes and their definitions can be found [here](https://shippingeasy.readme.io/docs/apiorders). Then simply call the create() method.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"<?php\\n$order = new ShippingEasy_Order(\\\"dc51f121e5ede4c163739c8dad4f98\\\",\\n    array(\\\"external_order_identifier\\\" => \\\"390049\\\", \\n      \\\"subtotal_including_tax\\\" => \\\"12.38\\\", \\n      \\\"ordered_at\\\" => \\\"2018-09-24\\\",\\n      \\\"notes\\\" => \\\"Here is the customer note\\\",\\n      \\\"internal_notes\\\" => \\\"Here is the internal note\\\",\\n      \\\"discount_amount\\\" => \\\"2.38\\\",\\n      \\\"custom_1\\\" => \\\"Custom Field 1\\\",\\n      \\\"custom_2\\\" => \\\"Custom Field 2\\\",\\n      \\\"custom_3\\\" => \\\"Custom Field 3\\\",\\n      \\\"total_including_tax\\\" => \\\"12.63\\\",\\n      \\\"total_excluding_tax\\\" => \\\"10.00\\\",\\n      \\\"discount_amount\\\" => \\\"0.00\\\",\\n      \\\"coupon_discount\\\" => \\\"0.00\\\",\\n      \\\"subtotal_including_tax\\\" => \\\"12.63\\\",\\n      \\\"subtotal_excluding_tax\\\" => \\\"10.00\\\",\\n      \\\"subtotal_tax\\\" => \\\"0.00\\\",\\n      \\\"total_tax\\\" => \\\"0.00\\\",\\n      \\\"base_shipping_cost\\\" => \\\"2.63\\\",\\n      \\\"shipping_cost_including_tax\\\" => \\\"2.63\\\",\\n      \\\"shipping_cost_excluding_tax\\\" => \\\"2.63\\\",\\n      \\\"shipping_cost_tax\\\" => \\\"0.00\\\",\\n      \\\"recipients\\\" => array(\\n         array(\\n        \\t\\\"first_name\\\" => \\\"James\\\",\\n        \\t\\\"last_name\\\" => \\\"Pyle\\\",\\n        \\t\\\"company\\\" => \\\"Wintheiser-Hickle\\\",\\n        \\t\\\"email\\\" => \\\"james:::at:::pyle.us\\\",\\n        \\t\\\"phone_number\\\" => \\\"813-505-9579\\\",\\n        \\t\\\"residential\\\" => \\\"true\\\",\\n        \\t\\\"address\\\" => \\\"3700 N Capital of Texas Hwy\\\",\\n        \\t\\\"address2\\\" => \\\"Ste 550\\\",\\n          \\\"province\\\" => \\\"\\\",\\n       \\t  \\\"state\\\" => \\\"TX\\\",\\n        \\t\\\"city\\\" => \\\"Austin\\\",\\n        \\t\\\"postal_code\\\" => \\\"78746\\\",\\n        \\t\\\"postal_code_plus_4\\\" => \\\"0035\\\",\\n        \\t\\\"country\\\" => \\\"US\\\",\\n        \\t\\\"shipping_method\\\" => \\\"Ground\\\",\\n        \\t\\\"items_total\\\" => \\\"1\\\",\\n        \\t\\\"line_items\\\" => array(\\n            array(\\n              \\\"item_name\\\" => \\\"Pencil Holder\\\",\\n              \\\"sku\\\" => \\\"9876543\\\",\\n              \\\"bin_picking_number\\\" => \\\"7\\\",\\n              \\\"unit_price\\\" => \\\"1.30\\\",\\n              \\\"total_excluding_tax\\\" => \\\"1.30\\\",\\n\\t            \\\"price_excluding_tax\\\" => \\\"1.30\\\",\\n              \\\"weight_in_ounces\\\" => \\\"10\\\",\\n              \\\"product_options\\\" => array(\\n                \\\"pa_size\\\" => \\\"large\\\",\\n                \\\"Colour\\\" => \\\"Blue\\\"\\n               ),\\n              \\\"quantity\\\" => \\\"1\\\"\\n            )\\n          )\\n        )\\n     )\\n  ));\\n\\n$res = $order->create();\\n?>\",\n      \"language\": \"php\"\n    }\n  ]\n}\n[/block]\nIf 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.\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{ \\\"order\\\" => { \\\"id\\\" => \\\"27654\\\", \\\"external_order_identifier\\\" => \\\"ABC123\\\" } }\",\n      \"language\": \"json\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Possible Exceptions\"\n}\n[/block]\n## ShippingEasy_AuthenticationError\nYour credentials could not be authenticated.\n\n## ShippingEasy_InvalidRequestError\nThe order could not be created on the server for one or more of the following reasons:\n\n* The JSON payload could not be parsed.\n* One or more of the supplied data attributes failed validation and is missing or incorrect.\n* An order with the supplied external_order_identifier already exists for that store.\n\nThe exception will contain a message that indicates which of these conditions failed.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Order Attributes\"\n}\n[/block]\nThe following is a list of attributes that should be provided to the `ShippingEasy_Order` object as a associative array.\n\nAn example associative array for the create order API call may be found here: https://gist.github.com/twmills/8711096.\n\n**external_order_identifier**\n: *Required.* The e-commerce system's order ID.\n\n**ordered_at**\n: *Required.* Timestamp when the order was created.\n\n**order_status**\n: Possible values are \"awaiting_shipment\", \"awaiting_payment\", \"awaiting_fulfillment\", \"awaiting_shipment\", \"partially_shipped\". Default is \"awaiting_shipment\".\n\n**alternate_order_id**\n: Additional identifier for the e-commerce order.\n\n**total_including_tax**\n: Defaults to 0.0 if not specified.\n\n**total_excluding_tax**\n: Defaults to 0.0 if not specified.\n\n**discount_amount**\n: Defaults to 0.0 if not specified.\n\n**coupon_discount**\n: Defaults to 0.0 if not specified.\n\n**subtotal_including_tax**\n: Defaults to 0.0 if not specified.\n\n**subtotal_excluding_tax**\n: Defaults to 0.0 if not specified.\n\n**subtotal_tax**\n: Defaults to 0.0 if not specified.\n\n**total_tax**\n: Defaults to 0.0 if not specified.\n\n**base_shipping_cost**\n: Defaults to 0.0 if not specified.\n\n**shipping_cost_including_tax**\n: Defaults to 0.0 if not specified.\n\n**shipping_cost_excluding_tax**\n: Defaults to 0.0 if not specified.\n\n**shipping_cost_tax**\n: Defaults to 0.0 if not specified.\n\n**base_handling_cost**\n: Defaults to 0.0 if not specified.\n\n**handling_cost_excluding_tax**\n: Defaults to 0.0 if not specified.\n\n**handling_cost_including_tax**\n: Defaults to 0.0 if not specified.\n\n**handling_cost_tax**\n: Defaults to 0.0 if not specified.\n\n**base_wrapping_cost**\n: Defaults to 0.0 if not specified.\n\n**wrapping_cost_excluding_tax**\n: Defaults to 0.0 if not specified.\n\n**wrapping_cost_including_tax**\n: Defaults to 0.0 if not specified.\n\n**wrapping_cost_tax**\n: Defaults to 0.0 if not specified.\n\n**notes**\n: Customer notes on the order.\n\n**internal_notes**\n: Internal notes on the order.\n\n**billing_company**\n: Company name for billing address\n\n**billing_first_name**\n: Customer first name for billing address\n\n**billing_last_name**\n: Customer last name for billing address\n\n**billing_address**\n: First address line for billing address\n\n**billing_address2**\n: Additional address line for billing address\n\n**billing_city**\n: City name for billing address\n\n**billing_state**\n: State name for billing address\n\n**billing_country**\n: Country name for billing address\n\n**billing_postal_code**\n: Postal code for billing address\n\n**billing_phone_number**\n: Phone number.\n\n**billing_email**\n: Email address\n\n**sales_channel**\n:Sales channel that provided the order, if any\n\n**custom_1**\n:Customer-defined value\n\n**custom_2**\n:Customer-defined value\n\n**custom_3**\n:Customer-defined value\n\n**tags**\n:An array of up to 10 tags for the order\n\n**gift**\n:Specify \"1\" to indicate a gift order\n\n**recipients**\n: A nested associative array of recipient attributes. At least one recipient is required.\n\n**recipients > company**\n: Company name for shipping address\n\n**recipients > first_name**\n: Customer first name for shipping address\n\n**recipients > last_name**\n: Customer last name for shipping address\n\n**recipients > address**\n: *Required.* First address line for shipping address\n\n**recipients > address2**\n: Additional address line for shipping address\n\n**recipients > city**\n: City name for shipping address\n\n**recipients > state**\n: State name for shipping address\n\n**recipients > country**\n: Country name for shipping address\n\n**recipients > residential**\n: Whether or not address is residential or not. Value can be \"true\" or \"false\".\n\n**recipients > postal_code**\n: *Required.* Postal code for shipping address\n\n**recipients > postal_code_plus_4**\n: Postal code plus 4 for shipping address\n\n**recipients > phone_number**\n: Customer phone number\n\n**recipients > email**\n: Customer email address\n\n**recipients > base_cost**\n: Cost before tax for all line items sent to this recipient\n\n**recipients > cost_excluding_tax**\n: Cost before tax for all line items sent to this recipient\n\n**recipients > cost_including_tax**\n: Cost including tax for all line items sent to this recipient\n\n**recipients > cost_tax**\n: Cost of the tax for all line items sent to this recipient\n\n**recipients > base_handling_cost**\n: Handling cost before tax for all line items sent to this recipient\n\n**recipients > handling_cost_excluding_tax**\n: Handling cost before tax for all line items sent to this recipient\n\n**recipients > handling_cost_including_tax**\n: Handling cost including tax for all line items sent to this recipient\n\n**recipients > handling_cost_tax**\n: Handling cost of the tax for all line items sent to this recipient\n\n**recipients > shipping_zone_id**\n: ID of the shipping zone.\n\n**recipients > shipping_zone_name**\n: Name of the shipping zone.\n\n**recipients > shipping_method**\n: Method of shipment.\n\n**recipients > items_total**\n: Total number of items.\n\n**recipients > items_shipped**\n: Total number of items shipped.\n\n**recipients > line_items**\n: A nested associative array of line item attributes. At least one line item is required.\n\n**recipients > line_items > item_name**\n: Name of the item/product.\n\n**recipients > line_items > sku**\n: SKU of the item/product.\n\n**recipients > line_items > bin_picking_number**\n: Bin number where the item may be stored in a warehouse.\n\n**recipients > line_items > weight_in_ounces**\n: Weight of the item in ounces. This is the single unit weight - ShippingEasy multiplies weight_in_ounces by quantity to calculate shipping weight.\n\n**recipients > line_items > quantity**\n: Quantity of the items for the line item.\n\n**recipients > line_items > total_excluding_tax**\n: Total amount excluding tax for the item. This is the single unit amount - ShippingEasy multiplies total_excluding_tax by quantity to display a line item total on packing slips.\n\n**recipients > line_items > unit_price**\n: Unit price of the item. Should be set to the same value as total_excluding_tax.\n\n**recipients > line_items > price_excluding_tax**\n: Unit price of the item. Should be set to the same value as total_excluding_tax. Used for displaying order search results.\n\n**recipients > line_items > product_options**\n: Hash of product variations applicable to this line item. E.g. {\"color\":\"red\", \"size\":\"XXL\"}\n\n**recipients > line_items > ext_line_item_id**\n: Unique identifier used in the store for this line item in the order\n\n**recipients > line_items >gift_message**\n:Gift message, if any, for this line item","excerpt":"","slug":"creating-an-order-1","type":"basic","title":"Creating an order"}
To add an order to a store, first instantiate a new order object with the store's API key and an associative array of the order data. A comprehensive list of the data attributes and their definitions can be found [here](https://shippingeasy.readme.io/docs/apiorders). Then simply call the create() method. [block:code] { "codes": [ { "code": "<?php\n$order = new ShippingEasy_Order(\"dc51f121e5ede4c163739c8dad4f98\",\n array(\"external_order_identifier\" => \"390049\", \n \"subtotal_including_tax\" => \"12.38\", \n \"ordered_at\" => \"2018-09-24\",\n \"notes\" => \"Here is the customer note\",\n \"internal_notes\" => \"Here is the internal note\",\n \"discount_amount\" => \"2.38\",\n \"custom_1\" => \"Custom Field 1\",\n \"custom_2\" => \"Custom Field 2\",\n \"custom_3\" => \"Custom Field 3\",\n \"total_including_tax\" => \"12.63\",\n \"total_excluding_tax\" => \"10.00\",\n \"discount_amount\" => \"0.00\",\n \"coupon_discount\" => \"0.00\",\n \"subtotal_including_tax\" => \"12.63\",\n \"subtotal_excluding_tax\" => \"10.00\",\n \"subtotal_tax\" => \"0.00\",\n \"total_tax\" => \"0.00\",\n \"base_shipping_cost\" => \"2.63\",\n \"shipping_cost_including_tax\" => \"2.63\",\n \"shipping_cost_excluding_tax\" => \"2.63\",\n \"shipping_cost_tax\" => \"0.00\",\n \"recipients\" => array(\n array(\n \t\"first_name\" => \"James\",\n \t\"last_name\" => \"Pyle\",\n \t\"company\" => \"Wintheiser-Hickle\",\n \t\"email\" => \"james@pyle.us\",\n \t\"phone_number\" => \"813-505-9579\",\n \t\"residential\" => \"true\",\n \t\"address\" => \"3700 N Capital of Texas Hwy\",\n \t\"address2\" => \"Ste 550\",\n \"province\" => \"\",\n \t \"state\" => \"TX\",\n \t\"city\" => \"Austin\",\n \t\"postal_code\" => \"78746\",\n \t\"postal_code_plus_4\" => \"0035\",\n \t\"country\" => \"US\",\n \t\"shipping_method\" => \"Ground\",\n \t\"items_total\" => \"1\",\n \t\"line_items\" => array(\n array(\n \"item_name\" => \"Pencil Holder\",\n \"sku\" => \"9876543\",\n \"bin_picking_number\" => \"7\",\n \"unit_price\" => \"1.30\",\n \"total_excluding_tax\" => \"1.30\",\n\t \"price_excluding_tax\" => \"1.30\",\n \"weight_in_ounces\" => \"10\",\n \"product_options\" => array(\n \"pa_size\" => \"large\",\n \"Colour\" => \"Blue\"\n ),\n \"quantity\" => \"1\"\n )\n )\n )\n )\n ));\n\n$res = $order->create();\n?>", "language": "php" } ] } [/block] 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. [block:code] { "codes": [ { "code": "{ \"order\" => { \"id\" => \"27654\", \"external_order_identifier\" => \"ABC123\" } }", "language": "json" } ] } [/block] [block:api-header] { "type": "basic", "title": "Possible Exceptions" } [/block] ## 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. [block:api-header] { "type": "basic", "title": "Order Attributes" } [/block] The following is a list of attributes that should be provided to the `ShippingEasy_Order` object as a associative array. An example associative array for the create order API call may be found here: https://gist.github.com/twmills/8711096. **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". **alternate_order_id** : Additional identifier for the e-commerce order. **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. **internal_notes** : Internal 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 **sales_channel** :Sales channel that provided the order, if any **custom_1** :Customer-defined value **custom_2** :Customer-defined value **custom_3** :Customer-defined value **tags** :An array of up to 10 tags for the order **gift** :Specify "1" to indicate a gift order **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 item in ounces. This is the single unit weight - ShippingEasy multiplies weight_in_ounces by quantity to calculate shipping weight. **recipients > line_items > quantity** : Quantity of the items for the line item. **recipients > line_items > total_excluding_tax** : Total amount excluding tax for the item. This is the single unit amount - ShippingEasy multiplies total_excluding_tax by quantity to display a line item total on packing slips. **recipients > line_items > unit_price** : Unit price of the item. Should be set to the same value as total_excluding_tax. **recipients > line_items > price_excluding_tax** : Unit price of the item. Should be set to the same value as total_excluding_tax. Used for displaying order search results. **recipients > line_items > product_options** : Hash of product variations applicable to this line item. E.g. {"color":"red", "size":"XXL"} **recipients > line_items > ext_line_item_id** : Unique identifier used in the store for this line item in the order **recipients > line_items >gift_message** :Gift message, if any, for this line item