SDK Cooldown

This feature allows the blockage of a verification if the verification comes from the same point of origin.

What you need to know

Currently the SDK Default behavior does not have a restriction to retry a workflow. With the SDK cooldown functionality, more control will be available at the time of the verification creating a restriction for retries that can become potentially unwanted duplicates.

🚧

Is important to have in mind the usage of metadata with this configuration. Without the metadata property, the configuration will not take effect.

Enabling the verification cooldown

The configuration is accessible from the dashboard inside the Workflows section and then going into the workflow that requires a cooldown configuration.

Once inside the workflow at the top right corner in Settings the flow configuration will be displayed and at the bottom identified as Block verification retries.

By default the Block verification retries is not enabled so the cooldown will not be in place if it is not explicitly enabled with the toggle button as shown in the above image.

Configurations

Once the functionality to Block verification retries is enabled, it is possible to choose from:

The Default configuration, which will block all the following attempts of an individual after all the inputs in the workflow were completed.

Block for a certain duration, which will show you a drop down to block any retry from 1 hour up to 24 hours and all attempts will be blocked for the amount of time configured.

After the period of the configuration has been met the individual will be able to retry the process. In the time the workflow is blocked, the screen will be the same as the one above, stating the information has been already processed before.

How to use custom primary metadata key for block verification retires

This section of the configuration will allow to create a key inside the metadata that is going to be used as a unique identifier to detect a duplicated attempt from a successful retry.

To enable the custom primary metadata key the button aligned to the right has to be toggled, below a text box will appear and inside that, a text input is needed. That text input should match the metadata key added in the metadata property in the SDK.

 <mati-button
    clientid="YOUR_CLIENTID"
    flowId="YOUR_CONFIGURED_FLOWID"
    metadata'{"example":"value"}'
 />

Now that both match, the SDK should be able to work the configuration as intended, because the example key is the value that is going to be used to check if the process is being repeated.

📘

This advanced config can help if you use a unique identifier from where you are displaying our SDK in your MobileApp or WebApp to link a customer.

How to use the SDK after the configuration

There are some key considerations for completing a successful configuration.

The usage of metadata property is required to make this configuration work and at least one of the following 2 keys are needed if the custom primary metadata key for block verification retires was not configured.

  • phoneNumber: metadata='{"phoneNumber":"+0 000 00 00 000"}' - use a valid phone number
  • email`: metadata='{"email":"[email protected]"}' - use a valid email
 <mati-button
    clientid="YOUR_CLIENTID"
    flowId="YOUR_CONFIGURED_FLOWID"
    metadata'{"email":"[email protected]","phoneNumber":"+0 000 00 00 000"}'
 />

If there is more than one of the 2 suitable keys in the metadata, the following order will take place:

  1. email
  2. phone

Test your configuration

Once you have the Metadata set is time to test that the workflow is working properly:

  1. Set a webhook endpoint and check that the metadata is getting through each webhook related to the process actioned in the workflow.
  2. After confirming that the metadata is being received, do a full verification process.
  3. The first one should go through without a hassle by providing all of the configured inputs at the dashboard.
  4. The second attempt should be tested after you have a first successful verification.
  5. The successive verification should be tested depending on the configuration chosen (Default or timed).
  6. A successful scenario should provide the following screen in the SDK and the following body inside a webhook.
"body": {
    "metadata": {
        "email": "[email protected]"
    },
    "data": {
        "firstSeen": "2023-11-22T22:46:48.459Z",
        "override": false
    },
    "eventName": "verification_blocked",
    "flowId": "655e4658f3aba8001c3c2240",
    "timestamp": "2023-11-23T00:07:18.513Z"
}