Skip to main content
Version: Next

Registering a Vipaso Customer

To create a Vipaso Customer, you complete a multi-step registration flow: create a registration flow, verify the user's phone number with an OTP code, and finalize the signup by providing user information.

Prerequisites

1) Start Signup Flow

Begin the signup by providing the phone number. An OTP will be sent to this number.

import io.vipaso.vipaso.sdkApi.user.customer.request.StartSignupRequest
import io.vipaso.vipaso.sdkApi.user.customer.response.StartSignupResponse

val signupRequest = StartSignupRequest(phoneNumber = "+1234567890")
val signupResponse: StartSignupResponse = Vipaso.user.customer.startSignupFlow(signupRequest)
// signupResponse.flowId will be needed in the next step

2) Verify Phone Number

Verify the OTP received on the phone number.

import io.vipaso.vipaso.sdkApi.user.customer.request.VerifyPhoneNumberRequest
import io.vipaso.vipaso.sdkApi.user.customer.response.VerifyPhoneNumberResponse

val verifyRequest = VerifyPhoneNumberRequest(
flowId = signupResponse.flowId,
otp = "123456"
)
val verifyResponse: VerifyPhoneNumberResponse = Vipaso.user.customer.verifyPhoneNumber(verifyRequest)

3) Finalize Signup Flow

Finalize the signup by sending the collected user details.

import io.vipaso.vipaso.sdkApi.user.customer.request.FinishSignupRequest
import io.vipaso.vipaso.sdkApi.user.customer.response.FinishSignupResponse

val finishRequest = FinishSignupRequest(
flowId = verifyResponse.flowId,
password = "secure_password",
email = "user@example.com",
// 'name' is deprecated; use firstName and lastName instead
firstName = "John",
lastName = "Doe",
phoneNumber = "+1234567890"
)
val signupResult: FinishSignupResponse = Vipaso.user.customer.finalizeSignupFlow(finishRequest)