Before using the TMF671 v4 resource mappings, refer these.
Constraints and Limitations
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 valid startDateTime.
Criteria group must have at least one criteria and action.
Assumptions
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
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.
criteriaParameter
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.
Promotion
TMF Field
Description
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.
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.
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.
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
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