Cấu hình cửa hàng

Danh sách key cấu hình

Các key cấu hình theo cửa hàng: email/SMTP, theme storefront, đăng nhập khách hàng (SSO), URL ứng dụng

Các key dưới đây được đọc/ghi qua Danh sách cấu hình và Lưu cấu hình với cặp group + key tương ứng. Mọi giá trị đều là chuỗi.

Giá trị rỗng = dùng mặc định hệ thống

Tất cả các key trong trang này đều không bắt buộc. Nếu chưa lưu hoặc để trống (""), cửa hàng dùng mặc định hệ thống của Hubport (hoặc của máy chủ riêng nếu bạn dùng bản cài đặt riêng). Giá trị rỗng luôn hợp lệ khi lưu.

Khi lưu, hệ thống tự chuẩn hoá giá trị: bỏ khoảng trắng hai đầu (trừ secret), giá trị boolean JSON true/false được lưu thành "1"/"0", các key *_method được viết hoa, smtp_ssl được viết thường. Giá trị không đổi so với giá trị đang lưu thì không bị kiểm lại.

Email gửi đi (group email)

KeyKiểuGiá trị hợp lệMô tả
email_custom_enablestring (cờ)1/0 (cũng nhận true/false, yes/no, on/off)Bật cấu hình email riêng của cửa hàng. Tắt hoặc để trống = dùng email hệ thống, mọi key bên dưới bị bỏ qua
email_from_namestringTối đa 255 ký tự, không chứa ký tự xuống dòng/ký tự điều khiểnTên người gửi hiển thị
email_from_emailstringEmail hợp lệ, tối đa 254 ký tựĐịa chỉ người gửi (From). Chỉ được dùng khi gửi qua SMTP riêng của cửa hàng (xem quy tắc bên dưới)
email_replyto_emailstringEmail hợp lệ, tối đa 254 ký tựĐịa chỉ nhận trả lời (Reply-To)
smtp_serverstringTên miền hoặc IP, không kèm scheme/cổng/đường dẫn (vd smtp.example.com)Máy chủ SMTP riêng. Để trống = gửi qua SMTP của hệ thống
smtp_portstringSố 1–65535. Trên Hubport SaaS chỉ chấp nhận 25, 465, 587, 2525Cổng SMTP. Để trống: 465 nếu smtp_ssl=ssl, ngược lại 587
smtp_sslstringssl, tls hoặc rỗngssl: kết nối SMTPS. tls: bắt buộc STARTTLS. Rỗng: cổng 465 dùng SMTPS, cổng khác tự dùng STARTTLS nếu máy chủ hỗ trợ
smtp_usernamestringTối đa 255 ký tự, không chứa ký tự điều khiểnTài khoản đăng nhập SMTP
smtp_passwordstringTối đa 4096 ký tự, không chứa ký tự điều khiểnMật khẩu SMTP. Chỉ ghi: API luôn trả ***; gửi lại *** = giữ nguyên mật khẩu cũ

Quy tắc chọn máy chủ gửi và địa chỉ người gửi

Trường hợpMáy chủ SMTPFrom (email)From (tên)Reply-To
email_custom_enable tắt / trốngHệ thốngHệ thốngHệ thống(không đặt)
email_custom_enable=1, smtp_server trốngHệ thốngLuôn là email hệ thống (không cho gửi bằng tên miền khác qua SMTP hệ thống)email_from_name (nếu có)email_replyto_email, nếu trống thì email_from_email
email_custom_enable=1, có smtp_serverSMTP riêng của cửa hàngemail_from_email → smtp_username (nếu là email) → email hệ thốngemail_from_name → tên hệ thốngemail_replyto_email

Hubport SaaS

Trên Hubport SaaS, smtp_server phải là máy chủ công khai trên Internet (không chấp nhận địa chỉ IP nội bộ, loopback, link-local...) và cổng phải thuộc 25, 465, 587, 2525. Sau khi lưu, dùng Gửi email thử để kiểm tra cấu hình.

Website / Storefront (group website)

KeyKiểuGiá trị hợp lệMô tả
website_themestringMột giá trị trong danh sách của Danh sách themeTheme của storefront. Để trống = dùng theme mặc định (trường default của danh sách theme)
website_domainstringTên miền hợp lệ, tối đa 253 ký tựTên miền storefront của cửa hàng. Hệ thống lưu dạng đã chuẩn hoá (chữ thường, bỏ http:///https://, đường dẫn, cổng, dấu chấm cuối; giữ www.). Mỗi tên miền chỉ thuộc về một cửa hàng. Trên Hubport SaaS, website do Hubport chạy không dùng key này: tên miền riêng được thêm và xác minh ở Tên miền website

Đăng nhập khách hàng storefront - SSO (group customer_sso)

Cho phép storefront xác thực khách hàng bằng hệ thống tài khoản bên ngoài của bạn (chế độ remote_api) thay vì tài khoản khách hàng của Hubport (chế độ internal).

KeyKiểuGiá trị hợp lệMô tả
customer_sso_enabledstring (cờ)1/0 (cũng nhận true/false, yes/no, on/off)Bật SSO khách hàng
customer_sso_auth_modestringinternal, remote_apiChế độ xác thực. Chỉ dùng API bên ngoài khi customer_sso_enabled=1 và customer_sso_auth_mode=remote_api
customer_sso_remote_api_auth_urlstringURL tuyệt đối http/https, tối đa 2000 ký tự, không chứa user:pass@API xác thực (đăng nhập)
customer_sso_remote_api_auth_methodstringGET, POST, PUTMethod gọi API xác thực. Trống = POST
customer_sso_remote_api_register_urlstringNhư trênAPI đăng ký / kiểm tra tài khoản tồn tại
customer_sso_remote_api_register_methodstringGET, POST, PUTTrống = POST
customer_sso_remote_api_change_password_urlstringNhư trênAPI đổi / đặt lại mật khẩu
customer_sso_remote_api_change_password_methodstringGET, POST, PUTTrống = POST
customer_sso_remote_api_header_namestring^[A-Za-z0-9-]{1,64}$; không được là header hệ thống (vd Host, Cookie, Content-Type, User-Agent, X-Forwarded-*, Proxy-*...)Tên header mang token khi Hubport gọi API của bạn
customer_sso_remote_api_tokenstringTối đa 4096 ký tự, không chứa ký tự điều khiểnGiá trị header xác thực. Chỉ ghi: API luôn trả ***; gửi lại *** = giữ nguyên giá trị cũ

Lưu ý

Khi cửa hàng đã lưu key customer_sso_enabled (kể cả giá trị 0), toàn bộ cấu hình SSO được lấy từ cấu hình của cửa hàng, không trộn với mặc định hệ thống. Chưa lưu key này thì dùng mặc định hệ thống. Trên Hubport SaaS, các URL phải là https và trỏ tới máy chủ công khai; lưu URL nội bộ trả lỗi error_<key>_not_allowed.

Hợp đồng API bên ngoài (chế độ remote_api)

Hubport gọi URL đã cấu hình với header Content-Type: application/json, Accept: application/json, header xác thực <customer_sso_remote_api_header_name>: <customer_sso_remote_api_token> (nếu có) và body JSON như sau:

Hành độngURL dùngBody gửi điPhản hồi thành công mong đợi (HTTP 2xx)
Đăng nhập..._auth_url{"phone", "password", "company_id"}{"success": true, "data": {"id", "full_name", "phone", "email"}}
Đăng ký..._register_url{"phone", "password", "company_id", "fullname", "email"}{"success": true}
Kiểm tra tài khoản tồn tại..._register_url{"action": "check", "phone", "company_id"}{"success": true, "exists": true/false}
Đổi mật khẩu..._change_password_url{"company_id", "phone", "email", "customer_id", "customer_code", "old_password", "new_password"}{"success": true}
Đặt lại mật khẩu..._change_password_url{"phone", "company_id", "new_password"}{"success": true}

Khi thất bại, API của bạn có thể trả {"success": false, "message": "..."}; nội dung message (tối đa 255 ký tự, đã bỏ HTML) được trả về trong danh sách lỗi (error) của storefront thay cho mã lỗi mặc định.

URL ứng dụng (group system)

KeyKiểuGiá trị hợp lệMô tả
admin_app_urlstringURL tuyệt đối http/https, tối đa 2000 ký tựĐịa chỉ trang quản trị của cửa hàng, dùng để tạo liên kết trong email (vd email mời nhân viên), liên kết đơn hàng, phiếu soạn hàng... Để trống = địa chỉ mặc định của hệ thống
pos_app_urlstringURL tuyệt đối http/https, tối đa 2000 ký tựĐịa chỉ ứng dụng POS của cửa hàng. Để trống = địa chỉ mặc định của hệ thống

Ví dụ lưu cấu hình SMTP riêng

{
  "items": [
    { "group": "email", "key": "email_custom_enable", "value": "1" },
    { "group": "email", "key": "email_from_name", "value": "Shop ABC" },
    { "group": "email", "key": "email_from_email", "value": "[email protected]" },
    { "group": "email", "key": "email_replyto_email", "value": "[email protected]" },
    { "group": "email", "key": "smtp_server", "value": "smtp.shopabc.vn" },
    { "group": "email", "key": "smtp_port", "value": "587" },
    { "group": "email", "key": "smtp_ssl", "value": "tls" },
    { "group": "email", "key": "smtp_username", "value": "[email protected]" },
    { "group": "email", "key": "smtp_password", "value": "mat-khau-smtp" }
  ]
}

On this page