Transfer a Product
This use case explains the use of macros to perform bulk product transfers.
Consider an example of transferring membership from a basic product to a silver product on a specified date using the bulk update definition.
Bulk update definition can be invoked by global activities or a macro.
To start a bulk update definition using macros, the macro definition must be set up as follows:
Field | Configuration |
---|---|
Code |
transferProduct |
Description |
Transfers memberships to the selected product as of given date |
Type |
Bulk Update |
requestContext |
Group Account |
Bulk Update Definition |
transferProduct |
The advantage of starting a bulk update through macros is a consolidated UI experience on all the processes started in the requestContext of groups.
The following parameter configurations ensure that a field of type date
, labeled as Transfer Date, gets displayed on the user interface.
Field | Configuration |
---|---|
Usage Name |
transferDate |
Display Name |
Transfer Date |
Data Type |
Date |
Mandatory? |
true |
Multi Value? |
false |
Pick List |
- |
Filter |
- |
Configure the following additional parameters to supply the from product and to product details.
-
Additional Parameters from product
Field |
Configuration |
Usage Name |
fromProduct |
Display Name |
From Product |
Data Type |
Char |
Mandatory? |
true |
Multi Value? |
false |
Pick List |
groupaccountproducts |
Filter |
groupaccount.code.eq({$requestContext.code}) |
-
Additional Parameters to product
Field |
Configuration |
Usage Name |
toProduct |
Display Name |
To Product |
Data Type |
Char |
Mandatory? |
true |
Multi Value? |
false |
Pick List |
groupaccountproducts |
Filter |
groupaccount.code.eq({$requestContext.code}) |
The user can start the macro from the user interface page or directly make the following request to the Macro Integration Point:
{
"parameters": [
{
"name": "parameters",
"value": "transferDate,2022-01-02;toProduct,SILVER;fromProduct,BASIC "
}
],
"macroDefinitionCode": "transferProduct",
"requestContext": "{ \"id\": \"26551\" }"
}
The macro integration point internally starts the bulk update activity specified in the macro definition.