Initiates a verification process for a specific customer attribute, such as email or phone.
The verification process is closely linked to a specific customer attribute. Each initiation creates a new process, but if the customer attribute is the same, the currentProcesses will be incremented. A new process can only be initiated a limited number of times, as defined by allowableProcesses. If this limit is exceeded, an error will be returned, and the same customer attribute cannot be verified for a certain period of time. After the cooldown period ends, the currentProcesses are reset, and the verification process can be started again.
Only the most recent verification process linked to a specific customer attribute is marked as active, while all previous ones are marked as failed. The process status is determined by the latest verification attempt associated with it.
A verification process may have a predefined expiration time. After this period (if applicable), the process will be automatically marked as expired, and a new one must be started to complete the verification process for the same customer attribute, adhering to the same rules previously described.
The request payload for initiating a verification process.
A promise that resolves to the newly created verification process.
Submits a verification attempt for a specific customer attribute tied to an already initiated verification process.
Once a verification process for a specific customer attribute is initiated and active (not expired or failed), the user has a limited number of attempts to complete it (e.g., enter the OTP code sent via email), as defined by the allowableAttempts. Each new verification attempt increments the currentAttempts count until it reaches the predefined limit. When the limit is reached, no further verification attempts for the same process are accepted and are automatically denied. There is no cooldown period, and the verification process is marked as failed. To retry the verification, a new verification process must be started, and the user can attempt the verification again.
A unique identifier for the verification process associated with a particular customer attribute.
The request payload for submitting a verification attempt.
A promise that resolves to the newly created verification attempt submission.
StaticgetFunctionRetrieves the singleton instance of the CustomerDataVerificationService class.
The singleton instance of the CustomerDataVerificationService class.
Service class for managing customer data verification operations.