Update Items in Cart

Update one or more items in the specified cart with the revised set of items specified in the request body.

This API can update these information:

  • Item quantity

  • Attribute values for the items

  • Any other updatable field on the line item, such as Service Account ID or Billing Account ID

  • Update Line Items in Cart replaces the OmniCPQServiceWrapper updateItem method.
  • From Spring’25, the PutCartsItems API now validates the userValues when updating the following attributes to ensure they match the correct data type. If there is a mismatch, such as attempting to update a numeric attribute with a string value, an exception is raised. Note that this validation does not apply to picklist or multi-picklist attributes, since their userValues are not validated against the defined picklist values.
    • Currency
    • Percent
    • Number
    • Text
    • Date
    • DateTime
    • Checkbox
  • From Winter’26, in the Classic API, you can disable the userValues validation by setting the DisableAttributeDataTypeValidation flag to true in the CPQ settings (found under Vlocity CMT AdministrationCPQ Configuration Setup). This flag acts as an opt-out for Spring’25 and Summer’25 releases, allowing customers time to adjust to the change.

Note

This API supports the guest user enhancements that Salesforce introduced with the Winter ‘21 release. To encrypt and decrypt data for guest users, use the UserSecurity class with this API. See Guest User Technical Details.

For additional information, ​see UserSecurity Class and CPQ and Digital Commerce Changes for Guest Users.

URI 

1/services/apexrest/{namespace}/v2/cpq/carts/{cart_ID}/items

HTTP Method 

PUT

Request Parameters 

ParameterDescription
namespacevlocity_cmt
cart_IDThe unique ID of the cart, which is the ID of the opportunity, quote, or order

Query Parameters, Requests, and Responses 

For information about query parameters, request formats, response formats, see Industries Configure, Price, Quote Web APIs v2 Documentation.

Remote Method 

1putCartsItems

Apex Remote Service 

1CpqAppHandler

Apex Remote Input Map 

To call putCartsItems, you must pass the JSONRecord for the attribute to update. The format of the request is:

1{
2  methodName:putCartsItems,
3  cartId:801360000008eNU,
4  items:[ {itemJSON} ]
5}

In the request, itemJSON is the actual JSONRecord that is being updated. This JSONRecord is provided by the response to an Add Items to Cart or Get Cart Items API call. Based on that response, update the record or record attribute.

Example putCartsItems Request 

1{
2  "methodName": "putCartsItems",
3  "items": {
4    "records": [
5      {
6        "displaySequence": -1,
7        "Id": {
8          "value": "8026g000001e9vVAAQ",
9          "previousValue": null,
10          "originalValue": null,
11          "messages": [
12
13          ],
14          "label": "Order Product ID",
15          "hidden": false,
16          "fieldName": "Id",
17          "editable": false,
18          "dataType": "ID",
19          "alternateValues": null,
20          "actions": {
21
22          }
23        },
24        "Pricebook2Id": "01s6g000008hmAUAAY",
25        "Product2Id": "01t6g000003DpXAAA0",
26        "ProductCode": "Phone1",
27        "UnitPrice": {
28          "value": 0,
29          "previousValue": null,
30          "originalValue": null,
31          "messages": [
32
33          ],
34          "label": "Unit Price",
35          "hidden": true,
36          "fieldName": "UnitPrice",
37          "editable": false,
38          "dataType": "CURRENCY",
39          "alternateValues": null,
40          "actions": {
41
42          }
43        },
44        "Name": "Phone1",
45        "IsActive": true,
46        "vlocity_cmt__RecurringPrice__c": 0,
47        "Product2": {
48          "attributes": {
49            "type": "Product2",
50            "url": "/services/data/v48.0/sobjects/Product2/01t6g000003DpXAAA0"
51          },
52          "Name": "Phone1",
53          "vlocity_cmt__IsConfigurable__c": false,
54          "vlocity_cmt__Type__c": "None",
55          "vlocity_cmt__SubType__c": "None",
56          "RecordTypeId": "0126g000001Ktw7AAC",
57          "Id": "01t6g000003DpXAAA0",
58          "vlocity_cmt__JSONAttribute__c": null
59        },
60        "productId": "01t6g000003DpXAAA0",
61        "defaultQuantity": 1,
62        "minQuantity": 0,
63        "maxQuantity": 2,
64        "groupMinQuantity": 0,
65        "groupMaxQuantity": 99999,
66        "sequenceNumber": 1,
67        "productChildItemDefinition": {
68          "attributes": {
69            "type": "vlocity_cmt__ProductChildItem__c"
70          },
71          "Name": "Root PCI",
72          "vlocity_cmt__IsVirtualItem__c": false,
73          "vlocity_cmt__Quantity__c": 1,
74          "vlocity_cmt__MaxQuantity__c": 2,
75          "vlocity_cmt__MinQuantity__c": 0,
76          "vlocity_cmt__MaximumChildItemQuantity__c": 99999,
77          "vlocity_cmt__MinimumChildItemQuantity__c": 0,
78          "vlocity_cmt__IsOverride__c": false,
79          "vlocity_cmt__ParentProductId__c": "01t6g000003DpXAAA0",
80          "vlocity_cmt__ChildLineNumber__c": "1",
81          "vlocity_cmt__SeqNumber__c": 1,
82          "vlocity_cmt__CollapseHierarchy__c": false,
83          "vlocity_cmt__IsRootProductChildItem__c": true,
84          "vlocity_cmt__ParentProductId__r": {
85            "attributes": {
86              "type": "Product2",
87              "url": "/services/data/v48.0/sobjects/Product2/01t6g000003DpXAAA0"
88            },
89            "Name": "Phone1",
90            "Id": "01t6g000003DpXAAA0",
91            "RecordTypeId": "0126g000001Ktw7AAC"
92          }
93        },
94        "productHierarchyPath": "01t6g000003DpXAAA0",
95        "name": "Phone1",
96        "isVirtualItem": false,
97        "action": "Add",
98        "hasChildren": false,
99        "SellingPeriod": "Present",
100        "itemType": "lineItem",
101        "PricebookEntryId": {
102          "value": "01u6g000002qmvOAAQ",
103          "previousValue": null,
104          "originalValue": null,
105          "messages": [
106
107          ],
108          "label": "Price Book Entry ID",
109          "hidden": false,
110          "fieldName": "PricebookEntryId",
111          "editable": false,
112          "dataType": "REFERENCE",
113          "alternateValues": null,
114          "actions": {
115
116          }
117        },
118        "Quantity": {
119          "value": 2,
120          "previousValue": null,
121          "originalValue": null,
122          "messages": [
123
124          ],
125          "label": "Quantity",
126          "hidden": false,
127          "fieldName": "Quantity",
128          "editable": true,
129          "dataType": "DOUBLE",
130          "alternateValues": null,
131          "actions": {
132
133          }
134        },
135        "vlocity_cmt__OneTimeTotal__c": {
136          "value": 0,
137          "previousValue": null,
138          "originalValue": null,
139          "messages": [
140
141          ],
142          "label": "One Time Total",
143          "hidden": false,
144          "fieldName": "vlocity_cmt__OneTimeTotal__c",
145          "editable": false,
146          "dataType": "CURRENCY",
147          "alternateValues": null,
148          "actions": {
149
150          }
151        },
152        "vlocity_cmt__RecurringTotal__c": {
153          "value": 0,
154          "previousValue": null,
155          "originalValue": null,
156          "messages": [
157
158          ],
159          "label": "Recurring Total",
160          "hidden": false,
161          "fieldName": "vlocity_cmt__RecurringTotal__c",
162          "editable": false,
163          "dataType": "CURRENCY",
164          "alternateValues": null,
165          "actions": {
166
167          }
168        },
169        "vlocity_cmt__Action__c": {
170          "value": "Add",
171          "previousValue": null,
172          "originalValue": null,
173          "messages": [
174
175          ],
176          "label": "Action",
177          "hidden": false,
178          "fieldName": "vlocity_cmt__Action__c",
179          "editable": true,
180          "dataType": "PICKLIST",
181          "alternateValues": null,
182          "actions": {
183
184          }
185        },
186        "vlocity_cmt__ProvisioningStatus__c": {
187          "value": "New",
188          "previousValue": null,
189          "originalValue": null,
190          "messages": [
191
192          ],
193          "label": "Provisioning Status",
194          "hidden": true,
195          "fieldName": "vlocity_cmt__ProvisioningStatus__c",
196          "editable": false,
197          "dataType": "STRING",
198          "alternateValues": null,
199          "actions": {
200
201          }
202        },
203        "vlocity_cmt__BillingAccountId__c": {
204          "value": "0016g00000NXwrqAAD",
205          "previousValue": null,
206          "originalValue": null,
207          "messages": [
208
209          ],
210          "label": "Billing Account",
211          "hidden": false,
212          "fieldName": "vlocity_cmt__BillingAccountId__c",
213          "editable": true,
214          "dataType": "REFERENCE",
215          "alternateValues": null,
216          "actions": {
217            "availablesites": {
218              "rest": {
219                "params": {
220
221                },
222                "method": null,
223                "link": null
224              },
225              "remote": {
226                "params": {
227                  "methodName": "getAvailableSites",
228                  "lookupField": "vlocity_cmt__billingaccountid__c",
229                  "id": "8026g000001e9vVAAQ",
230                  "cartId": "8016g000001EYYfAAO"
231                }
232              },
233              "client": {
234                "records": [
235
236                ],
237                "params": {
238
239                }
240              }
241            }
242          }
243        },
244        "vlocity_cmt__ServiceAccountId__c": {
245          "value": "0016g00000NXwrqAAD",
246          "previousValue": null,
247          "originalValue": null,
248          "messages": [
249
250          ],
251          "label": "Service Account",
252          "hidden": false,
253          "fieldName": "vlocity_cmt__ServiceAccountId__c",
254          "editable": true,
255          "dataType": "REFERENCE",
256          "alternateValues": null,
257          "actions": {
258            "availablesites": {
259              "rest": {
260                "params": {
261
262                },
263                "method": null,
264                "link": null
265              },
266              "remote": {
267                "params": {
268                  "methodName": "getAvailableSites",
269                  "lookupField": "vlocity_cmt__serviceaccountid__c",
270                  "id": "8026g000001e9vVAAQ",
271                  "cartId": "8016g000001EYYfAAO"
272                }
273              },
274              "client": {
275                "records": [
276
277                ],
278                "params": {
279
280                }
281              }
282            }
283          }
284        },
285        "vlocity_cmt__ProductHierarchyPath__c": {
286          "value": "01t6g000003DpXAAA0",
287          "previousValue": null,
288          "originalValue": null,
289          "messages": [
290
291          ],
292          "label": "Product Hierarchy Path",
293          "hidden": true,
294          "fieldName": "vlocity_cmt__ProductHierarchyPath__c",
295          "editable": false,
296          "dataType": "STRING",
297          "alternateValues": null,
298          "actions": {
299
300          }
301        },
302        "vlocity_cmt__LineNumber__c": {
303          "value": "0001",
304          "previousValue": null,
305          "originalValue": null,
306          "messages": [
307
308          ],
309          "label": "LineNumber",
310          "hidden": true,
311          "fieldName": "vlocity_cmt__LineNumber__c",
312          "editable": false,
313          "dataType": "STRING",
314          "alternateValues": null,
315          "actions": {
316
317          }
318        },
319        "vlocity_cmt__RootItemId__c": {
320          "value": "6710c5b9-d9ed-c47b-cf50-37e69ac42664",
321          "previousValue": null,
322          "originalValue": null,
323          "messages": [
324
325          ],
326          "label": "RootItemId",
327          "hidden": true,
328          "fieldName": "vlocity_cmt__RootItemId__c",
329          "editable": false,
330          "dataType": "STRING",
331          "alternateValues": null,
332          "actions": {
333
334          }
335        },
336        "vlocity_cmt__Product2Id__c": {
337          "value": "01t6g000003DpXAAA0",
338          "previousValue": null,
339          "originalValue": null,
340          "messages": [
341
342          ],
343          "label": "Product",
344          "hidden": false,
345          "fieldName": "vlocity_cmt__Product2Id__c",
346          "editable": true,
347          "dataType": "REFERENCE",
348          "alternateValues": null,
349          "actions": {
350            "availablesites": {
351              "rest": {
352                "params": {
353
354                },
355                "method": null,
356                "link": null
357              },
358              "remote": {
359                "params": {
360                  "methodName": "getAvailableSites",
361                  "lookupField": "vlocity_cmt__product2id__c",
362                  "id": "8026g000001e9vVAAQ",
363                  "cartId": "8016g000001EYYfAAO"
364                }
365              },
366              "client": {
367                "records": [
368
369                ],
370                "params": {
371
372                }
373              }
374            }
375          }
376        },
377        "ListPrice": {
378          "value": 0,
379          "previousValue": null,
380          "originalValue": null,
381          "messages": [
382
383          ],
384          "label": "List Price",
385          "hidden": true,
386          "fieldName": "ListPrice",
387          "editable": false,
388          "dataType": "CURRENCY",
389          "alternateValues": null,
390          "actions": {
391
392          }
393        },
394        "vlocity_cmt__OneTimeCharge__c": {
395          "value": 0,
396          "previousValue": null,
397          "originalValue": null,
398          "messages": [
399
400          ],
401          "label": "One Time Charge",
402          "hidden": true,
403          "fieldName": "vlocity_cmt__OneTimeCharge__c",
404          "editable": false,
405          "dataType": "CURRENCY",
406          "alternateValues": {
407
408          },
409          "actions": {
410
411          }
412        },
413        "vlocity_cmt__OneTimeCalculatedPrice__c": {
414          "value": 0,
415          "previousValue": null,
416          "originalValue": null,
417          "messages": [
418
419          ],
420          "label": "One Time Calculated Price",
421          "hidden": true,
422          "fieldName": "vlocity_cmt__OneTimeCalculatedPrice__c",
423          "editable": false,
424          "dataType": "CURRENCY",
425          "alternateValues": null,
426          "actions": {
427
428          }
429        },
430        "vlocity_cmt__OneTimeManualDiscount__c": {
431          "value": 0,
432          "previousValue": null,
433          "originalValue": null,
434          "messages": [
435
436          ],
437          "label": "One Time Manual Discount",
438          "hidden": false,
439          "fieldName": "vlocity_cmt__OneTimeManualDiscount__c",
440          "editable": true,
441          "dataType": "PERCENT",
442          "alternateValues": null,
443          "actions": {
444
445          }
446        },
447        "vlocity_cmt__RecurringCharge__c": {
448          "value": 0,
449          "previousValue": null,
450          "originalValue": null,
451          "messages": [
452
453          ],
454          "label": "Recurring Charge",
455          "hidden": true,
456          "fieldName": "vlocity_cmt__RecurringCharge__c",
457          "editable": false,
458          "dataType": "CURRENCY",
459          "alternateValues": null,
460          "actions": {
461
462          }
463        },
464        "vlocity_cmt__RecurringCalculatedPrice__c": {
465          "value": 0,
466          "previousValue": null,
467          "originalValue": null,
468          "messages": [
469
470          ],
471          "label": "Recurring Calculated Price",
472          "hidden": true,
473          "fieldName": "vlocity_cmt__RecurringCalculatedPrice__c",
474          "editable": false,
475          "dataType": "CURRENCY",
476          "alternateValues": null,
477          "actions": {
478
479          }
480        },
481        "vlocity_cmt__RecurringManualDiscount__c": {
482          "value": 0,
483          "previousValue": null,
484          "originalValue": null,
485          "messages": [
486
487          ],
488          "label": "Recurring Manual Discount",
489          "hidden": false,
490          "fieldName": "vlocity_cmt__RecurringManualDiscount__c",
491          "editable": true,
492          "dataType": "PERCENT",
493          "alternateValues": null,
494          "actions": {
495
496          }
497        },
498        "vlocity_cmt__CurrencyPaymentMode__c": {
499          "value": "Currency",
500          "previousValue": null,
501          "originalValue": null,
502          "messages": [
503
504          ],
505          "label": "Currency Payment Mode",
506          "hidden": true,
507          "fieldName": "vlocity_cmt__CurrencyPaymentMode__c",
508          "editable": true,
509          "dataType": "PICKLIST",
510          "alternateValues": null,
511          "actions": {
512
513          }
514        },
515        "vlocity_cmt__EffectiveOneTimeTotal__c": {
516          "value": 0,
517          "previousValue": null,
518          "originalValue": null,
519          "messages": [
520
521          ],
522          "label": "Effective One Time Total",
523          "hidden": false,
524          "fieldName": "vlocity_cmt__EffectiveOneTimeTotal__c",
525          "editable": true,
526          "dataType": "CURRENCY",
527          "alternateValues": null,
528          "actions": {
529
530          }
531        },
532        "vlocity_cmt__EffectiveRecurringTotal__c": {
533          "value": 0,
534          "previousValue": null,
535          "originalValue": null,
536          "messages": [
537
538          ],
539          "label": "Effective Recurring Total",
540          "hidden": false,
541          "fieldName": "vlocity_cmt__EffectiveRecurringTotal__c",
542          "editable": true,
543          "dataType": "CURRENCY",
544          "alternateValues": null,
545          "actions": {
546
547          }
548        },
549        "vlocity_cmt__AssetReferenceId__c": {
550          "value": "6710c5b9-d9ed-c47b-cf50-37e69ac42664",
551          "previousValue": null,
552          "originalValue": null,
553          "messages": [
554
555          ],
556          "label": "Asset Reference Id",
557          "hidden": true,
558          "fieldName": "vlocity_cmt__AssetReferenceId__c",
559          "editable": true,
560          "dataType": "STRING",
561          "alternateValues": null,
562          "actions": {
563
564          }
565        },
566        "vlocity_cmt__IsChangesAllowed__c": {
567          "value": true,
568          "previousValue": null,
569          "originalValue": null,
570          "messages": [
571
572          ],
573          "label": "Changes Allowed",
574          "hidden": false,
575          "fieldName": "vlocity_cmt__IsChangesAllowed__c",
576          "editable": true,
577          "dataType": "BOOLEAN",
578          "alternateValues": null,
579          "actions": {
580
581          }
582        },
583        "OrderId": {
584          "value": "8016g000001EYYfAAO",
585          "previousValue": null,
586          "originalValue": null,
587          "messages": [
588
589          ],
590          "label": "Order ID",
591          "hidden": false,
592          "fieldName": "OrderId",
593          "editable": false,
594          "dataType": "REFERENCE",
595          "alternateValues": null,
596          "actions": {
597
598          }
599        },
600        "PricebookEntry": {
601          "attributes": {
602            "type": "PricebookEntry",
603            "url": "/services/data/v48.0/sobjects/PricebookEntry/01u6g000002qmvOAAQ"
604          },
605          "Product2Id": "01t6g000003DpXAAA0",
606          "Pricebook2Id": "01s6g000008hmAUAAY",
607          "Id": "01u6g000002qmvOAAQ",
608          "Product2": {
609            "attributes": {
610              "type": "Product2",
611              "url": "/services/data/v48.0/sobjects/Product2/01t6g000003DpXAAA0"
612            },
613            "Name": "Phone1",
614            "Id": "01t6g000003DpXAAA0",
615            "ProductCode": "Phone1",
616            "vlocity_cmt__Type__c": "None",
617            "vlocity_cmt__IsConfigurable__c": false,
618            "RecordTypeId": "0126g000001Ktw7AAC"
619          }
620        },
621        "vlocity_cmt__ServiceAccountId__r": {
622          "attributes": {
623            "type": "Account",
624            "url": "/services/data/v48.0/sobjects/Account/0016g00000NXwrqAAD"
625          },
626          "Name": "StarTelco",
627          "Id": "0016g00000NXwrqAAD",
628          "RecordTypeId": "0126g000001KtvLAAS"
629        },
630        "vlocity_cmt__BillingAccountId__r": {
631          "attributes": {
632            "type": "Account",
633            "url": "/services/data/v48.0/sobjects/Account/0016g00000NXwrqAAD"
634          },
635          "Name": "StarTelco",
636          "Id": "0016g00000NXwrqAAD",
637          "RecordTypeId": "0126g000001KtvLAAS"
638        },
639        "vlocity_cmt__SubAction__c": {
640          "value": null,
641          "previousValue": null,
642          "originalValue": null,
643          "messages": [
644
645          ],
646          "label": "Sub Action",
647          "hidden": false,
648          "fieldName": "vlocity_cmt__SubAction__c",
649          "editable": true,
650          "dataType": "PICKLIST",
651          "alternateValues": null,
652          "actions": {
653
654          }
655        },
656        "vlocity_cmt__InCartQuantityMap__c": {
657          "value": null,
658          "previousValue": null,
659          "originalValue": null,
660          "messages": [
661
662          ],
663          "label": "InCartQuantityMap",
664          "hidden": true,
665          "fieldName": "vlocity_cmt__InCartQuantityMap__c",
666          "editable": false,
667          "dataType": "TEXTAREA",
668          "alternateValues": null,
669          "actions": {
670
671          }
672        },
673        "vlocity_cmt__ParentItemId__c": {
674          "value": null,
675          "previousValue": null,
676          "originalValue": null,
677          "messages": [
678
679          ],
680          "label": "ParentItemId",
681          "hidden": true,
682          "fieldName": "vlocity_cmt__ParentItemId__c",
683          "editable": false,
684          "dataType": "STRING",
685          "alternateValues": null,
686          "actions": {
687
688          }
689        },
690        "vlocity_cmt__RecurringDiscountPrice__c": {
691          "value": null,
692          "previousValue": null,
693          "originalValue": null,
694          "messages": [
695
696          ],
697          "label": "Recurring Discount Price",
698          "hidden": true,
699          "fieldName": "vlocity_cmt__RecurringDiscountPrice__c",
700          "editable": false,
701          "dataType": "CURRENCY",
702          "alternateValues": null,
703          "actions": {
704
705          }
706        },
707        "vlocity_cmt__CpqMessageData__c": {
708          "value": null,
709          "previousValue": null,
710          "originalValue": null,
711          "messages": [
712
713          ],
714          "label": "Cpq Message Data",
715          "hidden": true,
716          "fieldName": "vlocity_cmt__CpqMessageData__c",
717          "editable": true,
718          "dataType": "TEXTAREA",
719          "alternateValues": null,
720          "actions": {
721
722          }
723        },
724        "vlocity_cmt__ItemName__c": {
725          "value": null,
726          "previousValue": null,
727          "originalValue": null,
728          "messages": [
729
730          ],
731          "label": "Item Name",
732          "hidden": false,
733          "fieldName": "vlocity_cmt__ItemName__c",
734          "editable": true,
735          "dataType": "STRING",
736          "alternateValues": null,
737          "actions": {
738
739          }
740        },
741        "vlocity_cmt__CpqCardinalityMessage__c": {
742          "value": null,
743          "previousValue": null,
744          "originalValue": null,
745          "messages": [
746
747          ],
748          "label": "Cpq Cardinality Message",
749          "hidden": false,
750          "fieldName": "vlocity_cmt__CpqCardinalityMessage__c",
751          "editable": true,
752          "dataType": "TEXTAREA",
753          "alternateValues": null,
754          "actions": {
755
756          }
757        },
758        "vlocity_cmt__CpqPricingMessage__c": {
759          "value": null,
760          "previousValue": null,
761          "originalValue": null,
762          "messages": [
763
764          ],
765          "label": "Cpq Pricing Message",
766          "hidden": false,
767          "fieldName": "vlocity_cmt__CpqPricingMessage__c",
768          "editable": true,
769          "dataType": "TEXTAREA",
770          "alternateValues": null,
771          "actions": {
772
773          }
774        },
775        "vlocity_cmt__CatalogItemReferenceDateTime__c": {
776          "value": null,
777          "previousValue": null,
778          "originalValue": null,
779          "messages": [
780
781          ],
782          "label": "Reference Time",
783          "hidden": false,
784          "fieldName": "vlocity_cmt__CatalogItemReferenceDateTime__c",
785          "editable": true,
786          "dataType": "DATETIME",
787          "alternateValues": null,
788          "actions": {
789
790          }
791        },
792        "vlocity_cmt__SupplementalAction__c": {
793          "value": null,
794          "previousValue": null,
795          "originalValue": null,
796          "messages": [
797
798          ],
799          "label": "Supplemental Action",
800          "hidden": false,
801          "fieldName": "vlocity_cmt__SupplementalAction__c",
802          "editable": true,
803          "dataType": "PICKLIST",
804          "alternateValues": null,
805          "actions": {
806
807          }
808        },
809        "vlocity_cmt__SupersededOrderItemId__c": {
810          "value": null,
811          "previousValue": null,
812          "originalValue": null,
813          "messages": [
814
815          ],
816          "label": "Superseded Order Product",
817          "hidden": false,
818          "fieldName": "vlocity_cmt__SupersededOrderItemId__c",
819          "editable": true,
820          "dataType": "REFERENCE",
821          "alternateValues": null,
822          "actions": {
823            "availablesites": {
824              "rest": {
825                "params": {
826
827                },
828                "method": null,
829                "link": null
830              },
831              "remote": {
832                "params": {
833                  "methodName": "getAvailableSites",
834                  "lookupField": "vlocity_cmt__supersededorderitemid__c",
835                  "id": "8026g000001e9vVAAQ",
836                  "cartId": "8016g000001EYYfAAO"
837                }
838              },
839              "client": {
840                "records": [
841
842                ],
843                "params": {
844
845                }
846              }
847            }
848          }
849        },
850        "vlocity_cmt__FirstVersionOrderItemId__c": {
851          "value": null,
852          "previousValue": null,
853          "originalValue": null,
854          "messages": [
855
856          ],
857          "label": "First Order Product Version",
858          "hidden": false,
859          "fieldName": "vlocity_cmt__FirstVersionOrderItemId__c",
860          "editable": true,
861          "dataType": "REFERENCE",
862          "alternateValues": null,
863          "actions": {
864            "availablesites": {
865              "rest": {
866                "params": {
867
868                },
869                "method": null,
870                "link": null
871              },
872              "remote": {
873                "params": {
874                  "methodName": "getAvailableSites",
875                  "lookupField": "vlocity_cmt__firstversionorderitemid__c",
876                  "id": "8026g000001e9vVAAQ",
877                  "cartId": "8016g000001EYYfAAO"
878                }
879              },
880              "client": {
881                "records": [
882
883                ],
884                "params": {
885
886                }
887              }
888            }
889          }
890        },
891        "vlocity_cmt__FulfilmentStatus__c": {
892          "value": null,
893          "previousValue": null,
894          "originalValue": null,
895          "messages": [
896
897          ],
898          "label": "Fulfilment Status",
899          "hidden": false,
900          "fieldName": "vlocity_cmt__FulfilmentStatus__c",
901          "editable": true,
902          "dataType": "PICKLIST",
903          "alternateValues": null,
904          "actions": {
905
906          }
907        },
908        "productCategories": {
909          "totalSize": 0,
910          "messages": [
911
912          ]
913        },
914        "vlocity_cmt__UsageQuantity__c": {
915          "value": 1
916        },
917        "vlocity_cmt__EffectiveQuantity__c": {
918          "value": 1
919        },
920        "fieldValidationMessageList": [
921
922        ],
923        "processingLine": true
924      }
925    ]
926  },
927  "filters": null,
928  "fields": null,
929  "cartId": "8016g000001EYYfAAO",
930  "price": true,
931  "validate": true,
932  "includeAttachment": false,
933  "pagesize": 10,
934  "lastRecordId": null,
935  "hierarchy": -1,
936  "query": null
937}

REST Handler 

1APIItemsCartsCpqV2

Example REST Request 

Example Request Body Format

1PUT /services/apexrest/vlocity_cmt/v2/cpq/carts/8016g000001EYYfAAO/items
1{
2  methodName:putCartsItems,
3  cartId:801360000008eNU,
4  items:[ {itemJSON} ]
5}

In the request, itemJSON is the actual JSONRecord that is being updated. This JSONRecord is provided by the response to an Add Items to Cart or Get Cart Items API call. Based on that response, update the record or record attribute.

This API can update only one item in a hierarchical line item. The request payload must contain either a record of the item to be updated or a record of its parent and the item to be updated.

For example, your cart has three line items: Line Item 1, Line Item 2, and Line Item 3. Line Item 1 has two child line items: Child Line Item 1 and Child Line Item 2. In this scenario, the API updates all three line items but only one child item for Line Item 1.

See the hybrid user interface request payload for a better understanding.

Note

Example Response 

1{
2  "totalSize": 1,
3  "messages": [
4    {
5      "severity": "INFO",
6      "messageId": null,
7      "message": "Successfully added.",
8      "code": "150",
9      "actions": {}
10    }
11  ],
12  "records": [
13    {
14      "messages": [],
15      "actions": {
16        "addtocart": {
17          "rest": {
18            "params": {
19              "includeAttachment": false,
20              "pagesize": 20,
21              "lastRecordId": null,
22              "query": null,
23              "items": [
24                {
25                  "parentId": "80241000000HalcAAC",
26                  "quantity": 1,
27                  "itemId": "01u41000001QPtsAAG"
28                }
29              ]
30            },
31            "method": "POST",
32            "link": "/services/apexrest/vlocity_cmt/v2/cpq/carts/80141000000Cg8HAAS/items"
33          },
34          "remote": {
35            "params": {
36              "price": true,
37              "validate": true,
38              "includeAttachment": false,
39              "pagesize": 20,
40              "lastRecordId": null,
41              "query": null,
42              "items": [
43                {
44                  "parentId": "80241000000HalcAAC",
45                  "quantity": 1,
46                  "itemId": "01u41000001QPtsAAG"
47                }
48              ],
49              "cartId": "80141000000Cg8HAAS",
50              "methodName": "postCartsItems"
51            }
52          },
53          "client": {
54            "params": {}
55          }
56        },
57        "updateitems": {
58          "rest": {
59            "params": {
60              "fields": null,
61              "price": true,
62              "validate": true,
63              "filters": null,
64              "includeAttachment": false,
65              "pagesize": 20,
66              "lastRecordId": null,
67              "query": null,
68              "items": [
69                {
70                  "itemId": "80241000000HalcAAC"
71                }
72              ]
73            },
74            "method": "PUT",
75            "link": "/services/apexrest/vlocity_cmt/v2/cpq/carts/80141000000Cg8HAAS/items"
76          },
77          "remote": {
78            "params": {
79              "fields": null,
80              "price": true,
81              "validate": true,
82              "filters": null,
83              "includeAttachment": false,
84              "pagesize": 20,
85              "lastRecordId": null,
86              "query": null,
87              "items": [
88                {
89                  "itemId": "80241000000HalcAAC"
90                }
91              ],
92              "cartId": "80141000000Cg8HAAS",
93              "methodName": "putCartsItems"
94            }
95          },
96          "client": {
97            "params": {}
98          }
99        },
100        "deleteitem": {
101          "rest": {
102            "params": {},
103            "method": "DELETE",
104            "link": "/services/apexrest/vlocity_cmt/v2/cpq/carts/80141000000Cg8HAAS/items/80241000000HalcAAC?pagesize=20&includeAttachment=false&validate=true&price=true"
105          },
106          "remote": {
107            "params": {
108              "price": true,
109              "validate": true,
110              "filters": null,
111              "includeAttachment": false,
112              "pagesize": 20,
113              "lastRecordId": null,
114              "query": null,
115              "id": "80241000000HalcAAC",
116              "cartId": "80141000000Cg8HAAS",
117              "methodName": "deleteCartsItems"
118            }
119          },
120          "client": {
121            "params": {}
122          }
123        },
124        "cloneitem": {
125          "rest": {
126            "params": {
127              "items": [
128                {
129                  "itemId": "80241000000HalcAAC"
130                }
131              ]
132            },
133            "method": "POST",
134            "link": "/services/apexrest/vlocity_cmt/v2/cpq/carts/80141000000Cg8HAAS/items/clone"
135          },
136          "remote": {
137            "params": {
138              "id": "80241000000HalcAAC",
139              "cartId": "80141000000Cg8HAAS",
140              "methodName": "cloneItems"
141            }
142          },
143          "client": {
144            "params": {}
145          }
146        },
147        "modifyattributes": {
148          "rest": {
149            "params": {
150              "fields": null,
151              "items": [
152                {
153                  "itemId": "80241000000HalcAAC"
154                }
155              ]
156            },
157            "method": "PUT",
158            "link": "/services/apexrest/vlocity_cmt/v2/cpq/carts/80141000000Cg8HAAS/items/80241000000HalcAAC/itemattributes"
159          },
160          "remote": {
161            "params": {
162              "fields": null,
163              "items": [
164                {
165                  "itemId": "80241000000HalcAAC"
166                }
167              ],
168              "itemId": "80241000000HalcAAC",
169              "cartId": "80141000000Cg8HAAS",
170              "methodName": "putItemAttributes"
171            }
172          },
173          "client": {
174            "params": {}
175          }
176        }
177      },
178      "displaySequence": -1,
179      "Id": {
180        "value": "80241000000HalcAAC",
181        "messages": [],
182        "label": "Order Product ID",
183        "hidden": false,
184        "fieldName": "Id",
185        "editable": false,
186        "dataType": "ID",
187        "actions": {}
188      },
189      "Pricebook2Id": "01s41000005dPYQAA2",
190      "Product2Id": "01t41000000sYaSAAU",
191      "UnitPrice": {
192        "value": 1,
193        "messages": [],
194        "label": "Unit Price",
195        "hidden": false,
196        "fieldName": "UnitPrice",
197        "editable": true,
198        "dataType": "CURRENCY",
199        "actions": {}
200      },
201      "Name": "GC 2",
202      "IsActive": true,
203      "Product2": {
204        "attributes": {
205          "type": "Product2",
206          "url": "/services/data/v38.0/sobjects/Product2/01t41000000sYaSAAU"
207        },
208        "Id": "01t41000000sYaSAAU",
209        "Name": "GC 2",
210        "vlocity_cmt__IsConfigurable__c": false,
211        "vlocity_cmt__Type__c": "None",
212        "vlocity_cmt__SubType__c": "None",
213        "RecordTypeId": "012410000006OWUAA2",
214        "vlocity_cmt__JSONAttribute__c": null
215      },
216      "productId": "01t41000000sYaSAAU",
217      "defaultQuantity": 1,
218      "minQuantity": 0,
219      "maxQuantity": 99999,
220      "groupMinQuantity": 0,
221      "groupMaxQuantity": 99999,
222      "sequenceNumber": 1,
223      "productChildItemDefinition": {
224        "attributes": {
225          "type": "vlocity_cmt__ProductChildItem__c",
226          "url": "/services/data/v38.0/sobjects/vlocity_cmt__ProductChildItem__c/a2541000000G0AGAA0"
227        },
228        "Id": "a2541000000G0AGAA0",
229        "Name": "Root PCI",
230        "vlocity_cmt__IsVirtualItem__c": false,
231        "vlocity_cmt__Quantity__c": 1,
232        "vlocity_cmt__MaxQuantity__c": 99999,
233        "vlocity_cmt__MinQuantity__c": 0,
234        "vlocity_cmt__MaximumChildItemQuantity__c": 99999,
235        "vlocity_cmt__MinimumChildItemQuantity__c": 0,
236        "vlocity_cmt__IsOverride__c": false,
237        "vlocity_cmt__ParentProductId__c": "01t41000000sYaSAAU",
238        "vlocity_cmt__ChildLineNumber__c": "1",
239        "vlocity_cmt__SeqNumber__c": 1,
240        "vlocity_cmt__CollapseHierarchy__c": false,
241        "vlocity_cmt__IsRootProductChildItem__c": true,
242        "vlocity_cmt__ParentProductId__r": {
243          "attributes": {
244            "type": "Product2",
245            "url": "/services/data/v38.0/sobjects/Product2/01t41000000sYaSAAU"
246          },
247          "Id": "01t41000000sYaSAAU",
248          "Name": "GC 2"
249        }
250      },
251      "productHierarchyPath": "01t41000000sYaSAAU",
252      "name": "GC 2",
253      "isVirtualItem": false,
254      "itemType": "lineItem",
255      "PricebookEntryId": {
256        "value": "01u41000001QPtsAAG",
257        "messages": [],
258        "label": "Price Book Entry ID",
259        "hidden": false,
260        "fieldName": "PricebookEntryId",
261        "editable": false,
262        "dataType": "REFERENCE",
263        "actions": {}
264      },
265      "Quantity": {
266        "value": 1,
267        "messages": [],
268        "label": "Quantity",
269        "hidden": false,
270        "fieldName": "Quantity",
271        "editable": true,
272        "dataType": "DOUBLE",
273        "actions": {}
274      },
275      "vlocity_cmt__OneTimeTotal__c": {
276        "value": 1,
277        "messages": [],
278        "label": "One Time Total",
279        "hidden": false,
280        "fieldName": "vlocity_cmt__OneTimeTotal__c",
281        "editable": false,
282        "dataType": "CURRENCY",
283        "actions": {}
284      },
285      "vlocity_cmt__RecurringTotal__c": {
286        "value": 0,
287        "messages": [],
288        "label": "Recurring Total",
289        "hidden": false,
290        "fieldName": "vlocity_cmt__RecurringTotal__c",
291        "editable": false,
292        "dataType": "CURRENCY",
293        "actions": {}
294      },
295      "vlocity_cmt__ProvisioningStatus__c": {
296        "value": "New",
297        "messages": [],
298        "label": "Provisioning Status",
299        "hidden": false,
300        "fieldName": "vlocity_cmt__ProvisioningStatus__c",
301        "editable": false,
302        "dataType": "STRING",
303        "actions": {}
304      },
305      "vlocity_cmt__BillingAccountId__c": "00141000007uyWYAAY",
306      "vlocity_cmt__ServiceAccountId__c": "00141000007uyWYAAY",
307      "vlocity_cmt__ProductHierarchyPath__c": {
308        "value": "01t41000000sYaSAAU",
309        "messages": [],
310        "label": "Product Hierarchy Path",
311        "hidden": false,
312        "fieldName": "vlocity_cmt__ProductHierarchyPath__c",
313        "editable": true,
314        "dataType": "STRING",
315        "actions": {}
316      },
317      "vlocity_cmt__LineNumber__c": {
318        "value": "0001",
319        "messages": [],
320        "label": "LineNumber",
321        "hidden": true,
322        "fieldName": "vlocity_cmt__LineNumber__c",
323        "editable": true,
324        "dataType": "STRING",
325        "actions": {}
326      },
327      "vlocity_cmt__RootItemId__c": {
328        "value": "80241000000HalcAAC",
329        "messages": [],
330        "label": "RootItemId",
331        "hidden": true,
332        "fieldName": "vlocity_cmt__RootItemId__c",
333        "editable": true,
334        "dataType": "STRING",
335        "actions": {}
336      },
337      "ListPrice": {
338        "value": 1,
339        "messages": [],
340        "label": "List Price",
341        "hidden": false,
342        "fieldName": "ListPrice",
343        "editable": false,
344        "dataType": "CURRENCY",
345        "actions": {}
346      },
347      "vlocity_cmt__OneTimeCharge__c": {
348        "value": 1,
349        "messages": [],
350        "label": "One Time Charge",
351        "hidden": false,
352        "fieldName": "vlocity_cmt__OneTimeCharge__c",
353        "editable": false,
354        "dataType": "CURRENCY",
355        "actions": {}
356      },
357      "vlocity_cmt__OneTimeCalculatedPrice__c": {
358        "value": 1,
359        "messages": [],
360        "label": "One Time Calculated Price",
361        "hidden": false,
362        "fieldName": "vlocity_cmt__OneTimeCalculatedPrice__c",
363        "editable": true,
364        "dataType": "CURRENCY",
365        "actions": {}
366      },
367      "vlocity_cmt__OneTimeManualDiscount__c": {
368        "value": 0,
369        "messages": [],
370        "label": "One Time Manual Discount",
371        "hidden": false,
372        "fieldName": "vlocity_cmt__OneTimeManualDiscount__c",
373        "editable": true,
374        "dataType": "PERCENT",
375        "actions": {}
376      },
377      "vlocity_cmt__RecurringCharge__c": {
378        "value": 0,
379        "messages": [],
380        "label": "Recurring Charge",
381        "hidden": false,
382        "fieldName": "vlocity_cmt__RecurringCharge__c",
383        "editable": false,
384        "dataType": "CURRENCY",
385        "actions": {}
386      },
387      "vlocity_cmt__RecurringCalculatedPrice__c": {
388        "value": 0,
389        "messages": [],
390        "label": "Recurring Calculated Price",
391        "hidden": false,
392        "fieldName": "vlocity_cmt__RecurringCalculatedPrice__c",
393        "editable": true,
394        "dataType": "CURRENCY",
395        "actions": {}
396      },
397      "vlocity_cmt__RecurringManualDiscount__c": {
398        "value": 0,
399        "messages": [],
400        "label": "Recurring Manual Discount",
401        "hidden": false,
402        "fieldName": "vlocity_cmt__RecurringManualDiscount__c",
403        "editable": true,
404        "dataType": "PERCENT",
405        "actions": {}
406      },
407      "PricebookEntry": {
408        "attributes": {
409          "type": "PricebookEntry",
410          "url": "/services/data/v38.0/sobjects/PricebookEntry/01u41000001QPtsAAG"
411        },
412        "Id": "01u41000001QPtsAAG",
413        "Product2Id": "01t41000000sYaSAAU",
414        "Pricebook2Id": "01s41000005dPYQAA2",
415        "Product2": {
416          "attributes": {
417            "type": "Product2",
418            "url": "/services/data/v38.0/sobjects/Product2/01t41000000sYaSAAU"
419          },
420          "Id": "01t41000000sYaSAAU",
421          "Name": "GC 2",
422          "vlocity_cmt__Type__c": "None",
423          "vlocity_cmt__IsConfigurable__c": false
424        }
425      },
426      "vlocity_cmt__ServiceAccountId__r": {
427        "attributes": {
428          "type": "Account",
429          "url": "/services/data/v38.0/sobjects/Account/00141000007uyWYAAY"
430        },
431        "Id": "00141000007uyWYAAY",
432        "Name": "Telco test"
433      },
434      "vlocity_cmt__BillingAccountId__r": {
435        "attributes": {
436          "type": "Account",
437          "url": "/services/data/v38.0/sobjects/Account/00141000007uyWYAAY"
438        },
439        "Id": "00141000007uyWYAAY",
440        "Name": "Telco test"
441      },
442      "vlocity_cmt__InCartQuantityMap__c": {
443        "value": null,
444        "messages": [],
445        "label": "InCartQuantityMap",
446        "hidden": false,
447        "fieldName": "vlocity_cmt__InCartQuantityMap__c",
448        "editable": true,
449        "dataType": "TEXTAREA",
450        "actions": {}
451      },
452      "vlocity_cmt__JSONAttribute__c": {
453        "value": null,
454        "messages": [],
455        "label": "JSONAttribute",
456        "hidden": false,
457        "fieldName": "vlocity_cmt__JSONAttribute__c",
458        "editable": true,
459        "dataType": "TEXTAREA",
460        "actions": {}
461      },
462      "vlocity_cmt__ParentItemId__c": {
463        "value": null,
464        "messages": [],
465        "label": "ParentItemId",
466        "hidden": true,
467        "fieldName": "vlocity_cmt__ParentItemId__c",
468        "editable": true,
469        "dataType": "STRING",
470        "actions": {}
471      },
472      "vlocity_cmt__RecurringDiscountPrice__c": {
473        "value": null,
474        "messages": [],
475        "label": "Recurring Discount Price",
476        "hidden": false,
477        "fieldName": "vlocity_cmt__RecurringDiscountPrice__c",
478        "editable": false,
479        "dataType": "CURRENCY",
480        "actions": {}
481      }
482    }
483  ]
484}

These fields store validation messages related to product relationships and configuration rules. The CPQ engine updates these fields based on the configuration rules and product relationships defined for your CPQ journey.

  • CpqCardinalityMessage__c
  • CpqMessageData__c
  • CpqPricingMessage__c

Note

Add with noResponseNeeded=true 

1{
2  "totalSize": 0,
3  "messages": [
4    {
5      "code": "150",
6      "severity": "INFO",
7      "message": "Successfully added."
8    }
9  ],
10  "actions": {
11    "itempricesupdated": {
12      "rest": {
13        "params": {},
14        "method": "GET",
15        "link": "/services/apexrest/vlocity_cmt/v2/cpq/carts/801xx000003H4WlAAK/price?price=false&cartId=801xx000003H4WlAAK"
16      },
17      "remote": { "params": {} },
18      "client": { "params": {} }
19    }
20  }
21}

See Also