Place Order Input

Input representation of the request to create or update an order.

JSON Example 

1{
2  "pricingPref": "System",
3  "configurationInput": "RunAndAllowErrors",
4  "configurationOptions": {
5    "validateProductCatalog": true,
6    "validateAmendRenewCancel": true,
7    "executeConfigurationRules": true,
8    "addDefaultConfiguration": true
9  },
10  "graph": {
11    "graphId": "graphId",
12    "records": [
13      {
14        "referenceId": "refOrder",
15        "record": {
16          "attributes": {
17            "type": "Order",
18            "method": "POST",
19            "Id": "POST"
20          }
21        }
22      },
23      {
24         "referenceId":"refOrderItem",
25         "record":{
26         "attributes":{
27             "type":"OrderItem",
28             "method":"POST"
29            },
30            "OrderId":"@{refOrder.id}",
31            "OrderActionId":"@{refOrderAction.id}",
32            "ListPrice":"144.99",
33            "Quantity":3,
34            "PricebookEntryId":"01uxx0000008yXPAAY",
35            "Product2Id":"01txx0000006i2UAAQ",
36            "UnitPrice":"199.49"
37       }
38      }
39    ]
40  }
41}

This example shows a sample request to define grouping of order items.

1{
2    "pricingPref": "system",
3    "graph": {
4        "graphId": "placeOrder",
5        "records": [
6            {
7                "referenceId": "refOrder",
8                "record": {
9                    "attributes": {
10                        "type": "Order",
11                        "method": "PATCH",
12                        "id": "801xx000003GZ9bAAG"
13                    }
14                }
15            },
16            {
17                "referenceId": "refOlg1",
18                "record": {
19                    "attributes": {
20                        "type": "OrderItemGroup",
21                        "method": "POST"
22                    },
23                    "Name": "New Group",
24                    "OrderId": "@{refOrder.id}"
25                }
26            }
27        ]
28    }
29}

This example shows a sample request to ungroup order items.

1{
2    "pricingPref": "system",
3    "graph": {
4        "graphId": "placeOrder",
5        "records": [
6            {
7                "referenceId": "refOrder",
8                "record": {
9                    "attributes": {
10                        "type": "Order",
11                        "method": "PATCH",
12                        "id": "refOrder"
13                    }
14                }
15            },
16            {
17                "referenceId": "refOlg1",
18                "record": {
19                    "attributes": {
20                        "type": "OrderItemGroup",
21                        "method": "DELETE",
22                        "id": "refOlg1",
23                        "action": "Ungroup"
24                    }
25                }
26            }
27        ]
28    }
29}

This example shows a sample request to create a new group.

1{
2    "pricingPref": "system",
3    "graph": {
4        "graphId": "placeOrder",
5        "records": [
6            {
7                "referenceId": "refOrder",
8                "record": {
9                    "attributes": {
10                        "type": "Order",
11                        "method": "PATCH",
12                        "id": "refOrder"
13                    }
14                }
15            },
16            {
17                "referenceId": "refOlg",
18                "record": {
19                    "attributes": {
20                        "type": "OrderItemGroup",
21                        "method": "POST"
22                    },
23                    "Name": "New Group",
24                    "OrderId": "@{refOrder.id}"
25                }
26            }
27        ]
28    }
29}

This example shows a sample request to delete a group.

1{
2    "contextId": "",
3    "correlationId": "",
4    "records": [
5        {
6            "referenceId": "refOrder",
7            "record": {
8                "attributes": {
9                    "type": "Order",
10                    "method": "PATCH",
11                    "id": "refOrder"
12                }
13            }
14        },
15        {
16            "referenceId": "refOlg",
17            "record": {
18                "attributes": {
19                    "type": "OrderItemGroup",
20                    "method": "DELETE",
21                    "id": "refOlg",
22                    "action": "DeleteGroup"
23                }
24            }
25        }
26    ]
27}

This example shows a sample request to group order items based on criteria.

1{
2    "pricingPref": "system",
3    "graph": {
4        "graphId": "placeOrder",
5        "records": [
6            {
7                "referenceId": "refOrder",
8                "record": {
9                    "attributes": {
10                        "type": "Order",
11                        "method": "PATCH",
12                        "id": "refOrder"
13                    }
14                }
15            },
16            {
17                "referenceId": "g0",
18                "record": {
19                    "attributes": {
20                        "type": "OrderItemGroup",
21                        "method": "POST",
22                        "action": "GroupBy",
23                        "criteria": {
24                            "BillingFrequency2": null
25                        }
26                    },
27                    "Name": "Billing Frequency: ",
28                    "OrderId": "@{refOrder.id}"
29                }
30            },
31            {
32                "referenceId": "g1",
33                "record": {
34                    "attributes": {
35                        "type": "OrderItemGroup",
36                        "method": "POST",
37                        "action": "GroupBy",
38                        "criteria": {
39                            "BillingFrequency2": "Monthly"
40                        }
41                    },
42                    "Name": "Billing Frequency: Monthly",
43                    "OrderId": "@{refOrder.id}"
44                }
45            }
46        ]
47    }
48}

Properties 

NameTypeDescriptionRequired or OptionalAvailable Version
catalog​RatesPrefStringRate card entries defined in the catalog that must be fetched for order items with usage-based pricing during the order creation process. Valid values are Fetch—Retrieves the rate card entries defined in the catalog for order items during the order creation process or Skip—Skips the retrieval of rate card entries for order items during the order creation process. The default value is Skip. This property is available when the Usage-Based Selling feature is enabled.Optional62.0
configuration​InputStringConfiguration input for the place order process. Valid values are RunAndAllowErrors—Specifies to run the configuration and to proceed order ingestion upon encountering any configuration errors, RunAndBlockErrors—Specifies to run configuration and to block order ingestion upon encountering any configuration errors, or Skip—Specifies to skip configuration. The default value is RunAndBlockErrors.Optional60.0
configuration​OptionsConfiguration Options Input​[]Configuration options during the ingestion process.Optional60.0
graphObject Graph InputThe sObject graph of the order payload to be ingested. You can perform create, update, or delete operations on objects from the Sales Transaction context definition by using this property. Additionally, perform create, update, or delete operations on custom objects and fields in your extended context definition.Required60.0
pricing​PrefStringPricing preference during the create order process. Valid values are Force—Specifies to force pricing during the order ingestion process, Skip—Specifies to skip pricing during the order ingestion process, or System—Specifies the system to determine whether a pricing calculation is required. The default value is System.Optional60.0