Skip to main content

Profile Management

This guide explains how to manage customer profiles in the Sumaya369 application.

Get Profile

Endpoint

  • Method: GET
  • URL: /v1/customer/profile

Request Headers

HeaderValueRequired
Content-Typeapplication/jsonYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Success Response

{
"success": true,
"message": "تم جلب البيانات بنجاح.",
"data": {
"user": {
"id": "0a79add0-f3ae-11ef-bee7-8bfdde00797d",
"username": "testing_1",
"first_name": null,
"last_name": null,
"full_name": "Ahmed Mohammad",
"email": "testing@gmail.com",
"birth": null,
"phone": "966555545539",
"phone_code": "+966",
"gender": null,
"avatar": "https://i.ibb.co/YhTw0wR/7-512.png",
"role": "customer",
"country_id": "18e1ceab-f28a-4fcc-929f-526b8f6e1557",
"country_name": "السعودية",
"created_at": "2025-02-25 22:23:49",
"updated_at": "2025-02-25 22:41:20",
"has_completed_profile": true,
"cart_count": 0,
"level_name": "نقاطي",
"level_icon": "https://sumaya369-testing-media.s3.us-east-2.amazonaws.com/4090/0--%D8%A7%D9%84%D9%86%D9%82%D8%A7%D8%B7---%D8%B9%D8%A7%D9%85-%D9%84%D9%84%D8%AC%D9%85%D9%8A%D8%B9-%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%AF%D8%AE%D9%88%D9%84-%D9%84%D8%A3%D9%8A-%D9%85%D8%B3%D8%AA%D9%88%D9%89.png",
"permissions": null,
"groups_application_request": "unknown",
"groups_application_request_id": "unknown",
"gar_information": "unknown",
"is_alert_closed": false,
"social_media": {
"facebook": {
"username": null,
"status": null
},
"tiktok": {
"username": null,
"status": null
},
"instagram": {
"username": null,
"status": null
},
"twitter": {
"username": null,
"status": null
}
}
}
},
"status_code": 200
}

Update Profile

Endpoint

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

Request Headers

HeaderValueRequired
Content-Typemultipart/form-dataYes
Acceptapplication/jsonYes
AuthorizationBearer tokenYes

Request Body

ParameterTypeDescriptionRequired
usernamestringUnique username (3-255 characters)No
full_namestringFull name (3-255 characters)No
emailstringValid unique email addressNo
phonestringValid unique phone number (7-15 digits)No
birthstringBirth date (Y-m-d format)No
old_passwordstringCurrent password (min 6 characters)No
new_passwordstringNew password (min 6 characters)Required with old_password
new_password_confirmationstringConfirm new passwordRequired with new_password
avatarfileProfile image (jpeg,png,jpg, max 1MB)No
genderstringGender (FEMALE or MALE)No
country_idintegerValid country IDNo
social_media[facebook]stringFacebook usernameNo
social_media[twitter]stringTwitter usernameNo
social_media[instagram]stringInstagram usernameNo
social_media[tiktok]stringTikTok usernameNo

Success Response

{
"success": true,
"message": "تم تحديث البيانات بنجاح.",
"data": {
"id": "0a79add0-f3ae-11ef-bee7-8bfdde00797d",
"username": "testing_1",
"first_name": null,
"last_name": null,
"full_name": "Ahmed Mohammad",
"email": "testing@gmail.com",
"birth": "1993-12-31",
"phone": "966555545539",
"phone_code": "+966",
"gender": "ذكر",
"avatar": "https://i.ibb.co/g4BR50S/avatar.png",
"role": "customer",
"country_id": "18e1ceab-f28a-4fcc-929f-526b8f6e1557",
"country_name": "السعودية",
"created_at": "2025-02-25 22:23:49",
"updated_at": "2025-02-26 04:26:36",
"has_completed_profile": true,
"cart_count": 0,
"level_name": "نقاطي",
"level_icon": "https://sumaya369-testing-media.s3.us-east-2.amazonaws.com/4090/0--%D8%A7%D9%84%D9%86%D9%82%D8%A7%D8%B7---%D8%B9%D8%A7%D9%85-%D9%84%D9%84%D8%AC%D9%85%D9%8A%D8%B9-%D9%82%D8%A8%D9%84-%D8%A7%D9%84%D8%AF%D8%AE%D9%88%D9%84-%D9%84%D8%A3%D9%8A-%D9%85%D8%B3%D8%AA%D9%88%D9%89.png",
"permissions": null,
"groups_application_request": "unknown",
"groups_application_request_id": "unknown",
"gar_information": null,
"is_alert_closed": false,
"social_media": {
"facebook": {
"username": null,
"status": null
},
"tiktok": {
"username": null,
"status": null
},
"instagram": {
"username": null,
"status": null
},
"twitter": {
"username": null,
"status": null
}
}
},
"status_code": 200
}

Error Responses

Invalid Old Password (422)

{
"success": false,
"message": "كلمة السر الحالية لا تطابق كلمة سر المستخدم",
"errors": "كلمة السر الحالية لا تطابق كلمة سر المستخدم",
"data": null,
"status_code": 422
}

Implementation Notes

  • The profile update endpoint supports partial updates
  • Password update requires both old and new password
  • Social media usernames must be unique across all users
  • Country ID cannot be updated for users from Saudi Arabia
  • Avatar file size is limited to 1MB
  • Phone numbers must be unique and valid
  • Email addresses must be unique and properly formatted