CRMKhách hàng

Đổi số điện thoại

Quy trình đổi số điện thoại đang liên kết với tài khoản qua 2 bước (Xác thực OTP).

Nhằm đảm bảo bảo mật, việc đổi số điện thoại yêu cầu khách hàng phải xác thực OTP gửi về số điện thoại mới.


Headers

KeyValueBắt buộcMô tả
SiteTenantId{tenant_id}CóID của công ty/tenant.
SiteAuthorization{jwt_token}CóToken định danh khách hàng.

Bước 1: Khởi tạo đổi số điện thoại

POST /site/customers/updatephoneinit

Logic xử lý

  1. Kiểm tra số điện thoại mới (new_phone) chỉ gồm chữ số, khác số hiện tại và chưa được khách hàng khác trong shop sử dụng.
  2. Tạo mã OTP (6 số, hiệu lực 5 phút) gắn với new_phone và passport_id.
  3. Gửi OTP tới số điện thoại mới.
  4. Trả về passport_id.

Request Body

{
  "new_phone": "0933445566"
}

Response Schema (200)

{
  "id": "uuid-string",
  "company_id": 123,
  "passport_id": "passport-id-string",
  "full_name": "Nguyễn Văn A",
  "phone": "0933445566",
  "otp_length": 6,
  "date_created": 1734924700,
  "date_expired": 1734925000,
  "metadata": {
    "action": "update-phone"
  }
}

Bước 2: Hoàn tất đổi số điện thoại

POST /site/customers/updatephonefinish

Lưu ý: Bước này yêu cầu Header SiteAuthorization để xác định tài khoản đang thực hiện thay đổi.

Logic xử lý

  1. Kiểm tra lại new_phone như Bước 1, sau đó xác thực OTP dựa trên new_phone, passport_id và mã otp khách hàng nhập.
  2. Cập nhật số điện thoại mới vào tài khoản đang đăng nhập.

Request Body

{
  "new_phone": "0933445566",
  "passport_id": "passport-id-string",
  "otp": "123456"
}

Response Schema (200)

Trả về Customer Object với số điện thoại đã thay đổi.


Lỗi thường gặp (422)

Mã lỗiMô tả
error_new_phone_requiredChưa nhập số điện thoại mới.
error_new_phone_invalidSố điện thoại mới sai định dạng.
error_new_phone_same_as_currentSố mới trùng số hiện tại.
error_new_phone_already_registeredSố điện thoại mới đã được sử dụng bởi tài khoản khác.
error_passport_id_required(Bước 2) Thiếu passport_id.
error_otp_required(Bước 2) Thiếu otp.
error_passport_otp_not_found(Bước 2) Phiên OTP không tồn tại hoặc đã hết hạn.
error_otp_invalid(Bước 2) Mã OTP không chính xác.

Lỗi hệ thống (500): error_save_passport, lỗi gửi tin nhắn OTP (Bước 1), error_update_phone (Bước 2).

On this page