CRMKhách hàng

Quên mật khẩu / Khôi phục

Quy trình lấy lại mật khẩu thông qua xác thực số điện thoại (OTP).

Quy trình khôi phục mật khẩu gồm 2 giai đoạn chính: Gửi OTP xác thực và Đặt mật khẩu mới.


Headers

KeyValueBắt buộcMô tả
SiteTenantId{tenant_id}CóID của công ty/tenant.

Bước 1: Khởi tạo khôi phục

POST /site/customers/recoveryinit

Logic xử lý

  1. Kiểm tra số điện thoại có tồn tại trong shop hiện tại không.
  2. Tạo mã OTP (6 số, hiệu lực 5 phút).
  3. Gửi OTP qua tin nhắn (ZNS/SMS).
  4. Trả về passport_id.

Request Body

{
  "phone": "0912345678"
}

Response Schema (200)

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

Bước 2: Đặt mật khẩu mới

POST /site/customers/recoveryfinish

Logic xử lý

  1. Kiểm tra lại số điện thoại, mật khẩu mới phải có ít nhất 7 ký tự.
  2. Xác thực OTP qua phone, passport_id và mã otp. OTP chỉ dùng được một lần.
  3. Nếu đúng, tiến hành cập nhật mật khẩu mới (password) cho khách hàng.

Request Body

{
  "phone": "0912345678",
  "passport_id": "passport-id-string",
  "otp": "123456",
  "password": "MậtKhẩuMớiMạnh"
}

Response Schema (200)

Trả về Customer Object.


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

Mã lỗiMô tả
error_phone_requiredChưa nhập số điện thoại.
error_phone_invalidSố điện thoại sai định dạng.
error_account_not_foundSố điện thoại chưa được đăng ký trong hệ thống.
error_password_length_invalid(Bước 2) Mật khẩu mới ngắn hơn 7 ký tự.
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_invalidSai mã xác nhận.

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

On this page