{"_id":"54cc2149380ecd0d00ca18c8","__v":1,"parentDoc":null,"user":"5436cda4d0ffee0e00f19147","version":{"_id":"54cc2148380ecd0d00ca18aa","__v":2,"forked_from":"5436a1e1d0ffee0e00f18f8f","project":"5436a1e1d0ffee0e00f18f8c","createdAt":"2015-01-31T00:26:48.753Z","releaseDate":"2015-01-31T00:26:48.753Z","categories":["54cc2149380ecd0d00ca18ab","54cc2149380ecd0d00ca18ac","54cc2149380ecd0d00ca18ad","54cc2149380ecd0d00ca18ae","54cc2149380ecd0d00ca18af","54cc2149380ecd0d00ca18b0","54cc2149380ecd0d00ca18b1","54cc2149380ecd0d00ca18b2","54cc2149380ecd0d00ca18b3","552f29ca633a5b0d00e99d09"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.1.0","version":"1.1"},"category":{"_id":"54cc2149380ecd0d00ca18ac","pages":["54cc2149380ecd0d00ca18c4","54cc2149380ecd0d00ca18c5","54cc2149380ecd0d00ca18c6","54cc2149380ecd0d00ca18c7","54cc2149380ecd0d00ca18c8","54cc2149380ecd0d00ca18c9","54cc2601380ecd0d00ca18dc","55035fc26cb452370085b3ef","561dbc1defcf8217003adf22","561e6b043e744b2100d21191"],"project":"5436a1e1d0ffee0e00f18f8c","version":"54cc2148380ecd0d00ca18aa","__v":5,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2014-10-09T15:31:21.989Z","from_sync":false,"order":1,"slug":"customer-api","title":"Customer API"},"project":"5436a1e1d0ffee0e00f18f8c","updates":["54b7f7b047594517001ce7dd"],"next":{"pages":[],"description":""},"createdAt":"2014-10-12T18:58:33.818Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"auth":"never","params":[],"url":""},"isReference":false,"order":9,"body":"[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Use Cases\"\n}\n[/block]\nThe Customer API has two key features:\n\n  * Query order data within a ShippingEasy account\n  * Add orders to a ShippingEasy account\n\nExample use cases include adding support for ecommerce platforms that ShippingEasy does not support and reading data from ShippingEasy for use by a third party application (accounting, warehousing, etc.).\n\nFor the Customer APIs, sample libraries in PHP and Ruby are available:\n\nhttps://github.com/ShippingEasy/shipping_easy-php\n\nhttps://github.com/ShippingEasy/shipping_easy-ruby\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"cURL Examples\"\n}\n[/block]\nFor developers using languages other than PHP or Ruby, [check out our examples using cURL](http://shippingeasy.readme.io/v1.0/docs/creating-a-signature).\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Design Considerations\"\n}\n[/block]\nIf your application will be adding orders to a ShippingEasy account, keep these considerations in mind:\n\n1. *When* will your application add the order? As soon as the order is created? Or does the order need to have a certain work flow state within your application before it would be appropriate to send the order to ShippingEasy? \n\n2. The Customer API includes a method for cancelling an order in ShippingEasy. Making use of it allows your customer to cancel the order within your application without having to then duplicate that operation in the ShippingEasy user interface.\n\n3. You do not need to poll ShippingEasy for shipment information. The ShippingEasy API will notify your application via a callback URL each time a shipment occurs for an order that was added via the API.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Store Setup\"\n}\n[/block]\nWithin a ShippingEasy account, customers can setup one or more *stores*. A store is just a selling channel (e.g. eBay, amazon, Shopify, Bigcommerce, Volusion, etc.).\n\nThe Query API that ShippingEasy provides can return orders across all of an account's stores or from just a single store.\n\nThe API for adding orders to a ShippingEasy account always adds those orders to a single store within the ShippingEasy account. Further, that store must be of a specific type: it must be a ShippingEasy API store.\n\nYou can create a ShippingEasy API store with the ShippingEasy user interface:\n\n1. Login to a ShippingEasy account\n2. Click the Settings tab\n3. Click the Stores entry\n4. Click the Add New button\n5. Select ShippingEasy API as the store type\n\nNote that you will be required to provide a working URL for your web site. The ShippingEasy application will attempt to verify the URL responds to a request.  \n\nIncluded within the settings for a ShippingEasy API store is a field for specifying the URL of your callback. ShippingEasy will send shipment information to that URL - note that HTTPS is required and self-signed certificates are not supported.\n\nOn the Settings > Stores & Orders page within the ShippingEasy user interface the information about your ShippingEasy API store will be displayed. Make note of the Store API Key, it will be needed when you use the API:\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/tjxHKud3Qd6qcEbMHwPQ_sapk.png\",\n        \"sapk.png\",\n        \"694\",\n        \"314\",\n        \"#6eb958\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]","excerpt":"","slug":"getting-started-1","type":"basic","title":"Quick Start"}
[block:api-header] { "type": "basic", "title": "Use Cases" } [/block] The Customer API has two key features: * Query order data within a ShippingEasy account * Add orders to a ShippingEasy account Example use cases include adding support for ecommerce platforms that ShippingEasy does not support and reading data from ShippingEasy for use by a third party application (accounting, warehousing, etc.). For the Customer APIs, sample libraries in PHP and Ruby are available: https://github.com/ShippingEasy/shipping_easy-php https://github.com/ShippingEasy/shipping_easy-ruby [block:api-header] { "type": "basic", "title": "cURL Examples" } [/block] For developers using languages other than PHP or Ruby, [check out our examples using cURL](http://shippingeasy.readme.io/v1.0/docs/creating-a-signature). [block:api-header] { "type": "basic", "title": "Design Considerations" } [/block] If your application will be adding orders to a ShippingEasy account, keep these considerations in mind: 1. *When* will your application add the order? As soon as the order is created? Or does the order need to have a certain work flow state within your application before it would be appropriate to send the order to ShippingEasy? 2. The Customer API includes a method for cancelling an order in ShippingEasy. Making use of it allows your customer to cancel the order within your application without having to then duplicate that operation in the ShippingEasy user interface. 3. You do not need to poll ShippingEasy for shipment information. The ShippingEasy API will notify your application via a callback URL each time a shipment occurs for an order that was added via the API. [block:api-header] { "type": "basic", "title": "Store Setup" } [/block] Within a ShippingEasy account, customers can setup one or more *stores*. A store is just a selling channel (e.g. eBay, amazon, Shopify, Bigcommerce, Volusion, etc.). The Query API that ShippingEasy provides can return orders across all of an account's stores or from just a single store. The API for adding orders to a ShippingEasy account always adds those orders to a single store within the ShippingEasy account. Further, that store must be of a specific type: it must be a ShippingEasy API store. You can create a ShippingEasy API store with the ShippingEasy user interface: 1. Login to a ShippingEasy account 2. Click the Settings tab 3. Click the Stores entry 4. Click the Add New button 5. Select ShippingEasy API as the store type Note that you will be required to provide a working URL for your web site. The ShippingEasy application will attempt to verify the URL responds to a request. Included within the settings for a ShippingEasy API store is a field for specifying the URL of your callback. ShippingEasy will send shipment information to that URL - note that HTTPS is required and self-signed certificates are not supported. On the Settings > Stores & Orders page within the ShippingEasy user interface the information about your ShippingEasy API store will be displayed. Make note of the Store API Key, it will be needed when you use the API: [block:image] { "images": [ { "image": [ "https://files.readme.io/tjxHKud3Qd6qcEbMHwPQ_sapk.png", "sapk.png", "694", "314", "#6eb958", "" ] } ] } [/block]