Skip to main content

Sign Up

This guide explains how to implement user registration in the Calwe application.

Request Verification Code

Endpoint

  • Method: POST
  • URL: /v1/customer/register

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes

Request Body

ParameterTypeDescriptionRequired
first_namestringUser's first nameYes
last_namestringUser's last nameYes
emailstringUser's email addressYes
email_confirmationstringUser's email address confirmationYes
passwordstringUser's passwordYes
password_confirmationstringUser's password confirmationYes
phonestringUser's phoneYes
genderstringUser's genderYes
birth_datestringUser's birth dateYes
national_idstringUser's nationalYes
accept_termsstringUser's accept termsYes

Success Response

{
"success": true,
"message": "تم التسجيل بنجاح.",
"data": {
"id": "uuid",
"firstName": "Ahmed",
"lastName": "Mohammed",
"email": "customer@gmail.com",
"birthDate": "1993/12/31",
"phone": "500666755",
"gender": "ذكر",
"avatar": "https://i.ibb.co/g4BR50S/avatar.png",
"acceptTerms": true
},
"statusCode": 200
}

Error Responses

Email And Phone Are Already Exists (422)

{
"success": false,
"message": "حدث خطأ في البيانات المرسلة يرجى التحقق منها.",
"errors": {
"email": "قيمة البريد الإلكتروني مُستخدمه من قبل.",
"phone": "قيمة رقم الهاتف مُستخدمه من قبل."
},
"data": [],
"statusCode": 422
}

Invalid Email Format (422)

{
"success": false,
"message": "حدث خطأ في البيانات المرسلة يرجى التحقق منها.",
"errors": {
"email": "صيغة البريد الإلكتروني غير صحيحة."
},
"data": [],
"statusCode": 422
}

Activate Email Account

Endpoint

  • Method: POST
  • URL: /v1/customer/activate-account

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes

Request Body

ParameterTypeDescriptionRequired
emailstringEmail address used in signup requestYes
tokenstringVerification code received via emailYes

Success Response

{
"success": true,
"message": "تم تفعيل بريدك الإلكتروني بنجاح.",
"data": {
"email": "exaple@gmail.com"
},
"statusCode": 200
}

Error Responses

Invalid Code (422)

{
"success": false,
"message": "رمز التنشيط هذا غير صالح.",
"errors": {
"token": "رمز التنشيط هذا غير صالح."
},
"data": [],
"statusCode": 422
}

Phone Verification

Endpoint

  • Method: POST
  • URL: /v1/customer/phone-verification

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes

Request Body

ParameterTypeDescriptionRequired
phone_verified_codestringVerification code received via phoneYes

Success Response

{
"success": true,
"message": "تم التحقق من الكود بنجاح",
"data": {
"phone": "500886779"
},
"statusCode": 200
}

Error Responses

Invalid Code (422)

{
"success": false,
"message": "كود التفعيل غير صحيح",
"data": [],
"statusCode": 301
}

Change Phone Number

Endpoint

  • Method: POST
  • URL: /v1/customer/change-phone-number

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequiredValidation Rules
phonestringNew phone numberYesrequired, phone:SA,unique:mentors,phone

Success Response

{
"success": true,
"message": "تم تغيير رقم الهاتف بنجاح",
"data": [],
"statusCode": 200
}

Error Responses

Validation Error (422)

{
"success": false,
"message": "بيانات غير صحيحة",
"data": {
"phone": [
"رقم الهاتف غير صحيح",
"رقم الهاتف مسجل مسبقاً"
]
},
"statusCode": 422
}

Example Implementation Flow

  1. User fill its data information
  2. Application Sends Activate Email And Phone Verification
  3. User receives verification code via email