Group Ramp Action Input
Json Example To Edit A Group
This is a sample request that creates the first ramp segment. This request accepts IDs of a quote and quote line group. Additionally, the request accepts attributes of quote line group such as IsRamped, SegmentType, StartDate, and EndDate. A ramp segment is created with a ramp identifier and segment identifier added to all the quote line items available in the ramp segment.
This process converts a group into a segment, which becomes the first segment in the ramp schedule. A quote can contain a single ramp schedule only. To create another segment in the ramp schedule, use the Clone Sales Transaction API.
1{
2 "groupRampAction": "EditGroup",
3 "pricingPref": "System",
4 "graph": {
5 "graphId": "updateQuote",
6 "records": [
7 {
8 "referenceId": "0Q0xx0000004CYqCAM",
9 "record": {
10 "attributes": {
11 "type": "Quote",
12 "method": "PATCH",
13 "id": "0Q0xx0000004CYqCAM"
14 }
15 }
16 },
17 {
18 "referenceId": "1C9xx0000004CVcCAM",
19 "record": {
20 "attributes": {
21 "type": "QuoteLineGroup",
22 "method": "PATCH",
23 "id": "1C9xx0000004CVcCAM"
24 },
25 "StartDate": "2025-05-01",
26 "EndDate": "2025-06-30",
27 "SortOrder": 1,
28 "IsRamped": true,
29 "SegmentType": "Custom"
30 }
31 }
32 ]
33 }
34}Json Example To Edit A Ramp Segment
1{
2 "groupRampAction": "EditRampSchedule",
3 "pricingPref": "System",
4 "graph": {
5 "graphId": "updateQuote",
6 "records": [
7 {
8 "referenceId": "0Q0xx0000004CYqCAM",
9 "record": {
10 "attributes": {
11 "type": "Quote",
12 "method": "PATCH",
13 "id": "0Q0xx0000004CYqCAM"
14 }
15 }
16 },
17 {
18 "referenceId": "1C9xx0000004CVcCAM",
19 "record": {
20 "attributes": {
21 "type": "QuoteLineGroup",
22 "method": "PATCH",
23 "id": "1C9xx0000004CVcCAM"
24 },
25 "StartDate": "2025-05-01",
26 "EndDate": "2025-06-30"
27 }
28 },
29 {
30 "referenceId": "1C9xx0000004CVcAAM",
31 "record": {
32 "attributes": {
33 "type": "QuoteLineGroup",
34 "method": "PATCH",
35 "id": "1C9xx0000004CVcAAM"
36 },
37 "StartDate": "2025-07-01",
38 "EndDate": "2025-08-30"
39 }
40 },
41 {
42 "referenceId": "1C9xx0000004CVcBAM",
43 "record": {
44 "attributes": {
45 "type": "QuoteLineGroup",
46 "method": "PATCH",
47 "id": "1C9xx0000004CVcBAM"
48 },
49 "StartDate": "2025-09-01",
50 "EndDate": "2025-10-30"
51 }
52 }
53 ]
54 }
55}Json Example To Add A Product
1{
2 "groupRampAction": "AddProducts",
3 "pricingPref": "System",
4 "graph": {
5 "graphId": "updateQuote",
6 "records": [
7 {
8 "referenceId": "0Q0xx0000004CKKCA2",
9 "record": {
10 "attributes": {
11 "type": "Quote",
12 "method": "PATCH",
13 "id": "0Q0xx0000004CKKCA2"
14 }
15 }
16 },
17 {
18 "referenceId": "1C9xx0000004CCGCA2",
19 "record": {
20 "attributes": {
21 "type": "QuoteLineGroup",
22 "method": "PATCH",
23 "id": "1C9xx0000004CCGCA2"
24 }
25 }
26 },
27 {
28 "referenceId": "ref_01txx0000006iCXAAY_0",
29 "record": {
30 "attributes": {
31 "type": "QuoteLineItem",
32 "method": "POST",
33 "id": "ref_01txx0000006iCXAAY_0"
34 },
35 "QuoteId": "@{0Q0xx0000004CKKCA2.id}",
36 "Id": "ref_01txx0000006iCXAAY_0",
37 "UnitPrice": 2000,
38 "Product2Id": "01txx0000006iCXAAY",
39 "PricebookEntryId": "01uxx0000008yciAAA",
40 "Quantity": 1,
41 "StartDate": "2025-05-28T00:00:00.000Z",
42 "BillingFrequency": null,
43 "PeriodBoundary": null,
44 "QuoteLineGroupId": "1C9xx0000004CCGCA2"
45 }
46 },
47 {
48 "referenceId": "1C9xx0000004CCGCAB",
49 "record": {
50 "attributes": {
51 "type": "QuoteLineGroup",
52 "method": "PATCH",
53 "id": "1C9xx0000004CCGCAB"
54 }
55 }
56 },
57 {
58 "referenceId": "ref_01txx0000006iCXABY_0",
59 "record": {
60 "attributes": {
61 "type": "QuoteLineItem",
62 "method": "POST",
63 "id": "ref_01txx0000006iCXABY_0"
64 },
65 "QuoteId": "@{0Q0xx0000004CKKCA2.id}",
66 "Id": "ref_01txx0000006iCXAAY_0",
67 "UnitPrice": 2000,
68 "Product2Id": "01txx0000006iCXAAY",
69 "PricebookEntryId": "01uxx0000008yciAAA",
70 "Quantity": 1,
71 "StartDate": "2025-05-28T00:00:00.000Z",
72 "BillingFrequency": null,
73 "PeriodBoundary": null,
74 "QuoteLineGroupId": "1C9xx0000004CCGCAB"
75 }
76 }
77 ]
78 }
79}Json Example To Delete A Product
1{
2 "pricingPref": "System",
3 "groupRampAction": "DeleteProducts",
4 "graph": {
5 "graphId": "updateQuote",
6 "records": [
7 {
8 "referenceId": "0Q0SG000000L5r70AC",
9 "record": {
10 "attributes": {
11 "type": "Quote",
12 "method": "PATCH",
13 "id": "0Q0SG000000L5r70AC"
14 }
15 }
16 },
17 {
18 "referenceId": "0QLSG000000WuTh4AK",
19 "record": {
20 "attributes": {
21 "type": "QuoteLineItem",
22 "method": "DELETE",
23 "id": "0QLSG000000WuTh4AK"
24 }
25 }
26 },
27 {
28 "referenceId": "0QLSG000000WuTh4BK",
29 "record": {
30 "attributes": {
31 "type": "QuoteLineItem",
32 "method": "DELETE",
33 "id": "0QLSG000000WuTh4AK"
34 }
35 }
36 }
37 ]
38 }
39}Json Example To Delete A Segment
1{
2 "pricingPref": "System",
3 "groupRampAction": "DeleteSegment",
4 "graph": {
5 "graphId": "updateQuote",
6 "records": [
7 {
8 "referenceId": "0Q0xx0000004CfICAU",
9 "record": {
10 "attributes": {
11 "type": "Quote",
12 "method": "PATCH",
13 "id": "0Q0xx0000004CfICAU"
14 }
15 }
16 },
17 {
18 "referenceId": "1C9xx0000004FjcCAE",
19 "record": {
20 "attributes": {
21 "type": "QuoteLineGroup",
22 "method": "DELETE",
23 "id": "1C9xx0000004FjcCAE",
24 "action": "DeleteGroup"
25 }
26 }
27 }
28 ]
29 }
30}Json Example To Remove A Segment From A Ramp Schedule
1{
2 "pricingPref": "System",
3 "groupRampAction": "ConvertToNonRampedGroup",
4 "graph": {
5 "graphId": "updateQuote",
6 "records": [
7 {
8 "referenceId": "0Q0xx0000004CfICAU",
9 "record": {
10 "attributes": {
11 "type": "Quote",
12 "method": "PATCH",
13 "id": "0Q0xx0000004CfICAU"
14 }
15 }
16 },
17 {
18 "referenceId": "1C9xx0000004FjcCAE",
19 "record": {
20 "attributes": {
21 "type": "QuoteLineGroup",
22 "method": "PATCH",
23 "id": "1C9xx0000004FjcCAE"
24 }
25 }
26 }
27 ]
28 }
29}Keep these considerations in mind when you specify ramp actions.
- Use the Clone Sales Transaction API to clone a ramp segment, and specify the clone option.
- Use the Place Sales Transaction API to specify a group ramp action by using the groupRampAction property. You can refer to the sections in this topic for examples.