Skip to main content

Veritran Docs

Business Rules Management System (BRM)

The Business Rules Management System (BRM) is the Veritran platform service that defines and applies specific business rules to transactions performed by app users. Each business rule contains conditions that, if met, results in the rejection of the user's transaction in real time. For example, if you set a rule where users with Black profiles can only make transfers for an amount lower than USD 1,000 each, any transaction attempted by a Black app user for an amount higher than USD 1,000 is rejected by the BRM, and the user won't be able to complete the transfer.

In BRM, you can manage and configure the business rules that allow you to delimit the scope of a transaction - that is, the conditions under which that transaction cannot be executed - and which transactions can be executed by different user profiles according to business needs. In BRM, you can personalize the experience for app users by defining user profiles and limiting the operations that can be performed by each profile; besides, you can also control and manage the approval or rejection of those operations based on conditions defined by the client.

You should work in BRM before building the app in Studio. This way, you first define the transactions and the rules applied to them, which are then invoked from Studio.

Using BRM

First of all, you must have BRM installed in your Workspace environment and the permissions to access it. If you don’t have the necessary permissions, contact your admin.

To access BRM, you have two options: enter your credentials on the login page by clicking Log In, or access through Workspace by clicking the platform components grid icon grid_icon.png, find BRM on the list and then selecting the version available.

Tip

In Workspace, you can only access those components you have permissions for.

In both cases, BRM opens by default on the Rules page. You can access any of its sections from the left side menu: Transactions ,Rules, Products, Profiles, , and Evaluation History.

This section describes how to use BRM based on an example where the client asks you to create all the elements from scratch. You can also modify each of the elements configured in BRM in the future, according to the client's needs.

To start working in BRM, first configure the transaction or transactions to be evaluated, either by creating new transactions or editing existing or imported ones. For example, you can create and configure a new transaction for transferring money to third-party accounts (which is associated to the Savings Account product).

Secondly, configure the bank products to which the rule or rules will be applied—such as Credit Card, Savings Account or Investments. For example, you can create and configure a new Savings Account product, and then apply a rule to the transaction involving the use of a savings account (such as the transfer of money to third-party accounts) and the created product.

Then, define the profiles to classify the bank app users and to define which transactions are allowed for each of them. The definition of profiles is directly related to the client's business. For example, if your client is a bank, and it offers personal accounts services, it may ask you to configure three new profiles: Silver, Gold and Black.

Finally, configure the business rules that apply to the transactions, which are evaluated by the BRM system. For example, you create and configure a new business rule to delimit the accumulated amount of USD 3,000 per month. This rule applies only to Silver profile users and to the transactions for transfers to third-party accounts and the Savings Account product created before.

In addition, you can use the Evaluation History section to view and analyze the evaluation of transactions carried out by different profiles. This evaluation includes the transaction details, its result (approved or rejected) and the rules involved in the transaction evaluation.

Interaction with Platform Components

After you configure the different elements required in BRM, you are ready to interact with other platform components to evaluate transactions in the app. BRM interacts with the Veritran platform through Studio and APIs, which allow you to interface the configurations set in BRM in your app.

To apply configurations set in BRM to your app, access your Studio environment and select the branch in which you want to work. You must configure transactions and processes to lastly invoke them from the screens of the app.

Important

Configurations set in BRM can be invoked from Studio through APIs using configurable transactions.

Refer to the sections below to learn more about the interaction with APIs and Studio entities.

APIs allow you to connect with the BRM and therefore, trigger data configured in the system. Each API will be invoked from a Studio transaction. Refer to the list below to learn more about the main APIs that you can use to trigger BRM configurations.

  • During the onboarding process, the first step involves assigning the profile or profiles created in BRM to the app users. Since you cannot assign profiles to users in the BRM, you must invoke the API /put_user.

  • The second step involves obtaining the permissions associated to each user - this means obtaining the information configured for each profile, which is associated to each app user. To achieve this, you invoke the API /get_user.

  • The third step involves evaluating the rules involved in the transaction the user attempts to perform. To do this, you invoke the /evaluate_transaction API, which verifies whether the user has permissions to execute a transaction according to the business rules set to it.

  • The last step involves processing -either execution or rejection- the transaction the user attempted to perform. To do this, you invoke the /process_success_transaction API, which confirms whether the transaction is approved or rejected based on the business rules defined for it.

The first step required to interact with BRM is to create a configurable transaction and call BRM APIs to retrieve the information configured in the BRM system.

To trigger information from BRM, you need a HTTP Request action. In addition, you will use a Script action connected to the HTTP Request action. In the Script Editor of the Script action, complete the parameters required. As an example, find below the parameters to be completed if you want to obtain information about a user, in which case you will use the get_user API, which allows you to get information informing the user ID.

url

Enter the BRM url provided by your IT Client Delivery team member. This URL will consist of the BRM environment set for your client and the API you want to invoke. For this example, the URL would be 'BRM environment URL']/'api/get_user'.

method

Enter the HTTP method. For BRM APIs, the applicable method is POST, which calls the service to send information to be added to or updated in a database.

headers

Enter buildHttpHeaders({    'Content-Type':'application/json',    'X-Customer-ID: [clientID]' , 'Authorization: Bearer [tokenID'}).

Important

INFO DEL TOKEN

body

Enter { "id": "userID"} .

To learn more about how to configure transactions in Studio, read Transactions.

Important

Information about the BRM URL and tokens required in your Studio environment must be provided by your IT Client Delivery team.

Once you configured the transactions that trigger information from your BRM environment, you must configure the processes that will be invoked from your screen. Refer to the instructions below to learn how to set a process.

  1. Go to Branch Edition > Processes.

  2. In the Lambda Processes tab, click + New lambda process.

  3. Configure the basic information about the process in the right panel.

  4. Go to the list of blocks and find the Transactions blocks list. You can also use the search bar and enter Transactions to filter the blocks. Find the Execute transaction block and drag it into the canvas, placing it within the on start block.

  5. Go to the list of blocks and, in the search bar, enter the number or name of the transaction you want to execute. Then, drag and drop it into the Execute transaction block.

  6. Review the input and output values and configure the transaction.

Now you are ready to invoke the processes configured from the screens of your app. To learn more about how to configure lambda processes, read Processes.

Lastly, you have to invoke all processes configured from the different components in the respective screens of your app. Therefore, you will retrieve the information configured from the components of each screen. Refer to the instructions listed below.

  1. Go to the screens of your app. (Overview > Screens or Branch Edition > Screens).

  2. If you need to create a new screen, click + New screen. If you already created the screen, find it in the list double click the screen card or click Design.

  3. In the screens editor, drag and drop the component from which you want to invoke the process. For example, if you want to trigger information from a button, drag and drop a Button component into the canvas.

  4. In the Actions tab of the attributes editor (right panel), go to the Events and Actions section and find the action from which you want to invoke the process. For example, if you want the process to be invoked when the user clicks on the button, go to the On Click action.

  5. Configure action with the process previously set. To learn more about how to configure components in the screens editor, read Screens Editor.