Place Quote Input

Input representation of the request to create or update a quote.

JSON Example 

This example shows a sample request to create a quote.

1{
2  "pricingPref": "System",
3  "configurationInput": "RunAndAllowErrors",
4  "configurationOptions": {
5    "validateProductCatalog": true,
6    "validateAmendRenewCancel": true,
7    "executeConfigurationRules": true,
8    "addDefaultConfiguration": true
9  },  "graph": {
10    "graphId": "createQuote",
11    "records": [{ 
12        "referenceId": "refQuote",
13        "record": {
14          "attributes": {
15            "type": "Quote",
16            "method": "POST"
17          },
18          "opportunityId": "---",
19          "quoteProp1": "value1",
20          "quoteProp2": "value2"
21        }
22      },
23      {
24        "referenceId": "refQuoteLineItem1",
25        "record": {
26          "attributes": {
27            "type": "QuoteLineItem",
28            "method": "POST"
29          },
30          "QuoteLineItemProp1": "value1",
31          "QuoteLineItemProp2": "value2"
32        }
33      },
34      {
35      "referenceId": "refQuoteLineItemAttribute",
36      "record": {
37        "attributes": {
38              "type": "QuoteLineItemAttribute",
39              "method": "POST"
40       },
41       "QuoteLineItemId": "@{refQuoteLineItem1.id}",
42       "AttributeDefinitionId": "0tjxx0000000001AAA"
43      }
44}
45    ]
46  }
47}

This example shows a sample request to insert, update, or delete a quote line item.

1{
2  "pricingPref": "System",
3  "configurationInput": "skip",
4  "graph": {
5    "graphId": "updateQuote",
6    "records": [
7      {
8        "referenceId": "refQuote",
9        "record": {
10          "attributes": {
11            "type": "Quote",
12            "method": "PATCH",
13            "id": "0Q0xx0000004E2mCAE"
14          },
15          "Name": "Quote_Acme"
16        }
17      },
18      {
19        "referenceId": "refQuoteLineItemToCreate1",
20        "record": {
21          "attributes": {
22            "type": "QuoteLineItem",
23            "method": "POST"
24          },
25          "QuoteId": "0Q0xx0000004E2mCAE",
26          "PricebookEntryId": "01uxx0000008yXPAAY",
27          "Product2Id": "01txx0000006i2UAAQ",
28          "Quantity": 2.0,
29          "UnitPrice": 800.0,
30          "PeriodBoundary": "Anniversary",
31          "BillingFrequency": "Monthly",
32          "StartDate": "2024-03-11"
33        }
34      },
35      {
36        "referenceId": "refQuoteLineItemToPatch2",
37        "record": {
38          "attributes": {
39            "type": "QuoteLineItem",
40            "method": "PATCH",
41            "id": "0Q0xx0000004E2mCAE"
42          },
43          "Quantity": 2.0,
44          "UnitPrice": 600.0
45        }
46      },
47      {
48        "referenceId": "refQuoteLineItemToDelete3",
49        "record": {
50          "attributes": {
51            "type": "QuoteLineItem",
52            "method": "DELETE",
53            "id": "0Q0xx0000004E2mYLK"
54          }
55        }
56      }
57    ]
58  }
59}

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

1{
2   "pricingPref": "Force",
3   "configurationInput": "skip",
4   "graph": {
5      "graphId": "groupLines",
6      "records": [
7         {
8            "referenceId": "refQuote",
9            "record": {
10               "attributes": {
11                  "type": "Quote",
12                  "method": "PATCH",
13                  "id":"0Q0xx0000004C99CAE"
14               },
15               "Name": "From Place Quote API"
16            }
17         },
18         {
19            "referenceId": "refQlg1",
20            "record": {
21               "attributes": {
22                  "type": "QuoteLineGroup",
23                  "method": "POST",
24                  "action": "GroupBy",
25                  "criteria": {
26                    "Quantity": 1
27                  }
28               },
29               "Name": "From Place Quote API Group",
30               "QuoteId": "@{refQuote.id}"
31            }
32         },
33         {
34            "referenceId": "refQuoteItem1",
35            "record": {
36               "attributes": {
37                  "type": "QuoteLineItem",
38                  "method": "PATCH",
39                  "id":"0QLxx0000004DJcGAM"
40               },
41               "QuoteLineGroupId": "@{refQlg1.id}",
42               "Quantity": 1
43            }
44         }
45      ]
46   }
47}

This example shows a sample request for the initial grouping of the quote with the quote lines assigned to the first group.

1{
2  "pricingPref": "Force",
3  "graph": {
4    "graphId": "test",
5    "records": [
6      {
7        "referenceId": "refQuote",
8        "record": {
9          "attributes": {
10            "type": "Quote",
11            "method": "PATCH",
12            "id": "0Q0xx0000004CAmCAM"
13          }
14        }
15      },
16      {
17        "referenceId": "refQlg1",
18        "record": {
19          "attributes": {
20            "type": "QuoteLineGroup",
21            "method": "POST",
22            "action": "GroupAll"
23          },
24          "Name": "From PQ API Group",
25          "QuoteId": "@{refQuote.id}"
26        }
27      }
28    ]
29  }
30}

This example shows a sample request to ungroup a quote but retain the quote lines.

1{
2   "pricingPref": "Force",
3   "configurationInput": "skip",
4   "graph": {
5      "graphId": "test",
6      "records": [
7         {
8            "referenceId": "refQuote", 
9            "record": {
10               "attributes": {
11                  "type": "Quote",
12                  "method": "PATCH",
13                  "id":"0Q0xx0000004C99CAE"
14               },
15               "Name": "From Place Quote API"
16            }
17         },
18         {
19            "referenceId": "refQlg1",
20            "record": {
21               "attributes": {
22                  "type": "QuoteLineGroup",
23                  "method": "DELETE",
24                  "id": "{GroupId}",
25                  "action": "Ungroup"
26               }
27            }
28         }
29      ]
30   }
31}

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

1{
2   "pricingPref": "Force",
3   "configurationInput": "skip",
4   "graph": {
5      "graphId": "test",
6      "records": [
7         {
8            "referenceId": "refQuote",
9            "record": {
10               "attributes": {
11                  "type": "Quote",
12                  "method": "PATCH",
13                  "id":"0Q0xx0000004C99CAE"
14               },
15               "Name": "From Place Quote API"
16            }
17         },
18         {
19            "referenceId": "refQlg1",
20            "record": {
21               "attributes": {
22                  "type": "QuoteLineGroup",
23                  "method": "POST"
24               },
25               "Name": "From PQ API Group",
26               "QuoteId": "@{refQuote.id}"
27            }
28         }
29      ]
30   }
31}

This example shows a sample request to delete a group.

1{
2   "pricingPref": "Force",
3   "configurationInput": "skip",
4   "graph": {
5      "graphId": "test",
6      "records": [
7         {
8            "referenceId": "refQuote",
9            "record": {
10               "attributes": {
11                  "type": "Quote",
12                  "method": "PATCH",
13                  "id":"0Q0xx0000004C99CAE"
14               },
15               "Name": "From Place Quote API"
16            }
17         },
18         {
19            "referenceId": "refQlg1",
20            "record": {
21               "attributes": {
22                  "type": "QuoteLineGroup",
23                  "method": "DELETE",
24                  "id": "{GroupId}",
25                  "action": "DeleteGroup"
26               }
27            }
28         }
29      ]
30   }
31}

This example shows a sample request to move a group.

1{
2   "pricingPref": "Force",
3   "configurationInput": "skip",
4   "graph": {
5      "graphId": "test",
6      "records": [
7         {
8            "referenceId": "refQuote",
9            "record": {
10               "attributes": {
11                  "type": "Quote",
12                  "method": "PATCH",
13                  "id":"0Q0xx0000004C99CAE"
14               },
15               "Name": "From PlaceQuote Api"
16            }
17         },
18        {
19            "referenceId": "0QLxx0000004CBYGA2",
20            "record": {
21                "attributes": {
22                    "type": "QuoteLineItem",
23                    "method": "PATCH"
24                    "id": "0QLxx0000004CBYGA2"
25                },
26                "Quantity": 2,
27                "QuoteLineGroupId": "@{GroupId2}"
28            }
29      ]
30   }
31}

Properties 

NameTypeDescriptionRequired or OptionalAvailable Version
catalog​RatesPrefStringRate card entries defined in the catalog that must be fetched for quote line items with usage-based pricing during the quote creation process. Valid values are Fetch—Retrieves the rate card entries defined in the catalog for quote line items during the quote creation process or Skip—Skips the retrieval of rate card entries for quote line items during the quote 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 quote process. Valid values are RunAndAllowErrors, RunAndBlockErrors, or Skip. The default value is RunAndBlockErrors.Optional60.0
configuration​OptionsConfiguration Options InputConfiguration options during the ingestion process.Optional60.0
graphObject Graph InputThe sObject graph representing the quote structure. 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 quote process. Valid values are Force, Skip, or System. The default value is System.Optional60.0