...
Attribute | Type | Required | purpose |
---|---|---|---|
name | string | true | name of user. can be combination of firstname , middle name and lastname |
username | alphanumeric | false | unique identity to identify user. user name will be unique per installation |
password | alphanumeric | true | |
phone | number | conditional | either phone or email is mandatory . but during creation time user can't pass both. |
alphanumeric | conditional | either phone or email is mandatory . but during creation time user can't pass both. | |
userType | string | internal | To identify user is Teacher or Other , as of now there is only two types |
phoneVerified | boolean | internal | will be true only when user verified phone otp |
emailVerified | boolean | internal | will be true only when user verified email otp |
otp | number | false | OTP can be passed during signup |
Self sign up work flow:
- User will enter all mandatory field (name, phone/email, username,password) on consumer portal/app
- Consumer will make call for generate OTP for either phone or email
- OTP Generation will be taken care by Design for One time password (OTP)
- Once User enter OTP, consumer will check OTP basic Validation and then it will call create user APi:
- System will check uniqueness of email/phone , username and OTP , if every thing is ok then it will create user under sunbird.
- if any validation fails then it will throw proper error
Code Block | ||||
---|---|---|---|---|
| ||||
Create User api request body: URI: v2/user/create Method: POST Request body: { "request": { "firstName":"name of user", "email":"valid and unique email id", "phone":"valid phone number", "password":"user password", "username" : "unique user name. Optional", "channel" : "rootOrgchannel value (Optional)"// if user pass it , it must be valid and user will be associated with this as "PUBLIC" role. "organisationId": "", "OTP":"entered OTP by user(optional)", "VerificationType":"it can be OTP , Google , or some state" } } Note: * is username is auto generated unique value or user has to enter it - it's optional for user , if user not providing then system will generate it. * Do we need to take orgId or channel in create user to associate user with another rootOrg? * How to do validation for Indian phone number. As per PRD only Indian phone number is valid. * Are we taking country code as well from user , or always will associate user country code as "+91" * Do we need to make OTP mandatory or optional based on introducing signupType? |
...