TMF671 v4 Resource Mappings
Before using the TMF671 v4 resource mappings, refer these.
-
Use the promotion rules configuration and the Promotion API GET request to retrieve the promotion details.
-
Create a rule library that maps the usage type to
Global Promotion Management
and defines the context name. Set this rule library name as the default during the Create Promotion API call. -
The
criteriaGroup
field is mandatory for Create Promotion API call. Only system admin can access this API. Users can only create promotions using a custom template. -
Validations must be implemented to limit the number of rules, criteria, or actions if GPM enforces any such restrictions.
-
Users are not allowed to modify the context definition tags.
-
POST method input validations.
- The promotion must include a
name
,id
, and a validstartDateTime
. - Criteria group must have at least one criteria and action.
- The promotion must include a
- User needs to perform these operations.
- Global Promotions Management (GPM) setup
- Rule Library configuration
- Field-level security to the fields
- As there is no life cycle status field available on
promotion
entity,isActive
field is used and it supports these statuses.- active
- inactive
- When the 671 POST request is invoked, orchestrate the data and create a promotion using the Create Promotion Connect API. The response provides the promotion code name, which can then be used to configure the promotion's rules using the custom template. These rules define both the criteria and the actions associated with the promotion.
- Promotion rules are stored as blob data, which cannot be directly read from the database. For the GET operation, use APIs to retrieve the rules in a readable format. To fetch promotion details, query the database directly. If the information retrieved is insufficient or not readable, use the API to obtain the promotion details.
- Revenue Lifecycle Management (RLM) operates within its own context, and the mapping to GPM tags is managed through the rule library associated with that context.
The TMF671 specific criteria and action codes are hardcoded as a HashMap.
ActionType | ActionTypeCode |
---|---|
voice(minute) | 1 |
data(MB) | 2 |
data(GB) | 3 |
SMS | 4 |
bonus point | 5 |
physical gift | 6 |
voucher | 7 |
promotion code | 8 |
an existing offering | 9 |
currency | 10 |
NOTE: Other types of action also be used.
CiteriaParamType | Parameter | CriteriaParamTypeCode |
---|---|---|
Individual | - | 1 |
id | 1.1 | |
name | 1.2 | |
birth date | 1.3 | |
Product Offering | - | 2 |
id | 2.1 | |
duty free amount | 2.2 | |
tax included amount | 2.3 | |
product order id | 2.4 | |
price type | 2.5 | |
channel name | 2.6 | |
Product | - | 3 |
id | 3.1 | |
duration amount | 3.2 | |
duration units | 3.3 | |
Product Offering Category | - | 4 |
id | 4.1 | |
Top up Balance | - | 5 |
amount | 5.1 | |
recurring period | 5.2 | |
Customer Bill | - | 6 |
amount due | 6.1 |
These default mappings are supported for the TMF671 resources.
TMF Field | Description property | Field Type | Is Mandatory as per TMForum? | Is Mandatory for Salesforce? | Supported | Salesforce Object | Salesforce Field | Supported Methods |
---|---|---|---|---|---|---|---|---|
Id | A string. Unique identifier of promotion. | String | Yes | No | Yes | Promotion | Promotioncode | GET |
description | A string. Details about the purpose of this promotion. | String | No | No | Yes | Promotion | Description | POST, GET |
lastUpdate | A date time (DateTime). Latest update date of promotion. | Date | No | No | Yes | Promotion | LastModifiedDate | GET |
lifecycleStatus | A string. Value of promotion status. | String | No | No | Yes | Promotion | isActive | GET, POST |
name | A string. Name of promotion. | String | Yes | Yes | Yes | Promotion | Name | GET, POST |
promotionType | A string. Type of promotion. The basic type is: • Award - Gift or free unit is given to the party. • Discount - Deduct from an account, debt or charge. • Reduction - Bring down the quantity or value or something. However, other types of promotion can be used. | No | No | No | Promotion | rewardConfiguration → type | ||
startDateTime | A time period. The period for which the promotion is valid. | Date | No | No | Yes | Promotion | StartDateTime | GET, POST |
endDateTime | A time period. The period for which the promotion is valid. | Date | No | No | Yes | Promotion | EndDateTime | GET, POST |
href | An URI. Hyperlink reference. | URL | Yes | No | Yes | - | - | - |
pattern | List of patterns that defines the promotion | string | No | No | Yes | pattern | - | - |
Salesforce Mapping: Promotion → promotionConfiguration → configureTemplate → rules → priority
TMF Field | Description property | Field Type | Is Mandatory as per TMForum? | Is Mandatory for Salesforce? | Supported | Salesforce Object | Salesforce Mapping | Supported Methods |
---|---|---|---|---|---|---|---|---|
@type | A string. The class type of the actual resource (for type extension). | String | No | No | Yes | - | - | GET |
action | A list of promotion actions (PromotionAction [1..*]). Action of the promotion. When the customer meets the conditions in the promotion pattern, the customer can be given the benefits in the action. | List | Yes | Yes | Yes | [promotionAction subresource] | - | POST,GET |
criteriaGroup | A list of promotion criteria groups (PromotionCriteriaGroup [1..*]). Set of group criteria to promotion. Fulfilling these criteria, parties receive benefits. | List | Yes | Yes | Yes | [promotionCriteriaGroup Subresource] | - | POST,GET |
id | A string. Unique identifier of promotion pattern. | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules [ {{index}} ]→ ruleName | POST,GET |
name | Name of the pattern or rule. | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules [ {{index}} ]→ templateName "+ _ + "promotion → promotionConfiguration → configureTemplate →rules [ {{index}} ]→ ruleName | POST,GET |
priority | Priority of the pattern. | Number | No | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules [ {{index}} ]→ priority | POST,GET |
Salesforce Mapping: Promotion → promotionConfiguration → configureTemplate → rules → priority → rewardConfiguration
TMF Field | Description property | Field Type | Is Mandatory as per TMForum? | Is Mandatory for Salesforce? | Supported | Salesforce Object | Salesforce Mapping | Supported Methods |
---|---|---|---|---|---|---|---|---|
@baseType | A string. The base type for use in polymorphic collections. | String | No | No | No | GET | ||
@schemaLocation | A string. A link to the schema describing a resource (for type extension). | String | No | No | No | GET | ||
@type | A string. The class type of the actual resource (for type extension). | String | No | No | Yes | GET | ||
actionEntityRef | An entity reference (EntityRef). It refers to the entity that is impacted by the promotion action. • When the Promotion type is Award, the actionEntityRef is the party account; • When the Promotion type is Discount, it is the product offering; • When the Promotion type is Reduction, it is the product offering also. | No | No | Yes | promotionActionEntityRef | POST,GET | ||
actionType | A string. actionType | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → type promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → discountType | POST,GET |
actionValue | A string. • When the Promotion type is Award, it means the amount or value of the awards decided by actionType; • When the Promotion type is Discount, it means the value of the discount; • When the Promotion type is Reduction, it means the value of the reduced money. | String | Yes | Yes | Yes | Promotion | When actionType is 8 and 10 - promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → discountValue When actionType is 7 - promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → voucherDefinition → id | POST,GET |
id | A string. Unique identifier. | String | No | No | Yes | Promotion | When actionType is 8 and 10 - promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → discountType When actionType is 7 - promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → voucherDefinition → name | GET, POST |
Salesforce Mapping: Promotion → promotionConfiguration → configureTemplate → rules → priority → rewardConfiguration
TMF Field | Description property | Field Type | Is Mandatory as per TMForum? | Is Mandatory for Salesforce? | Supported | Salesforce Object | Salesforce Mapping | Supported Methods |
---|---|---|---|---|---|---|---|---|
@baseType | A string. When sub-classing, this defines the super-class. | String | No | No | No | GET | ||
@schemaLocation | An URI. A URI to a JSON-Schema file that defines additional attributes and relationships. | String | No | No | No | GET | ||
@type | A string. When sub-classing, this defines the sub-class Extensible name. | String | No | No | Yes | promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → discountedItems → discountedItemType | POST, GET | |
@referredType | A string. The actual type of the target instance when needed for disambiguation. | No | No | No | ||||
href | An URI. Hyperlink reference | String | Yes | Yes | Yes | GET | ||
name | name of the product | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → discountedItems → discountedItemList → name | POST, GET |
id | A string. Unique identifier. | String | No | No | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → rewardConfiguration → rewardDetails → discountedItems → discountedItemList → id | GET, POST |
Salesforce Mapping: promotion → promotionConfiguration → configureTemplate → rules[] → eventConfiguration
TMF Field | Description property | Field Type | Is Mandatory as per TMForum? | Is Mandatory for Salesforce? | Supported | Salesforce Object | Salesforce Mapping | Supported Methods |
---|---|---|---|---|---|---|---|---|
@baseType | A string. The base type for use in polymorphic collections. | String | No | GET | ||||
@schemaLocation | A string. A link to the schema describing a resource (for type extension). | String | No | GET | ||||
@type | A string. The class type of the actual resource (for type extension). | String | Yes | GET | ||||
criteria | A list of promotion criteria (PromotionCriteria [1..*]). Set of criteria to be followed by all parties. | List | Yes | Yes | Yes | promotionCriteria | POST,GET | |
criteriaLogicalRelationship | A string. Logical relation followed by all criteria. | String | No | No | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → eventConfiguration → criteriaList → customLogic | POST,GET |
groupName | A string. Name of the group to be easily identified. | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → eventConfiguration → criteriaList → name | POST,GET |
id | A string. Unique Identifier. | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → eventConfiguration → criteriaList → sequenceNumber | POST,GET |
Salesforce Mapping: promotion → promotionConfiguration → configureTemplate → rules[] → eventConfiguration[]
TMF Field | Description property | Field Type | Is Mandatory as per TMForum? | Is Mandatory for Salesforce? | Supported | Salesforce Object | Salesforce Mapping | Supported Methods |
---|---|---|---|---|---|---|---|---|
@baseType | A string. The base type for use in polymorphic collections | String | No | No | No | GET | ||
@schemaLocation | A string. A link to the schema describing a resource (for type extension). | String | No | No | No | GET | ||
@type | A string. The class type of the actual resource (for type extension). | String | No | No | Yes | GET | ||
criteriaOperator | A string. Logic operator of this criteria instruction: '=' or '>' or '<' or '>=' or '<=' or '<>'. or 'In' or 'Not In' | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → eventConfiguration → criteriaList → conditionList → operator | POST, GET |
criteriaParameter | A string. The parameter (factor) of the criteria. The basic factors are abstracted from these data sources. And there are several detailed parameters. For instance: criteriaParameter | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → eventConfiguration → criteriaList → conditionList → contextTagName | POST, GET |
criteriaValue | A string. The value is filled for the comparison of the criteria. | String | Yes | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → eventConfiguration → criteriaList → conditionList → valueList[0] | POST, GET |
id | A string. Unique identifier. | String | No | Yes | Yes | Promotion | promotion → promotionConfiguration → configureTemplate →rules → eventConfiguration → criteriaList → conditionList → sequenceNumber | POST, GET |