Product Specification Use Cases

I want to
Request Type
Example URL
Retrieve and display details of a requested product specification.GET by ID{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification/{ID}

NOTE:
For invalid category ID, you will receive HTTP 404 error.
Based on the provided field values, retrieve and display details of a particular product specification ID.GET by ID and Fields{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification/{ID}?fields=name,description,isBundle
List all the product specifications present in the system.GET List{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification
List all the product specifications present in the system
based on the provided field values.
GET List with Fields{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification?fields=name,description,isBundle
List all the product specifications present in the inventory based on the provided field values and filter applied.GET List by Fields and Filtering{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification?fields=name,description,isBundle&isBundle=false
Limit the number of product specification to a maximum of specified limit and
display results from the page specified by an offset.
GET List by limit and offset{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification?limit=2&offset=2
Create a product specification.POST{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification
Update a product specification.PATCH{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification/{ID}
Delete a product specification.DELETE{https://MyDomainLoginUrl}/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification/{ID}

Consider you want to retrieve details of a product specification from the inventory.

The handleOverriddenAttributes flag provides flexibility and control over how product attributes are retrieved in scenarios involving base products and bundled products. It supports selective retrieval for both base products and bundled products, reducing payload size and query overhead.

For Base Products

  • true: Returns only the product’s original (non-overridden) attributes. Excludes overridden attributes from other bundles to keep the response lightweight and avoid SOQL offset issues.
  • false (default): Returns all attributes, including overridden ones from associated bundles.

For Bundled Products

  • true: Returns only the original (non-overridden) attributes and the overridden attributes of child products, while the bundle itself returns its own attributes. Helps prevent heap or SOQL limit breaches in complex bundles.
  • false (default): Returns only the bundle’s attributes and minimal child product metadata (name, Id, href), as per the current model.

Sample URL

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification?id=59e0f2ab-d7ba-9703-c545-61939e9d5564&handleOverriddenAttributes=true

The bundledProductSpecification node contains details of child products, and its productSpecCharacteristic node lists their attributes. Since handleOverriddenAttributes = true, the bundle response includes the child product attributes.

Sample URL

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification/59e0f2ab-d7ba-9703-c545-61939e9d5564&handleOverriddenAttributes=false

NOTE: If handleOverriddenAttributes is not provided as a parameter, its value defaults to false.

For example, consider the following URL.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification/59e0f2ab-d7ba-9703-c545-61939e9d5564

When the handleOverriddenAttributes is set to false, the productSpecCharacteristic node under bundledProductSpecification is not included. Only the child product’s metadata is returned within the bundle product response.

Consider you want to retrieve details of the product specification ID = f58d3bce-e229-74c5-6a4c-40aa68714c53 and get the name, description and isBundle details in the output.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification/f58d3bce-e229-74c5-6a4c-40aa68714c53?fields=name,description,isBundle

Consider you want to retrieve details of all the product specifications in the inventory.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification

Consider you want to retrieve all the product specifications by applying the requested fields.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification?fields=name,description,isBundle

Consider you want to retrieve all the product specifications by a specified filter.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification?fields=name,description,isBundle&isBundle=false

Consider you want to retrieve perform the following.

  • Limit the number of product specifications to a maximum of specified limit
  • Display results from the page specified by an offset

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/{namespace}/tmforum/productopenapi/v1/productSpecification?offset=1&limit=2

Consider you want to create a new product specification.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/productSpecification

Consider for the product offer ID = f58d3bce-e229-74c5-6a4c-40aa68714c53 you want to update first level attributes and sub-resources.

Consider you want to delete a product offering ID: 3830.

https://vlocity-1f5-dev-ed.develop.my.salesforce.com/services/apexrest/vlocity_cmt/tmforum/productopenapi/v1/productSpecification/3830