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
- SDK initialized and configured. See: Android VipasoSDK
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)