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:

Table 1. Bulk Update Macro Definition
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.

Table 2. Parameter Configurations
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.

  1. 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})

  1. 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.