Documentation Changelog
Extensibility for TMF APIs
Use Cases
Resource Mappings
Known Issues
FAQ
These mappings apply to TMF637 v5 on the Salesforce platform. Product inventory is modeled on Asset. Response values come from Asset and related records.
name, description, and productSerialNumber only. POST and DELETE are not supported.productCharacteristic uses the current AssetStatePeriod only. The current period is the period whose StartDate is less than or equal to today and whose EndDate is greater than today or null.productOrderItem is returned on retrieve (GET by ID) only.offset (default 0) and pageLimit (default 100).billingAccount, productSpecification, orderDate, and schemaLocation are omitted from the response. updatedPayload is omitted when it is empty.isBundle is true when Product2.Type is Bundle, and false when Product2.Type is Simple.status is the latest AssetAction.CategoryEnum, ordered by ActionDate descending.dutyFreeAmount.value is the sum of AssetAction.Amount. taxIncludedAmount.value is the sum of AssetAction.Amount plus the sum of AssetAction.EstimatedTaxChange.href is the Product2 sObject href.| TMF637 Field | Salesforce Source | Notes |
|---|---|---|
| id | Asset.Id | |
| href | Generated (family, entity, version, id) | |
| name | Asset.Name | |
| description | Asset.Description | |
| status | Latest AssetAction.CategoryEnum (by ActionDate DESC) | |
| isBundle | Product2.Type | Bundle = true, Simple = false |
| productOffering.id | Product2.Id | |
| productOffering.href | generateSObjectHref(“Product2”, Product2.Id) | SObject href |
| productOffering.name | Product2.Name | |
| productOrderItem | AssetAction → AssetActionSource → OrderItem | List per asset (single GET only) |
| productOrderItem.orderItemId | OrderItem.OrderItemNumber | |
| productOrderItem.productOrderId | Order.OrderNumber | |
| productOrderItem.orderDate | Order.EffectiveDate | |
| productOrderItem.orderItemAction | OrderAction.Type | |
| productSerialNumber | Asset.SerialNumber | |
| startDate | Asset.LifecycleStartDate | ISO 8601 |
| terminationDate | Asset.LifecycleEndDate | |
| relatedParty | Account (Id, Name) | role = customer |
| productPrice.recurringChargePeriod | Latest AssetAction → ProductSellingModel.PricingTermUnit | |
| productPrice.priceType | Latest AssetAction → ProductSellingModel.SellingModelType | |
| productPrice.price.dutyFreeAmount.unit | Asset.CurrencyIsoCode | Org default currency for single-currency orgs |
| productPrice.price.dutyFreeAmount.value | Sum(AssetAction.Amount) via aggregate query | Converted from corporate currency using CurrencyType |
| productPrice.price.taxIncludedAmount.unit | Asset.CurrencyIsoCode | |
| productPrice.price.taxIncludedAmount.value | Sum(Amount) + Sum(EstimatedTaxChange) via aggregate query | Converted from corporate currency using CurrencyType |
| productCharacteristic | AssetStatePeriod (current) → AssetStatePeriodAttribute | Current period only |
| productCharacteristic.name | AttributeDefinition.Name | |
| productCharacteristic.value | AttributeValue | |
| productCharacteristic.valueType | AttributeDefinition.DataType | |
| @type | Product | Fixed value |
Available from Winter ‘27. License requirement: GlobalPrmtRevenueCloudInteg.
| TMF637 Field | Salesforce Source |
|---|---|
| name | Promotion.Name |
| description | Promotion.Description |
| price.dutyFreeAmount.value | AssetActionSrcPriceAdjustment.AppliedAdjustmentAmount |
| price.dutyFreeAmount.unit | AssetActionSource.CurrencyIsoCode (fallback Asset.CurrencyIsoCode) |
| priceType | AssetActionSource.ProductSellingModel.SellingModelType (lowercased) |
| recurringChargePeriod | ProductSellingModel.PricingTermUnit (lowercased) |
| priority | Promotion.PromotionConfiguration matched rule priority, else PrioritySequence |
| applicationDuration | PromotionConfiguration rule rewardConfiguration[].rewardDetailsList[].termBasedRewards.rewardDuration.value |
| unitOfMeasure | AssetActionSource.CurrencyIsoCode |
| @type | constant “PriceAlteration” |