@cnv-vn/track 0.3.0-beta.14 → 0.3.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cnv-track.esm.js +2 -2
- package/dist/cnv-track.min.js +2 -2
- package/dist/cnv-track.umd.cjs +2 -2
- package/dist/types/index.d.ts +14 -17
- package/package.json +1 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -668,8 +668,9 @@ interface PanelShapes {
|
|
|
668
668
|
* | 'project-suspended' | 'network'`: reject ngay lời gọi `loginWithZalo(...)`
|
|
669
669
|
* (trước khi có {@link ZaloQrLoginSession}) — lỗi thiết lập phiên, không có
|
|
670
670
|
* `session`/`session.result` nào để bắt.
|
|
671
|
-
* - `'expired' | 'denied' | 'cancelled'
|
|
672
|
-
* — xảy ra SAU khi đã có `session` (QR đã hiển
|
|
671
|
+
* - `'expired' | 'denied' | 'cancelled' | 'agent-registration-required' | 'login-blocked'`:
|
|
672
|
+
* reject {@link ZaloQrLoginSession.result} — xảy ra SAU khi đã có `session` (QR đã hiển
|
|
673
|
+
* thị), khi chờ kết quả quét.
|
|
673
674
|
*
|
|
674
675
|
* Bọc `try/catch` quanh CẢ hai điểm `await` (xem ví dụ ở `loginWithZalo` JSDoc)
|
|
675
676
|
* để không bỏ sót nhóm đầu.
|
|
@@ -678,34 +679,30 @@ interface PanelShapes {
|
|
|
678
679
|
* theo HTTP status server trả về (401/403) — đây là lỗi CẤU HÌNH (project key
|
|
679
680
|
* gõ sai/thiếu, hoặc project bị khoá), KHÔNG PHẢI lỗi mạng/CORS thật. Trước đây
|
|
680
681
|
* cả 2 nhóm bị gộp chung `'network'`, khiến integrator debug sai hướng.
|
|
682
|
+
*
|
|
683
|
+
* `'agent-registration-required'`: khách đã quét QR và xác thực Zalo XONG, nhưng shop bật
|
|
684
|
+
* plugin đăng ký đại lý (`apps.agent-registration`) và khách chưa đăng ký / chưa được shop
|
|
685
|
+
* duyệt làm đại lý. Khác `'denied'` (khách tự bấm "Từ chối" trong Mini App) ở chỗ khách không
|
|
686
|
+
* làm gì sai và bấm "Thử lại" cũng vô nghĩa: việc cần làm là mở Mini App của shop để đăng ký
|
|
687
|
+
* đại lý trước. `'login-blocked'` là ca shop chặn vì lý do khác (backend gửi mã lạ) — dùng câu
|
|
688
|
+
* thông báo chung, vẫn cho thử lại.
|
|
681
689
|
*/
|
|
682
|
-
type ZaloQrLoginErrorReason = 'not-initialized' | 'disabled' | 'consent-required' | 'invalid-project-key' | 'project-suspended' | 'network' | 'expired' | 'denied' | 'cancelled';
|
|
690
|
+
type ZaloQrLoginErrorReason = 'not-initialized' | 'disabled' | 'consent-required' | 'invalid-project-key' | 'project-suspended' | 'network' | 'expired' | 'denied' | 'cancelled' | 'agent-registration-required' | 'login-blocked';
|
|
683
691
|
/** Tuỳ chọn cho `loginWithZalo()`. */
|
|
684
692
|
interface ZaloQrLoginOptions {
|
|
685
693
|
/** Ưu tiên SSE (mặc định `true`); `false` ⇒ chỉ dùng poll ngay từ đầu. */
|
|
686
694
|
preferSse?: boolean;
|
|
687
695
|
/** Khoảng poll fallback (ms). Mặc định 2000. */
|
|
688
696
|
pollIntervalMs?: number;
|
|
689
|
-
/**
|
|
690
|
-
* Mặc định `true` — quét thành công thì SDK **tự chọn** giữa `identify()`/`alias()`, integrator
|
|
691
|
-
* không cần tự nghĩ về ca "site đã có tài khoản riêng":
|
|
692
|
-
* - Chưa từng `identify()` trước đó → Zalo QR là cách đăng nhập chính → `identify(String(contactId), {...})`.
|
|
693
|
-
* - Đã có `userId` từ trước (site tự `identify()` sau login thường của họ) → **không ghi đè** —
|
|
694
|
-
* `alias(String(contactId), userId cũ)` để backend biết 2 ID là cùng một người, `userId`
|
|
695
|
-
* hiện tại giữ nguyên, lịch sử tracking không bị "nhảy" giữa chừng.
|
|
696
|
-
*
|
|
697
|
-
* Đặt `false` để tắt hẳn cả 2 nhánh trên, tự quyết định 100% bằng `result.contactId` — xem
|
|
698
|
-
* "autoIdentify: false" trong docs.
|
|
699
|
-
*/
|
|
700
|
-
autoIdentify?: boolean;
|
|
701
697
|
}
|
|
702
698
|
/**
|
|
703
699
|
* Kết quả khi người dùng quét QR và xác thực Zalo thành công.
|
|
704
700
|
*
|
|
705
701
|
* KHÔNG có `phone` — số điện thoại thật KHÔNG được trả về client (cùng lý do đã bỏ
|
|
706
702
|
* `apiToken`/`loginToken`: PII/credential lộ ra bất kỳ script nào chạy chung trang hoặc
|
|
707
|
-
* ai mở DevTools). `contactId` là định danh
|
|
708
|
-
*
|
|
703
|
+
* ai mở DevTools). `contactId` là định danh khách trong CDP, server đã nối với anonymousId
|
|
704
|
+
* của phiên; host KHÔNG cần gọi identify(). Nếu cần số điện thoại cho nghiệp vụ, tự tra cứu
|
|
705
|
+
* ở backend của bạn bằng `contactId` (đã xác thực thật).
|
|
709
706
|
*/
|
|
710
707
|
interface ZaloQrLoginResult {
|
|
711
708
|
contactId?: number;
|