Configurator Added Node Input

Input representation of the nodes to be added to a product configuration.

JSON Example 

1{
2  "addedNodes": [
3    {
4      "path": [
5        "0Q0xx0000004EvcCAE",
6        "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589"
7      ],
8      "addedObject": {
9        "id": "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
10        "SalesTransactionItemSource": "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
11        "SalesTransactionItemParent": "0Q0xx0000004EvcCAE",
12        "PricebookEntry": "01uxx00000090VuAAI",
13        "ProductSellingModel": "0jPxx00000001KHEAY",
14        "UnitPrice": 15.26,
15        "Quantity": 1,
16        "Product": "01txx0000006lfHAAQ",
17        "businessObjectType": "QuoteLineItem"
18      }
19    },
20    {
21      "path": [
22        "0Q0xx0000004EvcCAE",
23        "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
24        "ref_d85b036d_d305_4bb6_aba8_a1dff645a664"
25      ],
26      "addedObject": {
27        "id": "ref_d85b036d_d305_4bb6_aba8_a1dff645a664",
28        "MainItem": "0QLxx0000004QdRGAU",
29        "AssociatedItem": "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
30        "ProductRelatedComponent": "0dSxx00000001p6EAA",
31        "ProductRelationshipType": null,
32        "AssociatedItemPricing": "NotIncludedInBundlePrice",
33        "AssociatedQuantScaleMethod": "Proportional",
34        "businessObjectType": "QuoteLineRelationship"
35      }
36    }
37  ]
38}

This example shows a sample request for orders.

1{
2  "addedNodes": [
3    {
4      "path": [
5        "0Q0xx0000004EvcCAE",
6        "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589"
7      ],
8      "addedObject": {
9        "id": "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
10        "SalesTransactionItemSource": "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
11        "SalesTransactionItemParent": "0Q0xx0000004EvcCAE",
12        "PricebookEntry": "01uxx00000090VuAAI",
13        "ProductSellingModel": "0jPxx00000001KHEAY",
14        "UnitPrice": 15.26,
15        "Quantity": 1,
16        "Product": "01txx0000006lfHAAQ",
17        "businessObjectType": "OrderItem"
18      }
19    },
20    {
21      "path": [
22        "0Q0xx0000004EvcCAE",
23        "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
24        "ref_d85b036d_d305_4bb6_aba8_a1dff645a664"
25      ],
26      "addedObject": {
27        "id": "ref_d85b036d_d305_4bb6_aba8_a1dff645a664",
28        "MainItem": "0QLxx0000004QdRGAU",
29        "AssociatedItem": "ref_d3a3f8d2_e031_4517_ae28_69ce16cb6589",
30        "ProductRelatedComponent": "0dSxx00000001p6EAA",
31        "ProductRelationshipType": null,
32        "AssociatedItemPricing": "NotIncludedInBundlePrice",
33        "AssociatedQuantScaleMethod": "Proportional",
34        "businessObjectType": "OrderItemRelationship"
35      }
36    }
37  ]
38}

This example shows a single-call request that adds a parent bundle, a child product, a relationship, and an attribute in one payload. Use this pattern to minimize API round-trips when building cart flows. When a constraint model is active, include AttributeName and set it to the attribute’s developer name.

1{
2  "addedNodes": [
3    {
4      "path": [
5        "801xx0000000001AAA",
6        "ref_PrimLine"
7      ],
8      "addedObject": {
9        "id": "ref_PrimLine",
10        "SalesTransactionItemSource": "ref_PrimLine",
11        "SalesTransactionItemParent": "801xx0000000001AAA",
12        "PricebookEntry": "01uxx00000090VuAAI",
13        "ProductSellingModel": "0jPxx00000001KHEAY",
14        "UnitPrice": 100.0,
15        "Quantity": 1,
16        "Product": "01txx0000006lfHAAQ",
17        "businessObjectType": "OrderItem"
18      }
19    },
20    {
21      "path": [
22        "801xx0000000001AAA",
23        "ref_ChildItem"
24      ],
25      "addedObject": {
26        "id": "ref_ChildItem",
27        "SalesTransactionItemSource": "ref_ChildItem",
28        "SalesTransactionItemParent": "801xx0000000001AAA",
29        "PricebookEntry": "01uxx00000090VuAAJ",
30        "ProductSellingModel": "0jPxx00000001KHEAZ",
31        "UnitPrice": 0.0,
32        "Quantity": 1,
33        "Product": "01txx0000006lfHAAR",
34        "businessObjectType": "OrderItem"
35      }
36    },
37    {
38      "path": [
39        "801xx0000000001AAA",
40        "ref_ChildItem",
41        "ref_Rel"
42      ],
43      "addedObject": {
44        "id": "ref_Rel",
45        "MainItem": "ref_PrimLine",
46        "AssociatedItem": "ref_ChildItem",
47        "ProductRelatedComponent": "0dSxx00000001p6EAA",
48        "ProductRelationshipType": null,
49        "AssociatedItemPricing": "IncludedInBundlePrice",
50        "businessObjectType": "OrderItemRelationship"
51      }
52    },
53    {
54      "path": [
55        "801xx0000000001AAA",
56        "ref_ChildItem",
57        "ref_LengthAttr"
58      ],
59      "addedObject": {
60        "id": "ref_LengthAttr",
61        "businessObjectType": "OrderItemAttribute",
62        "AttributeName": "Length",
63        "SalesTransactionItemAttrParent": "ref_ChildItem",
64        "ParentReference": "ref_ChildItem",
65        "AttributeKey": "0tjxx0000000001AAA",
66        "AttributeValue": "5",
67        "AttributePicklistValue": null
68      }
69    }
70  ]
71}

Note: Ordering constraint: within a single addedNodes array, an attribute node’s SalesTransactionItemAttrParent must reference a parent that either already exists on the transaction or appears earlier in the same array. Attribute nodes (businessObjectType: "OrderItemAttribute" or "QuoteLineItemAttribute") are never placed inline on the parent’s addedObject; each attribute requires its own entry in the addedNodes array.

Note: When businessObjectType is OrderItemAttribute or QuoteLineItemAttribute and a constraint model is active, addedObject must include AttributeName. Set AttributeName to the product attribute’s developer name so the constraint engine can match the CML variable. AttributeKey doesn’t replace AttributeName. For matching behavior and default fallback, see Configurator API: Include the Attribute Developer Name When Creating or Updating Attributes.

Properties 

NameTypeDescriptionRequired or OptionalAvailable Version
added​ObjectMap<String, Object>Details of the object that’s being added. This property supports fields of objects from the Sales Transaction context definition, including custom objects and fields in your extended context definition. When businessObjectType is OrderItemAttribute or QuoteLineItemAttribute and a constraint model is active, include AttributeName and set it to the product attribute’s developer name. AttributeKey doesn’t replace AttributeName.Required60.0
pathString[]Path to the node that’s being added. The path includes the unique ID of the context node in the data structure. This ID must match the ID of the sales transaction item source such as a quote line or an order line item. Keep these considerations in mind when setting the path value. If the businessObjectType property value is QuoteLineItem or OrderItem, the path must contain 2 IDs. The first ID is the transaction ID (quote or order), and the second ID is the line item ID; If the businessObjectType property value is QuoteLineItem or OrderItem, the addedObject must contain SalesTransactionItemSource and SalesTransactionItemParent; If the businessObjectType property value is QuoteLineRelationship or OrderItemRelationship, the path must contain 3 IDs. The first ID is the transaction ID. The second ID is the associated line item ID. The third ID is the relationship node ID; or If the businessObjectType property value is QuoteLineItemAttribute or OrderItemAttribute, the path must contain 3 IDs. The first ID is the transaction ID. The second ID is the parent line item ID. The third ID is the attribute node ID. The addedObject must contain SalesTransactionItemAttrParent set to the parent line item ID.Required60.0