Product Offering Resource Mappings

Constraints and Limitations

Before using the TMF620 product offering resource mappings, refer to the following.

  • Product Code in EPC is populated with Product Name if productNumber is not sent in the payload.
  • Versioning details like version label, version start date and end date in EPC is populated only if versioning is enabled in the org.
  • The GlobalKey__c is sent as the id in the POST response. External Id field is left empty.
  • The life cycle status of TMF is mapped to isActive and Status of the EPC. The lifecycleStatus of EPC is defaulted to Draft.
  • For the requirement to create $0 price entry when no price is available, create $0 one time charge and associate with it.
  • Attachments patched will override the previous attachment. The same holds true for Pricelist and Promotions relationship.
  • The minimum, maximum and quantity field of ProductChildItem and ProductRelationship is set to 1.
  • If the category node is present, create a catalog product relationship by assuming catalog is already present in the org. If not present, it results in error.
  • The GlobalKey__c is used as the ID for the product specification resource and sub-resource.
  • The relationship entities must be existing in the system. For example, to patch a catalog relation, the catalog must be present.
  • BundledProductOffering can be reset to delink all the product bundles.
  • Update the DataRaptors to define outputResponse.bundledProductOffering as List<Map>. This ensures that bundledProductOffering is consistently sent as a JSON array, allowing the request to be successfully processed by the API.
  • Custom metadata with label TMForumProductOfferingUseChildForBu, decides the behaviour of BundledProductOffering node. Default value is false, which means parent product offering to which the given product offering belongs to will be treated as the bundleProductOffer. IP / DR will have mappings to reflect the parent product offering. Changing the value to false replaces the parent with the child product offering.
  • Manually you have to change the mappings for the BundledProductOffering node. This change will have impact on all the APIs such as GET, POST, and PATCH.
  • BundledProductOffering - Incoming id and name of this node can only be matched with global key and name of the product. This is cannot be customized to change the matching criteria or to add additional matching criteria(s).
  • productSpecificationRelationship - Incoming id and name of this node can only be matched with global key and name of the product. This is cannot be customized to change the matching criteria or to add additional matching criteria(s).
  • It is not possible to add additional entity mappings to extend POST resource of the Product Offering API.
TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Prerequisite<div style="width:120px"></div> Is mandatory?<div style="width:120px"></div>
name string Required. Specifies the name of the product offering. Product2.Name Specifies the name of the product. NA Yes
attachment array Provides additional description of an element, such as a product, through videos or pictures. vlocity_cmt__VlocityAttachment__c Describes the element through a document, video, or picture. NA No
category array Groups product offerings, services, and resource candidates in logical containers. Categories can contain other categories or product offerings, resources, or service candidates. vlocity_cmt__CatalogProductRelationship__c Specifies the catalog relationship of the product. NA No
description string Provides a description of the product offering. Product2.Description Describes the product. NA No
isBundle boolean Indicates whether a product offering represents a single product offering (false) or a bundle of product offerings (true). Product2.vlocity_cmt__specificationSubType__c Determines whether the offer is of simple or bundle subtype. NA No
isSellable boolean Indicates whether the product offering can be sold standalone (true) or only within a bundle (false). Product2.vlocity_cmt__IsOrderable__c Determines if the product offering can be sold standalone (true) or only within a bundle (false). If the value is true, the product can be added to the cart. NA No
productNumber string Specifies the code associated with the product. Product2.ProductCode Specifies the unique product code of the product offering. NA No
lifecycleStatus string Specifies the current lifecycle status. Product2.vlocity_cmt__Status__c Determines the status of the product. If the lifecycleStatus property is active, the IsActive property is also mapped to as true. NA No
bundledProductOffering array Specifies a type of product offering that belongs to a grouping of product offerings made available to the market. A bundled product offering inherits all the attributes of a product offering. vlocity_cmt__ProductChildItem__c Specifies the product child relationship. NA No
prodSpecCharValueUse array A use of the ProductSpecificationCharacteristicValue object by a ProductOffering object to which additional properties (attributes) apply or override the properties of similar properties contained in the ProductSpecificationCharacteristicValue object. vlocity_cmt__AttributeAssignment__c Specifies the attribute assignment of the product offering. NA No
productOfferingPrice array Specifies an amount, usually of money that is asked for or allowed when a product offering is bought, rented, or leased. The price is valid for a defined period and doesn’t necessarily represent the actual price paid by a customer. vlocity_cmt__PriceListEntry__c Specifies the price, cost, fee, discount, or adjustments defined within a price list. A price list entry is defined for an offer, promotion, or some other context. The price list entry defines the terms and conditions of the pricing, duration of the pricing, and the policies governing the pricing. NA No
productOfferingRelationship object Specifies a relationship between the product offering and other product offerings. vlocity_cmt__ProductRelationship__c Specifies a relationship between the product offering and other product offerings. NA No
productOfferingTerm array Specifies a condition with which a product offering is made available to customers. For instance, a product offering can be offered with multiple commitment periods. vlocity_cmt__Promotion__c Specifies the promotions applicable for the product offering. NA No
productSpecification object Detailed description of a tangible or intangible object made available externally in the form of a product offering to customers or other parties playing a party role. Product2 Describes the product offering in detail. NA No
validFor: startDateTime object Specifies the period for which the product offering is valid. vlocity_cmt__SellingStartDate__c Specifies the selling start date of the product offering. NA No
validFor: endDateTime object Specifies the period for which the product offering is valid. vlocity_cmt__EndOfLifeDate__c Specifies the end of life date of the product offering. NA No
version string Specifies the product offering version. vlocity_cmt__VersionLabel__c Specifies the version of the product offering. NA No
vlocity_cmt__PriceList__c Specifies the price list. Configure a valid Pricelist name in the metadata to create a productOffering. Yes
vlocity_cmt__AttributeCategory__c Specifies the attribute category for the TMF API. It is specified in the custom metadata. Configure a valid AttributeCategory in the custom metadata to create attributes for offers. Yes

Attachment Subresource Mappings

TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Is mandatory? Prerequisite
name string Specifies the name of the attachment. vlocity_cmt__VlocityAttachment__c.Name Specifies the name of the attachment. Yes If name is not specified, a value is automatically assigned.
description string Describes the content of the attachment. VlocityAttachment__c.vlocity_cmt__Description__c Describes the attachment. No NA
href string Specifies the URI for the attachment. TMF Attachment URL + VlocityAttachment.ID Specifies the GET URL of the TMF attachment that ends with the ID field. No NA
id string Specifies the unique identifier of the attachment. vlocity_cmt__vlocityAttachment__c.vlocity_cmt__AttachmentId__c Specifies the ID of the attachment. No NA
url string The Uniform Resource Locator, which is a web page address and a subset of URI. vlocity_cmt__vlocityAttachment__c.vlocity_cmt__UrlLong__c Specifies the URL of the attachment. No NA
attachmentType string Specifies the attachment type, such as a video or a picture. vlocity_cmt__vlocityAttachment__c.vlocity_cmt__ContentType__c Specifies the content type, such as a picture, a video, or a file. No NA

BundledProductOffering Subresource Mappings

TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Is mandatory?<div style="width:120px"></div> Prerequisite<div style="width:120px"></div>
id string Specifies a unique identifier of the bundled product offering. vlocity_cmt__ProductChildItem__c.vlocity_cmt__GlobalKey__c Specifies the external ID for the ParentProductId. This field can be configured to the child product as well. No Product with the specified ID and Name must exist in the org.
name string Specifies the name of the bundled product offering. vlocity_cmt__ProductChildItem__c.vlocity_cmt__ChildProductId__r.Name Specifies the name of the parent product. No Product with the specified ID and Name must exist in the org.
bundledProdOfferOption: numberRelOfferDefault integer Specifies the default number of product offerings that's procured as part of the related bundled product offering. vlocity_cmt__ProductChildItem__c.vlocity_cmt__Quantity__c Specifies the quantity of the product. No NA
bundledProdOfferOption: numberRelOfferLowerLimit integer Specifies the lower limit for a product offering that's procured as part of the related bundled product offering. vlocity_cmt__ProductChildItem__c.vlocity_cmt__MinQuantity__c Specifies the minimum quantity of the product. No NA
bundledProdOfferOption: numberRelOfferUpperLimit integer Specifies the upper limit for a product offering that's procured as part of the related bundled product offering. vlocity_cmt__ProductChildItem__c.vlocity_cmt__MaxQuantity__c Specifies the maximum quantity of the product. No NA

prodSpecCharValueUse Subresource Mappings

TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Prerequisite Is mandatory?
isDefault boolean Indicates if the value is the default value for a characteristic. attributeAssignments.attributes.isDefault Indicated whether the attribute value is the default value. NA No
valueFor.startDateTime integer Specifies the lower range value that a characteristic can accept. vlocity_cmt__EffectiveFromDate__c Specifies the effective start date of the attribute. NA No
valueFor.endDateTime integer Specifies the upper range value that a characteristic can accept. vlocity_cmt__EffectiveFromDate__c Specifies the effective end date of the attribute. NA No
value any Specifies a discrete value that the characteristic can accept or the actual value of the characteristic. value Specifies the value of the attribute. NA No
valueType string Specifies the type of value that the characteristic value can accept, such as numeric and text. vlocity_cmt__ValueType__c Specifies the datatype of the attribute value. NA No
vlocity_cmt__AttributeCategory__c Specifies the category of the attribute. The Attribute Category specified in the custom metadata TMForumAttributeCategoryName, must be present in the Salesforce org. No

ProductOfferingPrice Subresource Mappings

TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Is mandatory?<div style="width:120px"></div> Prerequisite<div style="width:120px"></div>
name string Required. Specifies the name of the product offering price. vlocity_cmt__PriceListEntry__c.Name Specifies the name of the price list entry. Yes NA
description string Provides the description of the product offering price. vlocity_cmt__PriceListEntry__c.vlocity_cmt__DisplayText__c Describes the price list entry. No NA
isBundle boolean Indicates whether a productOfferingPrice represents a productOfferingPrice (false) or a bundle of productOfferingPrices (true). vlocity_cmt__PriceListEntry__c.isBundle Indicates whether a productOfferingPrice represents a productOfferingPrice (false) or a bundle of productOfferingPrices (true). No NA
lifecycleStatus string Specifies the lifecycle status of the product offering price. vlocity_cmt__PriceListEntry__c.vlocity_cmt__ IsActive__c Indicates if the price list entry is active. No NA
price.taxincludedamount.unit string Specifies the currency. The ISO4217 norm uses 3 letters to define the currency. vlocity_cmt__PricingElementId__r.vlocity_cmt__CurrencyCode__c Specifies the currency code. No NA
price.taxincludedamount.value float Specifies a positive floating point number. vlocity_cmt__PricingElementId__r.vlocity_cmt__Amount__c Specifies the amount. No NA
priceType string Specifies a category that describes the price charge, such as recurring, penalty, and one-time fee. vlocity_cmt__PriceListEntry__c.vlocity_cmt__PricingElementId__r.vlocity_cmt__PricingVariableId__r.vlocity_cmt__ChargeType__c Specifies if the price charge is recurring or a one time fee. No NA
recurringChargePeriod string Specifies the period to apply the price again, which can be months, weeks, and so on. vlocity_cmt__PriceListEntry__c.vlocity_cmt__PricingElementId__r.vlocity_cmt__PricingVariableId__r.vlocity_cmt__RecurringFrequency__c Specifies the frequency of the priceType. No NA
validFor object Specifies the period for which the product offering price is valid. vlocity_cmt__PriceListEntry__c.vlocity_cmt__EffectiveFromDate__c,vlocity_cmt__PriceListEntry__c.vlocity_cmt__EffectiveUntilDate__c Specifies the period for which the price list entry is valid. No NA
vlocity_cmt__PriceList__c Specifies the price list. Yes Configure a valid PriceList in the TMForumPriceList metadata to create a productOffering.

ProductOfferingRelationship Subresource Mappings

TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Is mandatory?<div style="width:120px"></div> Prerequisite<div style="width:120px"></div>
id string Specifies a unique identifier of the product offering relationship. vlocity_cmt__ProductRelationship__c.vlocity_cmt__ProductId__r.vlocity_cmt__GlobalKey__c Specifies the unique global key of the product relationship. Yes NA
name string Required. Specifies the name of the product offering relationship. vlocity_cmt__ProductRelationship__c.vlocity_cmt__ProductId__r.Name Specifies the name of the product relationship. Yes NA
href string Specifies the hyperlink reference of the product offering relationship. TMF Attachment Url + Product2.Id Specifies the TMF ProductSpecification GET URL ending with the ID field. No NA
relationshipType string Specifies the relationship type between product offerings, such as requires, exchangableTo, and optionalFor. vlocity_cmt__ProductRelationship__c.vlocity_cmt__RelationshipType__c Specifies the relationship type such as auto-add and auto-delete. No NA

ProductSpecification Subresource Mappings

TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Is mandatory?<div style="width:120px"></div> Prerequisite<div style="width:120px"></div>
id string Specifies a unique identifier of the product specification. Product2 ProductSpecId__c Specifies the identifier of the product specification that is used by the product offering. Yes Configure Product Specification with a valid name and ID in the Salesforce org.
name string Required. Specifies the name of the product specification. ProductSpecId__r.Name Specifies the name of the product specification. Yes Configure Product Specification with a valid name and ID in the Salesforce org.

ProductOfferingTerm Subresource Mappings

TMF Field<div style="width:120px"></div> Type<div style="width:120px"></div> Description<div style="width:120px"></div> Salesforce Mapping<div style="width:120px"></div> Salesforce Description<div style="width:120px"></div> Is mandatory?<div style="width:120px"></div> Prerequisite<div style="width:120px"></div>
name string Specifies the name of the productOfferingTerm. vlocity_cmt__Promotion__c.Name Specifies the name of the promotion. No NA
description string Describes the productOfferingTerm. vlocity_cmt__Promotion__c.vlocity_cmt__Description__c Describes the promotion. No NA
validFor object Specifies the time period during which the productOfferingTerm is valid. vlocity_cmt__TimePlan__c.vlocity_cmt__EffectiveStartDate__c, vlocity_cmt__TimePlan__c.vlocity_cmt__EffectiveEndDate__c Specifies the effective dates between which the promotion is valid. No NA
duration: amount duration Specifies the duration of the productOfferingTerm. vlocity_cmt__TimePlan__c.vlocity_cmt__TotalDuration__c Specifies the duration of the time plan. No NA
duration: unit duration Specifies the duration of the productOfferingTerm. vlocity_cmt__TimePlan__c.vlocity_cmt__TotalDurationUoM__c Specifies the duration unit. No NA