tài liệu
API bảng điều khiển

Đăng nhập và phiên

Markdown

Phương thức, trường yêu cầu và phản hồi.

Hướng dẫn đầy đủ

Phần này có 14 phương thức. Mở phương thức để xem điều kiện truy cập, trường yêu cầu và phản hồi.

Phương thức và đường dẫnMô tảQuyền truy cập
POST /api/v1/auth/forgot-passwordYêu cầu đặt lại mật khẩuKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/loginĐăng nhập bằng email và mật khẩuKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/login/2faHoàn tất đăng nhập bằng TOTPKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/logoutĐăng xuất và thu hồi refresh tokenKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
GET /api/v1/auth/meNgười dùng hiện tại, số dư và giới hạnToken trang quản lý tài khoản
POST /api/v1/auth/passkey/login/beginBắt đầu đăng nhập bằng passkeyKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/passkey/login/finishHoàn tất đăng nhập bằng passkeyKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/refreshLàm mới tokenKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/registerĐăng kýKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/reset-passwordĐặt lại mật khẩuKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/revoke-all-sessionsThu hồi tất cả phiênToken trang quản lý tài khoản
POST /api/v1/auth/send-verify-codeGửi mã xác nhậnKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/validate-invitation-codeKiểm tra lời mờiKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/validate-promo-codeKiểm tra mã khuyến mạiKhông cần đăng nhập; điều kiện bổ sung được ghi ở phương thức
POST /api/v1/auth/forgot-password — Yêu cầu đặt lại mật khẩu

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Giới hạn tần suất: 5 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/forgot-password

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
emailstringcórequired,email
turnstile_tokenstringkhông
Mẫu nội dung yêu cầu
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: ForgotPasswordRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: ForgotPasswordResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/login — Đăng nhập bằng email và mật khẩu

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Tính khả dụng của chức năng và các điều kiện truy cập bổ sung được kiểm tra khi thực hiện yêu cầu.

Giới hạn tần suất: 20 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/login

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
emailstringcórequired,email
passwordstringcórequired
turnstile_tokenstringkhông
Mẫu nội dung yêu cầu
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: LoginRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: TotpLoginResponse, User, AuthResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Nếu có nhiều biến thể phản hồi, các trường của chúng được liệt kê trong các lược đồ riêng; không nên gộp chúng thành một đối tượng.

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/login/2fa — Hoàn tất đăng nhập bằng TOTP

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Tính khả dụng của chức năng và các điều kiện truy cập bổ sung được kiểm tra khi thực hiện yêu cầu.

Giới hạn tần suất: 20 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/login/2fa

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
temp_tokenstringcórequired
totp_codestringcórequired,len=6
Mẫu nội dung yêu cầu
{
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: Login2FARequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: User, AuthResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Nếu có nhiều biến thể phản hồi, các trường của chúng được liệt kê trong các lược đồ riêng; không nên gộp chúng thành một đối tượng.

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/logout — Đăng xuất và thu hồi refresh token

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

POST/api/v1/auth/logout

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
refresh_tokenstringkhông; Tùy chọn: thu hồi token làm mới được chỉ định
Mẫu nội dung yêu cầu
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: LogoutRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: LogoutResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

GET /api/v1/auth/me — Người dùng hiện tại, số dư và giới hạn

Quyền truy cập: Token trang quản lý tài khoản

GET/api/v1/auth/me
Đọc; lấy ID từ phản hồi trước đó của bạn
curl --fail-with-body "https://ailoot.ai/api/v1/auth/me" \
  -H "Authorization: Bearer $TOKEN"

Không cần nội dung yêu cầu. Gửi các tham số nêu trên trong URL.

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: User, UserProfileResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "email": "PLACEHOLDER_EMAIL (string)",
    "username": "PLACEHOLDER_USERNAME (string)",
    "role": "PLACEHOLDER_ROLE (string)",
    "balance": "PLACEHOLDER_BALANCE (number)",
    "frozen_balance": "PLACEHOLDER_FROZEN_BALANCE (number)",
    "concurrency": "PLACEHOLDER_CONCURRENCY (integer)",
    "status": "PLACEHOLDER_STATUS (string)",
    "last_active_at": "PLACEHOLDER_LAST_ACTIVE_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "deleted_at": "PLACEHOLDER_DELETED_AT (string)",
    "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
    "balance_notify_threshold_type": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD_TYPE (string)",
    "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)",
    "balance_notify_extra_emails": "PLACEHOLDER_BALANCE_NOTIFY_EXTRA_EMAILS (array)",
    "total_recharged": "PLACEHOLDER_TOTAL_RECHARGED (number)",
    "rpm_limit": "PLACEHOLDER_RPM_LIMIT (integer)",
    "api_keys": "PLACEHOLDER_API_KEYS (array)",
    "avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
    "email_bound": "PLACEHOLDER_EMAIL_BOUND (boolean)"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: Giới hạn chi tiêu của khóa (quota, quota_used) nằm trong phản hồi về khóa, không nằm trong hồ sơ. frozen_balance là số tiền đã giữ trước, không thể coi là số dư khả dụng.

POST /api/v1/auth/passkey/login/begin — Bắt đầu đăng nhập bằng passkey

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Tính khả dụng của chức năng và các điều kiện truy cập bổ sung được kiểm tra khi thực hiện yêu cầu.

Giới hạn tần suất: 20 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/passkey/login/begin

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
turnstile_tokenstringkhông
Mẫu nội dung yêu cầu
{
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: PasskeyBeginLoginRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: PasskeyOptionsResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
    "options": "PLACEHOLDER_OPTIONS (any)"
  }
}

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

Đặc điểm: credential được lấy từ navigator.credentials; session_token từ begin. Nội dung Finish <=65536 byte; đăng ký và xóa cần mật khẩu.

POST /api/v1/auth/passkey/login/finish — Hoàn tất đăng nhập bằng passkey

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Tính khả dụng của chức năng và các điều kiện truy cập bổ sung được kiểm tra khi thực hiện yêu cầu.

Giới hạn tần suất: 20 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/passkey/login/finish

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
session_tokenstringcórequired
namestringkhông
credentialobjectcórequired
Mẫu nội dung yêu cầu
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "credential": "PLACEHOLDER_CREDENTIAL (object)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: PasskeyFinishRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: User, AuthResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Nếu có nhiều biến thể phản hồi, các trường của chúng được liệt kê trong các lược đồ riêng; không nên gộp chúng thành một đối tượng.

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

Đặc điểm: credential được lấy từ navigator.credentials; session_token từ begin. Nội dung Finish <=65536 byte; đăng ký và xóa cần mật khẩu.

POST /api/v1/auth/refresh — Làm mới token

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Tính khả dụng của chức năng và các điều kiện truy cập bổ sung được kiểm tra khi thực hiện yêu cầu.

Giới hạn tần suất: 30 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/refresh

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
refresh_tokenstringcórequired
Mẫu nội dung yêu cầu
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: RefreshTokenRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: RefreshTokenResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "access_token": "PLACEHOLDER_ACCESS_TOKEN (string)",
    "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)",
    "expires_in": "PLACEHOLDER_EXPIRES_IN (integer)",
    "token_type": "PLACEHOLDER_TOKEN_TYPE (string)"
  }
}

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/register — Đăng ký

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Giới hạn tần suất: 5 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/register

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
emailstringcórequired,email
passwordstringcórequired,min=6
verify_codestringkhông
turnstile_tokenstringkhông
promo_codestringkhông; Mã khuyến mại khi đăng ký
invitation_codestringkhông; Mã lời mời
Mẫu nội dung yêu cầu
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "verify_code": "PLACEHOLDER_VERIFY_CODE (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)",
  "promo_code": "PLACEHOLDER_PROMO_CODE (string)",
  "invitation_code": "PLACEHOLDER_INVITATION_CODE (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: RegisterRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: User, AuthResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Nếu có nhiều biến thể phản hồi, các trường của chúng được liệt kê trong các lược đồ riêng; không nên gộp chúng thành một đối tượng.

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/reset-password — Đặt lại mật khẩu

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Giới hạn tần suất: 10 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/reset-password

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
emailstringcórequired,email
tokenstringcórequired
new_passwordstringcórequired,min=6
Mẫu nội dung yêu cầu
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "token": "PLACEHOLDER_TOKEN (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: ResetPasswordRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: ResetPasswordResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/revoke-all-sessions — Thu hồi tất cả phiên

Quyền truy cập: Token trang quản lý tài khoản

POST/api/v1/auth/revoke-all-sessions

Không cần nội dung yêu cầu.

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: RevokeAllSessionsResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Đặc điểm: Mọi dữ liệu cá nhân và đối tượng đều được giới hạn theo chủ thể JWT.

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/send-verify-code — Gửi mã xác nhận

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Giới hạn tần suất: 5 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/send-verify-code

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
emailstringcórequired,email
turnstile_tokenstringkhông
Mẫu nội dung yêu cầu
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: SendVerifyCodeRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: SendVerifyCodeResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "PLACEHOLDER_MESSAGE (string)",
    "countdown": "PLACEHOLDER_COUNTDOWN (integer)"
  }
}

Đặc điểm: Thao tác thay đổi trạng thái hoặc tiếp tục quy trình ủy quyền dùng một lần; ví dụ mô tả hợp đồng và không được thực thi.

POST /api/v1/auth/validate-invitation-code — Kiểm tra lời mời

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Tính khả dụng của chức năng và các điều kiện truy cập bổ sung được kiểm tra khi thực hiện yêu cầu.

Giới hạn tần suất: 10 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/validate-invitation-code

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
codestringcórequired
Mẫu nội dung yêu cầu
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: ValidateInvitationCodeRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: ValidateInvitationCodeResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)"
  }
}

Đặc điểm: Phương thức kiểm tra lời mời và không tiêu thụ mã; ví dụ mô tả hợp đồng API và không được thực thi.

POST /api/v1/auth/validate-promo-code — Kiểm tra mã khuyến mại

Quyền truy cập: Không cần đăng nhập; điều kiện bổ sung được ghi ở phương thức

Tính khả dụng của chức năng và các điều kiện truy cập bổ sung được kiểm tra khi thực hiện yêu cầu.

Giới hạn tần suất: 10 yêu cầu trong 60 giây từ một địa chỉ.

POST/api/v1/auth/validate-promo-code

Các trường JSON / biểu mẫu

TrườngKiểuBắt buộcKiểm tra / mô tả
codestringcórequired
Mẫu nội dung yêu cầu
{
  "code": "PLACEHOLDER_CODE (string)"
}

PLACEHOLDER biểu thị dữ liệu bạn nhập và kiểu dữ liệu đó. Thay các giá trị và chỉ giữ những trường tùy chọn cần thiết; không gửi chuỗi đánh dấu thay cho số, boolean, đối tượng hoặc mảng.

Lược đồ yêu cầu: ValidatePromoCodeRequest

Phản hồi

Phản hồi JSON chứa code, message và data. Nội dung data được mô tả trong các lược đồ bên dưới.

Lược đồ dữ liệu phản hồi: ValidatePromoCodeResponse. Các trường và kiểu dữ liệu nằm trên trang “Lược đồ dữ liệu”.

Lược đồ phản hồi, các giá trị chỉ để minh họa
{
  "code": 0,
  "message": "success",
  "data": {
    "valid": "PLACEHOLDER_VALID (boolean)",
    "bonus_amount": "PLACEHOLDER_BONUS_AMOUNT (number)",
    "error_code": "PLACEHOLDER_ERROR_CODE (string)",
    "message": "PLACEHOLDER_MESSAGE (string)"
  }
}

Đặc điểm: Phương thức kiểm tra mã khuyến mãi và không cộng thưởng; ví dụ mô tả hợp đồng API và không được thực thi.

Đăng nhập và phiên · 2FA

POST /api/v1/auth/login → data

  • data.requires_2fa === true → TotpLoginResponse → data.temp_token → POST /api/v1/auth/login/2fa · {"temp_token": "…", "totp_code": "…"} → data.access_token
  • data.access_token → AuthResponse → Authorization: Bearer $TOKEN

totp_code: string, len = 6. temp_token ≠ access_token. User

Còn câu hỏi? Hãy gửi Request ID và mô tả — chúng tôi sẽ giúp tìm hiểu.Liên hệ hỗ trợ