updateSalesOrderStatus
Requires permission sales:sales_order:update.
Move an order to another status. Only transitions the status matrix allows are accepted. Moving to CONFIRMED, CANCELLED or DELIVERED also needs the confirm, cancel or deliver permission. Send expectedVersion to guard against concurrent edits.
Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.
Example:
- GraphQL
- cURL
mutation UpdateSalesOrderStatus($id: ID!, $status: SalesOrderStatus!) {
updateSalesOrderStatus(id: $id, status: $status) {
id
customerPoNumber
orderNumber
sourceQuoteNumber
trackingNumber
creatorName
billingAddress {
postalCode
city
country
state
street1
street2
}
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "mutation UpdateSalesOrderStatus($id: ID!, $status: SalesOrderStatus!) {\n updateSalesOrderStatus(id: $id, status: $status) {\n id\n customerPoNumber\n orderNumber\n sourceQuoteNumber\n trackingNumber\n creatorName\n billingAddress {\n postalCode\n city\n country\n state\n street1\n street2\n }\n }\n}",
"variables": {
"id": "id",
"status": "AWAITING_PAYMENT"
}
}
EOF
Variables:
{
"id": "id",
"status": "AWAITING_PAYMENT"
}
Response:
{
"data": {
"updateSalesOrderStatus": {
"id": "id",
"customerPoNumber": "string",
"orderNumber": "string",
"sourceQuoteNumber": "string",
"trackingNumber": "string",
"creatorName": "string",
"billingAddress": {
"postalCode": "string",
"city": "string",
"country": "string",
"state": "string",
"street1": "string",
"street2": "string"
}
}
}
}
Move a sales order to a new status:
- GraphQL
- cURL
mutation UpdateSalesOrderStatus($id: ID!, $status: SalesOrderStatus!) {
updateSalesOrderStatus(id: $id, status: $status) {
id
orderNumber
status
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "mutation UpdateSalesOrderStatus($id: ID!, $status: SalesOrderStatus!) {\n updateSalesOrderStatus(id: $id, status: $status) {\n id\n orderNumber\n status\n }\n}",
"variables": {
"id": "SALES_ORDER_ID",
"status": "SHIPPED"
}
}
EOF
Variables:
{
"id": "SALES_ORDER_ID",
"status": "SHIPPED"
}
Response:
{
"data": {
"updateSalesOrderStatus": {
"id": "SALES_ORDER_ID",
"orderNumber": "ORDER_NUMBER",
"status": "SHIPPED"
}
}
}
updateSalesOrderStatus(
expectedVersion: Int
id: ID!
status: SalesOrderStatus!
): SalesOrder!
Arguments
updateSalesOrderStatus.expectedVersion ● Int scalar
The version of the record you last read. The change is refused if someone else changed it since.
updateSalesOrderStatus.id ● ID! non-null scalar
The ID of the sales order.
updateSalesOrderStatus.status ● SalesOrderStatus! non-null enum
The status to move the order to.
Type
SalesOrder object
A confirmed demand from a customer to ship goods, usually converted from a quote. Moves through confirmation, shipment, invoicing and payment.