User Registration Process

The user registration process within our system comprises several critical stages designed to ensure both security and compliance with relevant regulations.

1. Creating and Verifying a New User Account

Step 1: Initiating the Registration Process

Description: Users must provide their details to create a new account in the system. To start the registration process, the initial request should be made without the emailConfirmCode parameter, which triggers sending a confirmation code to the user's email. After receiving the code, a second request must be made with the confirmation code.

API Endpoint: Create New User

Body Parameters:

  • email (string): Email address of the user.
  • password (string, required): Password for the user account.
  • userType (string, required): Defaults to CUSTOMER. Type or role of the user.

Headers:

  • partnerId (int32, required): The partner ID required to create a user, provided by the Key Account Manager.

❗️

Password Requirements:

  • Length: 8 to 32 characters
  • Must contain both lowercase and uppercase Latin letters
  • Must include at least 1 number
  • Must contain at least 1 symbol (e.g., !, @, #, $)

Example Request without emailConfirmCode:

{
  "userType": "CUSTOMER",
  "email": "[email protected]",
  "password": "A9#bL8@z"
}

Response: Indicates that the registration process has started, and the next request should include emailConfirmCode.

Example Response:

{}

Step 2: Completing the User Account Creation

Step 2.1: Confirming the Email Address

API Endpoint: Create New User

Body Parameters:

  • email (string): Email address of the user.
  • emailConfirmCode (string): Code used to confirm the email address. For Sandbox, the code is always 12345.
  • password (string, required): Password for the user account.
  • userType (string, required): Defaults to CUSTOMER. Type or role of the user.

Headers:

  • partnerId (int32, required): The partner ID required to create a user, provided by the Key Account Manager. This should be the same header used in Step 1.

Example Request:

{
  "userType": "CUSTOMER",
  "email": "[email protected]",
  "password": "A9#bL8@z",
  "emailConfirmCode": "12345"  // For Sandbox, this value is fixed.
}

Example Response:

{
  "access_token": "eyJraWQiOisdvsdviOiJKV1QiLCJhb1joiYWNjb3VudHM6Y3JlYX1joiYWNjb3VudHM6Y3JlYXGciOiJSUzI1s",
  "token_type": "Bearer",
  "refresh_token": "eyJraWQiOiU2OTQ4ZC1joiYWNjb3VudHM6Y3JlYXRlIGFjU",
  "scope": "accounts:create accounts:read accounts:show ...",
  "expires_in": 86400,
  "user_id": "usr:f2e6948d-cb6a-4a6a-beb8-94svdsvs45"
}

User Registration Video Guide

Step 3: SUMSUB Verification

Description: For further processing, it is mandatory to complete the SUMSUB verification. You can learn more about completing the verification here.

Step 4: Subscription

Subscriptions are a powerful tool for delivering value to users on a recurring basis. If implementing subscriptions aligns with your business model, you can integrate a subscription system to manage various tiers and payment workflows efficiently.

Key Actions:

  1. Retrieve available subscription tiers using the Get Subscriptions Info endpoint.
  2. Start a subscription by specifying the accountId and subscriptionDetailsId through the Start Subscription endpoint.
  3. Process the subscription payment using the invoiceId provided, via the Payment Get or Create and Pay Invoice endpoints.

For a comprehensive guide on setting up and managing subscriptions, refer to the official documentation: Subscription Flow.