ShipEngine allows users to update sales orders manually via the API.
order_dateship_tofor every sales order item, if any
Important
Your sales order will be completely replaced with the information you provide in the request. Key identifying information like external_order_id and order_source cannot be changed.
PUT /v-beta/sales_orders/:sales_order_id
PUT /v-beta/sales_orders/32e18d70-52e0-5002-ab7a-ae33843c2187 HTTP/1.1
Host: api.shipengine.com
API-Key: __YOUR_API_KEY_HERE__
Content-Type: application/json{
"order_date": "2019-07-25T15:24:46.657Z",
"payment_details": {
"subtotal": {"currency": "usd", "amount": 200},
"estimated_shipping": {"currency": "usd", "amount": 10},
"estimated_tax": {"currency": "usd", "amount": 5},
"grand_total": {"currency": "usd", "amount": 215}
},
"customer": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"email": "example@example.com"
},
"bill_to": {
"email": "example@example.com",
"address": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
}
},
"ship_to": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
},
"sales_order_items": [{
"sales_order_item_id": "02202633-d038-5cfc-bdc2-777968435771",
"line_item_details": {
"name": "ball of string A",
"sku": "ball of string A"
},
"price_summary": {
"unit_price": {"currency": "usd", "amount": 200}
},
"ship_to": {
"name": "Amanda Miller",
"phone": "555-555-5555",
"address_line1": "525 S Winchester Blvd",
"city_locality": "San Jose",
"state_province": "CA",
"postal_code": "95128",
"country_code": "US",
"address_residential_indicator": "yes"
},
"quantity": 4,
"is_gift": false
}]
}- You can only update existing sales order items
- Cannot add or remove items from a sales order
- Include all items in your request, even unchanged ones
- Items are identified by
sales_order_item_id
You may only use the API to update sales orders with an api order source. Amazon or Shopify orders must be updated through their respective platforms.
- Specify
ship_tofor the entire order OR for each individual item - If specified at order level, applies to all items
- Can specify at both levels if addresses are identical