vc-cdp-rn-sdk 0.1.2 → 0.1.4

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/README.md CHANGED
@@ -27,6 +27,14 @@ CDP SDK cho React Native — tracking events và user profiles cho hệ thống
27
27
  - [Batch Processing](#batch-processing)
28
28
  - [flush](#flush--gửi-ngay)
29
29
  - [destroy](#destroy--dọn-dẹp)
30
+ - [Notification Inbox Tracking](#notification-inbox-tracking)
31
+ - [Cài đặt react-native-noti-sdk](#cài-đặt-react-native-noti-sdk)
32
+ - [Cấu hình domain](#cấu-hình-domain-notification-inbox)
33
+ - [API react-native-noti-sdk](#api-react-native-noti-sdk)
34
+ - [Custom notification UI](#custom-notification-ui-react-native-noti-sdk)
35
+ - [Tự động track delivered / open](#tự-động-track-delivered--open--bindnotificationtracking)
36
+ - [Track thủ công click / dismiss / read](#track-thủ-công-click--dismiss--read)
37
+ - [Danh sách và chi tiết thông báo](#danh-sách-và-chi-tiết-thông-báo)
30
38
  - [Bảo mật](#bảo-mật)
31
39
  - [HMAC-SHA256](#hmac-sha256-signature)
32
40
  - [AES-256-CBC](#aes-256-cbc-encryption)
@@ -118,6 +126,7 @@ export default function App() {
118
126
  | `batchSize` | `number` | `10` | Số events tối đa trong 1 batch |
119
127
  | `batchInterval` | `number` | `5000` | Thời gian (ms) giữa các lần flush tự động |
120
128
  | `enableEncryption` | `boolean` | `true` | Mã hoá PII bằng AES-256-CBC |
129
+ | `notificationApiBaseUrl` | `string` | — | Domain API notification-inbox (**khác** `baseUrl`) — dùng cho [`trackNotificationEvent()`](#track-thủ-công-click--dismiss--read) |
121
130
 
122
131
  ### Môi trường
123
132
 
@@ -463,6 +472,270 @@ Flush queue còn lại và xoá timer. Không xoá user data.
463
472
 
464
473
  ---
465
474
 
475
+ ## Notification Inbox Tracking
476
+
477
+ Tích hợp [`react-native-noti-sdk`](https://www.npmjs.com/package/react-native-noti-sdk)
478
+ (FCM + Notifee) với `vc-cdp-rn-sdk` để tracking các sự kiện thông báo
479
+ (`delivered` / `open` / `click` / `dismiss` / `read`) qua notification-inbox API.
480
+
481
+ > API notification-inbox nằm trên **domain khác** với API ingest event/profile
482
+ > → cấu hình riêng qua `notificationApiBaseUrl` (xem [Cấu hình đầy đủ](#cấu-hình-đầy-đủ)).
483
+
484
+ ### Cài đặt react-native-noti-sdk
485
+
486
+ ```bash
487
+ npm install react-native-noti-sdk
488
+ npm install @react-native-firebase/app @react-native-firebase/messaging @notifee/react-native @react-native-clipboard/clipboard
489
+ ```
490
+
491
+ ```bash
492
+ cd ios && pod install
493
+ ```
494
+
495
+ **Cấu hình Firebase (phía app tích hợp):**
496
+
497
+ - **Android:** thêm `android/app/google-services.json` + plugin `com.google.gms.google-services`.
498
+ - **iOS:** thêm `GoogleService-Info.plist` vào Xcode project, bật capability **Push Notifications** + **Background Modes > Remote notifications**.
499
+
500
+ **Đăng ký background handler (bắt buộc)** — gọi ở top-level `index.js`, **trước** `registerComponent`:
501
+
502
+ ```js
503
+ // index.js
504
+ import NotiSdk from 'react-native-noti-sdk';
505
+ NotiSdk.registerBackgroundHandler();
506
+ ```
507
+
508
+ ### Cấu hình domain notification-inbox
509
+
510
+ ```typescript
511
+ const cdp = await CdpRnSdk.create({
512
+ apiKey: 'YOUR_API_KEY',
513
+ secretKey: 'YOUR_SECRET_KEY',
514
+ source: 'DOP',
515
+ serviceName: 'VC_APP',
516
+ baseUrl: 'https://ingestlog.vietcredit.com.vn', // API events/profile
517
+
518
+ notificationApiBaseUrl: 'https://consolecdp-dev.ovp.vn', // API notification-inbox — domain khác (tạm thời dùng domain dev)
519
+ });
520
+ ```
521
+
522
+ Nếu không set `notificationApiBaseUrl`, `trackNotificationEvent()`,
523
+ `getNotificationInboxList()` và `getNotificationInboxDetail()` sẽ bỏ qua và log lỗi (không throw).
524
+
525
+ ### API react-native-noti-sdk
526
+
527
+ ```typescript
528
+ import NotiSdk from 'react-native-noti-sdk';
529
+
530
+ await NotiSdk.init({ debug: true }); // xin quyền, tạo channel, lắng nghe
531
+ const token = await NotiSdk.getToken(); // FCM token gửi lên server
532
+ NotiSdk.onTokenRefresh(t => sendTokenToServer(t)); // token được làm mới
533
+
534
+ NotiSdk.onMessage(msg => console.log(msg.title, msg.data)); // app đang mở
535
+ NotiSdk.onNotificationOpened(msg => navigate(msg.data.screen)); // tap mở app từ background
536
+
537
+ const initial = await NotiSdk.getInitialNotification(); // mở app từ trạng thái quit
538
+ if (initial) navigate(initial.data.screen);
539
+
540
+ await NotiSdk.displayNotification({ title: 'Xin chào', body: 'Thông báo', data: { screen: 'home' } });
541
+ ```
542
+
543
+ | Hàm | Mô tả |
544
+ | --- | --- |
545
+ | `init(config?)` | Khởi tạo SDK: xin quyền, đăng ký iOS, tạo channel, lắng nghe. Idempotent. |
546
+ | `requestPermission()` | Hiển thị hộp thoại xin quyền, trả về `AuthorizationStatus`. |
547
+ | `hasPermission()` | Trạng thái quyền hiện tại (không hiện hộp thoại). |
548
+ | `getToken()` | Trả về FCM token (`string`) hoặc `null` nếu lỗi. |
549
+ | `deleteToken()` | Xoá token hiện tại; lần `getToken()` sau sẽ tạo token mới. |
550
+ | `onTokenRefresh(listener)` | Lắng nghe token mới; trả về `unsubscribe`. |
551
+ | `registerBackgroundHandler()` | Đăng ký nhận message ở background. Gọi tại `index.js`. |
552
+ | `onMessage(handler)` | Nhận `NotiMessage` khi có message; trả về `unsubscribe`. |
553
+ | `onNotificationOpened(handler)` | Khi tap thông báo mở app (background); trả về `unsubscribe`. |
554
+ | `getInitialNotification()` | Thông báo đã mở app từ trạng thái quit, hoặc `null`. |
555
+ | `displayNotification(options)` | Tự hiển thị một local notification qua Notifee. |
556
+ | `displayCustomNotification(options)` | Hiển thị notification UI tuỳ biến (native), có nút hành động. |
557
+ | `isCustomUiAvailable()` | `true` nếu native module custom UI đang hoạt động. |
558
+
559
+ **`NotiSdkConfig`**
560
+
561
+ | Trường | Mặc định | Mô tả |
562
+ | --- | --- | --- |
563
+ | `requestPermissionOnInit` | `true` | Tự xin quyền khi `init()`. |
564
+ | `debug` | `false` | Bật log `[NotiSdk]` ra console. |
565
+ | `defaultChannel` | `{ id: 'default', name: 'Mặc định', importance: 'high' }` | Channel Android mặc định. |
566
+ | `displayInForeground` | `true` | Tự hiện banner khi nhận message lúc app đang mở. |
567
+
568
+ **`NotiMessage`**
569
+
570
+ ```typescript
571
+ interface NotiMessage {
572
+ id?: string;
573
+ title?: string;
574
+ body?: string;
575
+ data: Record<string, string>;
576
+ }
577
+ ```
578
+
579
+ **`AuthorizationStatus`**: `'authorized' | 'provisional' | 'denied' | 'notDetermined'`
580
+
581
+ > **Android 13+**: SDK tự xin quyền `POST_NOTIFICATIONS` qua Notifee khi gọi
582
+ > `requestPermission()` / `init()`. Đảm bảo `compileSdkVersion >= 33`.
583
+
584
+ ### Custom notification UI (react-native-noti-sdk)
585
+
586
+ ```typescript
587
+ await NotiSdk.displayCustomNotification({
588
+ title: 'Custom UI',
589
+ body: 'Layout tuỳ biến + nút hành động',
590
+ imageUrl: 'https://example.com/banner.png',
591
+ fullScreen: false, // true: full-screen intent (vd cuộc gọi đến)
592
+ data: { screen: 'detail', tracking_id: 'b7e6c1a2-...' },
593
+ buttons: [
594
+ { name: 'Gọi điện', type: 'phone', value: '03658700512' },
595
+ { name: 'Đầu tư', type: 'deep_link', value: 'tinvay://notification' },
596
+ ],
597
+ });
598
+ ```
599
+
600
+ | `type` | Hành vi khi nhấn |
601
+ | --- | --- |
602
+ | `phone` | Mở trình quay số với `value` (`ACTION_DIAL`, không cần quyền gọi). |
603
+ | `deep_link` | Mở URI `value`. App phải khai báo `intent-filter` cho scheme đó. |
604
+
605
+ > Android giới hạn tối đa **3 nút**. Cả hai nền tảng dùng native module riêng
606
+ > (không phụ thuộc Notifee cho phần custom UI) — tự đăng ký qua autolinking.
607
+ > iOS cần `pod install`; hiển thị ảnh yêu cầu quyền thông báo đã cấp; nút
608
+ > share mở `UIActivityViewController` khi app ở foreground.
609
+
610
+ ### Tự động track delivered / open — bindNotificationTracking
611
+
612
+ `bindNotificationTracking()` gắn `react-native-noti-sdk` vào CDP SDK: tự động
613
+ gọi `trackNotificationEvent()` khi nhận message (`delivered`) và khi user tap
614
+ mở app từ thông báo (`open`), miễn là payload push có field `tracking_id`
615
+ trong `data`.
616
+
617
+ ```typescript
618
+ import NotiSdk from 'react-native-noti-sdk';
619
+ import { getCdp } from './lib/cdp';
620
+
621
+ async function setupPush() {
622
+ await NotiSdk.init({ debug: true });
623
+
624
+ // onMessage → 'delivered', onNotificationOpened/getInitialNotification → 'open'
625
+ const unbind = getCdp().bindNotificationTracking(NotiSdk);
626
+
627
+ // unbind() khi cleanup nếu cần
628
+ }
629
+ ```
630
+
631
+ Payload push phải nhúng `tracking_id`, ví dụ FCM `data`:
632
+
633
+ ```json
634
+ {
635
+ "tracking_id": "b7e6c1a2-...",
636
+ "deeplink": "app://home"
637
+ }
638
+ ```
639
+
640
+ ### Track thủ công click / dismiss / read
641
+
642
+ `react-native-noti-sdk` **không có callback riêng** cho các sự kiện này (nhấn
643
+ nút trong `displayCustomNotification`, dismiss, hoặc đọc trong màn hình
644
+ inbox) — gọi `trackNotificationEvent()` trực tiếp tại nơi xử lý:
645
+
646
+ ```typescript
647
+ // Khi user nhấn nút trong custom notification
648
+ cdp.trackNotificationEvent(trackingId, 'click', {
649
+ buttonId: 'btn_1',
650
+ deeplink: 'app://home',
651
+ currentScreen: 'HomeScreen',
652
+ });
653
+
654
+ // Khi user dismiss thông báo
655
+ cdp.trackNotificationEvent(trackingId, 'dismiss');
656
+
657
+ // Khi user đọc thông báo trong màn hình inbox
658
+ cdp.trackNotificationEvent(trackingId, 'read', { currentScreen: 'NotificationInboxScreen' });
659
+ ```
660
+
661
+ ```typescript
662
+ async trackNotificationEvent(
663
+ trackingId: string,
664
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
665
+ options?: {
666
+ userAppId?: string; // mặc định: user_id hiện tại (identifyUser), '' nếu chưa login
667
+ userProfileId?: string; // mặc định: profile_id hiện tại, '' nếu chưa có profile_id
668
+ deviceId?: string; // mặc định: device_id của SDK
669
+ platform?: string; // mặc định: Platform.OS ('android' | 'ios')
670
+ buttonId?: string;
671
+ deeplink?: string;
672
+ currentScreen?: string;
673
+ metadata?: unknown[];
674
+ }
675
+ ): Promise<{ code?: number; message?: string } | undefined>
676
+ ```
677
+
678
+ ### Danh sách và chi tiết thông báo
679
+
680
+ **`getNotificationInboxList()`** — danh sách thông báo, phân trang bằng cursor:
681
+
682
+ ```typescript
683
+ const page1 = await cdp.getNotificationInboxList({ filter: 'all', perPage: 20 });
684
+
685
+ console.log(page1?.data); // NotificationInboxItem[]
686
+ console.log(page1?.next_cursor); // dùng cho trang tiếp theo
687
+
688
+ const page2 = await cdp.getNotificationInboxList({
689
+ filter: 'all',
690
+ perPage: 20,
691
+ cursor: page1?.next_cursor ?? undefined,
692
+ });
693
+ ```
694
+
695
+ **`getNotificationInboxDetail()`** — chi tiết 1 thông báo theo `tracking_id`:
696
+
697
+ ```typescript
698
+ const detail = await cdp.getNotificationInboxDetail('b7e6c1a2-...');
699
+ console.log(detail?.data);
700
+ ```
701
+
702
+ `userAppId` / `userProfileId` / `deviceId` tự lấy từ state hiện tại của SDK
703
+ (`identifyUser()` / `getDeviceId()`) nếu không truyền vào — giống
704
+ `trackNotificationEvent()`.
705
+
706
+ ```typescript
707
+ async getNotificationInboxList(options?: {
708
+ userAppId?: string; // mặc định: user_id hiện tại, '' nếu chưa login
709
+ userProfileId?: string; // mặc định: profile_id hiện tại, '' nếu chưa có
710
+ deviceId?: string; // mặc định: device_id của SDK
711
+ filter?: string; // mặc định 'all'
712
+ perPage?: number; // mặc định 20
713
+ cursor?: string; // phân trang — lấy từ next_cursor
714
+ }): Promise<{
715
+ code?: number;
716
+ message?: string;
717
+ data?: NotificationInboxItem[];
718
+ next_cursor?: string | null;
719
+ has_more?: boolean;
720
+ } | undefined>
721
+
722
+ async getNotificationInboxDetail(
723
+ trackingId: string,
724
+ options?: { userAppId?: string; deviceId?: string }
725
+ ): Promise<{ code?: number; message?: string; data?: NotificationInboxItem } | undefined>
726
+ ```
727
+
728
+ | Method | Endpoint |
729
+ |---|---|
730
+ | `getNotificationInboxList()` | `POST {notificationApiBaseUrl}/api/v1/notification-inbox` |
731
+ | `getNotificationInboxDetail()` | `POST {notificationApiBaseUrl}/api/v1/notification-inbox/by-tracking-id?tracking_id=...` |
732
+ | `trackNotificationEvent()` | `POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id` |
733
+
734
+ Cả 3 endpoint **không** dùng HMAC signature như API ingest — chỉ header
735
+ `Content-Type: application/json`.
736
+
737
+ ---
738
+
466
739
  ## Bảo mật
467
740
 
468
741
  ### HMAC-SHA256 Signature
@@ -687,6 +960,7 @@ interface CdpRnConfig {
687
960
  batchSize?: number; // mặc định 10
688
961
  batchInterval?: number; // mặc định 5000 ms
689
962
  enableEncryption?: boolean; // mặc định true
963
+ notificationApiBaseUrl?: string; // domain API notification-inbox (khác baseUrl)
690
964
  }
691
965
  ```
692
966
 
@@ -752,6 +1026,47 @@ screen(screenName: string, properties?: Record<string, unknown>): void
752
1026
  async flush(): Promise<void>
753
1027
  ```
754
1028
 
1029
+ ### Notification Inbox Tracking Methods
1030
+
1031
+ ```typescript
1032
+ async getNotificationInboxList(options?: {
1033
+ userAppId?: string;
1034
+ userProfileId?: string;
1035
+ deviceId?: string;
1036
+ filter?: string; // mặc định 'all'
1037
+ perPage?: number; // mặc định 20
1038
+ cursor?: string;
1039
+ }): Promise<{
1040
+ code?: number;
1041
+ message?: string;
1042
+ data?: NotificationInboxItem[];
1043
+ next_cursor?: string | null;
1044
+ has_more?: boolean;
1045
+ } | undefined>
1046
+
1047
+ async getNotificationInboxDetail(
1048
+ trackingId: string,
1049
+ options?: { userAppId?: string; deviceId?: string }
1050
+ ): Promise<{ code?: number; message?: string; data?: NotificationInboxItem } | undefined>
1051
+
1052
+ async trackNotificationEvent(
1053
+ trackingId: string,
1054
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
1055
+ options?: {
1056
+ userAppId?: string;
1057
+ userProfileId?: string;
1058
+ deviceId?: string;
1059
+ platform?: string;
1060
+ buttonId?: string;
1061
+ deeplink?: string;
1062
+ currentScreen?: string;
1063
+ metadata?: unknown[];
1064
+ }
1065
+ ): Promise<{ code?: number; message?: string } | undefined>
1066
+
1067
+ bindNotificationTracking(notiSdk: NotiSdkLike): () => void // trả về unsubscribe
1068
+ ```
1069
+
755
1070
  ### Session & Identity Methods
756
1071
 
757
1072
  ```typescript
@@ -823,4 +1138,49 @@ interface ProfileResponse {
823
1138
  transaction_id: string;
824
1139
  profile_id: string;
825
1140
  }
1141
+
1142
+ type NotificationEventType = 'delivered' | 'open' | 'click' | 'dismiss' | 'read';
1143
+
1144
+ interface NotificationTrackOptions {
1145
+ userAppId?: string;
1146
+ userProfileId?: string;
1147
+ deviceId?: string;
1148
+ platform?: string;
1149
+ buttonId?: string;
1150
+ deeplink?: string;
1151
+ currentScreen?: string;
1152
+ metadata?: unknown[];
1153
+ }
1154
+
1155
+ interface NotificationTrackResponse {
1156
+ code?: number;
1157
+ message?: string;
1158
+ [key: string]: unknown;
1159
+ }
1160
+
1161
+ interface NotificationInboxItem {
1162
+ tracking_id?: string;
1163
+ title?: string;
1164
+ body?: string;
1165
+ event_type?: NotificationEventType;
1166
+ deeplink?: string;
1167
+ read_at?: string | null;
1168
+ created_at?: string;
1169
+ [key: string]: unknown;
1170
+ }
1171
+
1172
+ /** Shape tối thiểu của message do react-native-noti-sdk trả về. */
1173
+ interface NotiMessageLike {
1174
+ id?: string;
1175
+ title?: string;
1176
+ body?: string;
1177
+ data?: Record<string, string>;
1178
+ }
1179
+
1180
+ /** Duck-typed — khớp với API react-native-noti-sdk, không cần import trực tiếp package đó. */
1181
+ interface NotiSdkLike {
1182
+ onMessage: (handler: (message: NotiMessageLike) => void) => () => void;
1183
+ onNotificationOpened: (handler: (message: NotiMessageLike) => void) => () => void;
1184
+ getInitialNotification?: () => Promise<NotiMessageLike | null>;
1185
+ }
826
1186
  ```
@@ -1,4 +1,4 @@
1
- import { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, PartyType } from './types';
1
+ import { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, PartyType, NotificationEventType, NotificationTrackOptions, NotificationTrackResponse, NotificationInboxListParams, NotificationInboxListResponse, NotificationInboxDetailParams, NotificationInboxDetailResponse, NotiSdkLike } from './types';
2
2
  export declare class CdpRnSdk {
3
3
  private config;
4
4
  private userId;
@@ -100,6 +100,29 @@ export declare class CdpRnSdk {
100
100
  * Flush queued events to the server immediately.
101
101
  */
102
102
  flush(): Promise<void>;
103
+ /**
104
+ * Fetch danh sách thông báo (phân trang bằng cursor).
105
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox.
106
+ */
107
+ getNotificationInboxList(params?: NotificationInboxListParams): Promise<NotificationInboxListResponse | undefined>;
108
+ /**
109
+ * Fetch chi tiết một thông báo theo tracking_id.
110
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox/by-tracking-id?tracking_id=...
111
+ */
112
+ getNotificationInboxDetail(trackingId: string, params?: NotificationInboxDetailParams): Promise<NotificationInboxDetailResponse | undefined>;
113
+ /**
114
+ * Track a notification-inbox event (delivered/open/click/dismiss/read).
115
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id.
116
+ */
117
+ trackNotificationEvent(trackingId: string, eventType: NotificationEventType, options?: NotificationTrackOptions): Promise<NotificationTrackResponse | undefined>;
118
+ /**
119
+ * Wire up react-native-noti-sdk (or any compatible NotiSdk) to auto-track
120
+ * `delivered` (onMessage) and `open` (onNotificationOpened / getInitialNotification).
121
+ * `click` / `dismiss` / `read` không có callback riêng trong react-native-noti-sdk —
122
+ * gọi trackNotificationEvent() thủ công tại nơi xử lý nút bấm / màn hình inbox.
123
+ * Trả về hàm unsubscribe.
124
+ */
125
+ bindNotificationTracking(notiSdk: NotiSdkLike): () => void;
103
126
  /**
104
127
  * Logout: sends a logout profile event and resets all user state.
105
128
  * anonymous_id is rotated; device_id is kept.
@@ -125,6 +148,7 @@ export declare class CdpRnSdk {
125
148
  private _extractSensitiveTraits;
126
149
  private _getOrCreate;
127
150
  private _getLocale;
151
+ private _getPlatformName;
128
152
  private _getTimezone;
129
153
  private _log;
130
154
  private _logError;
@@ -1 +1 @@
1
- {"version":3,"file":"CdpRnSdk.d.ts","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CdpRnSdk.d.ts","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"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"}
package/dist/CdpRnSdk.js CHANGED
@@ -40,7 +40,7 @@ class CdpRnSdk {
40
40
  this.preInitQueue = [];
41
41
  this.batchTimer = null;
42
42
  this.initialized = false;
43
- this.config = Object.assign({ baseUrl: DEFAULT_BASE_URL, isTest: false, debug: false, batchSize: 10, batchInterval: 5000, enableEncryption: true }, config);
43
+ this.config = Object.assign({ baseUrl: DEFAULT_BASE_URL, isTest: false, debug: false, batchSize: 10, batchInterval: 5000, enableEncryption: true, notificationApiBaseUrl: '' }, config);
44
44
  }
45
45
  /**
46
46
  * Create and initialize the SDK. Call once at app startup (e.g. App.tsx).
@@ -275,6 +275,150 @@ class CdpRnSdk {
275
275
  const batch = this.eventQueue.splice(0);
276
276
  await this._sendBatch(batch);
277
277
  }
278
+ // ─── Public: Notification Inbox Tracking ─────────────────────────────────
279
+ /**
280
+ * Fetch danh sách thông báo (phân trang bằng cursor).
281
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox.
282
+ */
283
+ async getNotificationInboxList(params = {}) {
284
+ var _a, _b, _c, _d, _e, _f, _g, _h;
285
+ if (!this.config.notificationApiBaseUrl) {
286
+ this._logError('getNotificationInboxList: notificationApiBaseUrl chưa được cấu hình');
287
+ return undefined;
288
+ }
289
+ const url = `${this.config.notificationApiBaseUrl}/api/v1/notification-inbox`;
290
+ const body = Object.assign({ user_app_id: (_b = (_a = params.userAppId) !== null && _a !== void 0 ? _a : this.userId) !== null && _b !== void 0 ? _b : '', device_id: (_c = params.deviceId) !== null && _c !== void 0 ? _c : this.deviceId, user_profile_id: (_e = (_d = params.userProfileId) !== null && _d !== void 0 ? _d : this.profileId) !== null && _e !== void 0 ? _e : '', filter: (_f = params.filter) !== null && _f !== void 0 ? _f : 'all', per_page: (_g = params.perPage) !== null && _g !== void 0 ? _g : 20 }, (params.cursor !== undefined && { cursor: params.cursor }));
291
+ try {
292
+ const response = await fetch(url, {
293
+ method: 'POST',
294
+ headers: { 'Content-Type': 'application/json' },
295
+ body: JSON.stringify(body),
296
+ });
297
+ const json = await response.json();
298
+ if (!response.ok) {
299
+ throw new Error(`HTTP ${response.status}: ${(_h = json === null || json === void 0 ? void 0 : json.message) !== null && _h !== void 0 ? _h : response.statusText}`);
300
+ }
301
+ this._log('Notification inbox list fetched', { filter: body.filter, perPage: body.per_page });
302
+ return json;
303
+ }
304
+ catch (e) {
305
+ this._logError('getNotificationInboxList failed', e);
306
+ return undefined;
307
+ }
308
+ }
309
+ /**
310
+ * Fetch chi tiết một thông báo theo tracking_id.
311
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox/by-tracking-id?tracking_id=...
312
+ */
313
+ async getNotificationInboxDetail(trackingId, params = {}) {
314
+ var _a, _b, _c, _d;
315
+ if (!this.config.notificationApiBaseUrl) {
316
+ this._logError('getNotificationInboxDetail: notificationApiBaseUrl chưa được cấu hình');
317
+ return undefined;
318
+ }
319
+ const url = `${this.config.notificationApiBaseUrl}/api/v1/notification-inbox/by-tracking-id?tracking_id=${encodeURIComponent(trackingId)}`;
320
+ const body = {
321
+ tracking_id: trackingId,
322
+ user_app_id: (_b = (_a = params.userAppId) !== null && _a !== void 0 ? _a : this.userId) !== null && _b !== void 0 ? _b : '',
323
+ device_id: (_c = params.deviceId) !== null && _c !== void 0 ? _c : this.deviceId,
324
+ };
325
+ try {
326
+ const response = await fetch(url, {
327
+ method: 'POST',
328
+ headers: { 'Content-Type': 'application/json' },
329
+ body: JSON.stringify(body),
330
+ });
331
+ const json = await response.json();
332
+ if (!response.ok) {
333
+ throw new Error(`HTTP ${response.status}: ${(_d = json === null || json === void 0 ? void 0 : json.message) !== null && _d !== void 0 ? _d : response.statusText}`);
334
+ }
335
+ this._log('Notification inbox detail fetched', trackingId);
336
+ return json;
337
+ }
338
+ catch (e) {
339
+ this._logError('getNotificationInboxDetail failed', e);
340
+ return undefined;
341
+ }
342
+ }
343
+ /**
344
+ * Track a notification-inbox event (delivered/open/click/dismiss/read).
345
+ * Calls POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id.
346
+ */
347
+ async trackNotificationEvent(trackingId, eventType, options = {}) {
348
+ var _a, _b, _c, _d, _e, _f, _g, _h;
349
+ if (!this.config.notificationApiBaseUrl) {
350
+ this._logError('trackNotificationEvent: notificationApiBaseUrl chưa được cấu hình');
351
+ return undefined;
352
+ }
353
+ const url = `${this.config.notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id`;
354
+ const body = {
355
+ tracking_id: trackingId,
356
+ user_app_id: (_b = (_a = options.userAppId) !== null && _a !== void 0 ? _a : this.userId) !== null && _b !== void 0 ? _b : '',
357
+ user_profile_id: (_d = (_c = options.userProfileId) !== null && _c !== void 0 ? _c : this.profileId) !== null && _d !== void 0 ? _d : '',
358
+ device_id: (_e = options.deviceId) !== null && _e !== void 0 ? _e : this.deviceId,
359
+ event_type: eventType,
360
+ platform: (_f = options.platform) !== null && _f !== void 0 ? _f : this._getPlatformName(),
361
+ button_id: options.buttonId,
362
+ deeplink: options.deeplink,
363
+ current_screen: options.currentScreen,
364
+ metadata: (_g = options.metadata) !== null && _g !== void 0 ? _g : [],
365
+ };
366
+ try {
367
+ const response = await fetch(url, {
368
+ method: 'POST',
369
+ headers: { 'Content-Type': 'application/json' },
370
+ body: JSON.stringify(body),
371
+ });
372
+ const json = await response.json();
373
+ if (!response.ok) {
374
+ throw new Error(`HTTP ${response.status}: ${(_h = json === null || json === void 0 ? void 0 : json.message) !== null && _h !== void 0 ? _h : response.statusText}`);
375
+ }
376
+ this._log('Notification event tracked', eventType, trackingId);
377
+ return json;
378
+ }
379
+ catch (e) {
380
+ this._logError('trackNotificationEvent failed', e);
381
+ return undefined;
382
+ }
383
+ }
384
+ /**
385
+ * Wire up react-native-noti-sdk (or any compatible NotiSdk) to auto-track
386
+ * `delivered` (onMessage) and `open` (onNotificationOpened / getInitialNotification).
387
+ * `click` / `dismiss` / `read` không có callback riêng trong react-native-noti-sdk —
388
+ * gọi trackNotificationEvent() thủ công tại nơi xử lý nút bấm / màn hình inbox.
389
+ * Trả về hàm unsubscribe.
390
+ */
391
+ bindNotificationTracking(notiSdk) {
392
+ var _a;
393
+ const extractTrackingId = (data) => data === null || data === void 0 ? void 0 : data.tracking_id;
394
+ const unsubMessage = notiSdk.onMessage((message) => {
395
+ var _a;
396
+ const trackingId = extractTrackingId(message.data);
397
+ if (trackingId) {
398
+ this.trackNotificationEvent(trackingId, 'delivered', { deeplink: (_a = message.data) === null || _a === void 0 ? void 0 : _a.deeplink })
399
+ .catch((e) => this._logError('bindNotificationTracking: delivered failed', e));
400
+ }
401
+ });
402
+ const unsubOpened = notiSdk.onNotificationOpened((message) => {
403
+ var _a;
404
+ const trackingId = extractTrackingId(message.data);
405
+ if (trackingId) {
406
+ this.trackNotificationEvent(trackingId, 'open', { deeplink: (_a = message.data) === null || _a === void 0 ? void 0 : _a.deeplink })
407
+ .catch((e) => this._logError('bindNotificationTracking: open failed', e));
408
+ }
409
+ });
410
+ (_a = notiSdk.getInitialNotification) === null || _a === void 0 ? void 0 : _a.call(notiSdk).then((message) => {
411
+ var _a;
412
+ const trackingId = extractTrackingId(message === null || message === void 0 ? void 0 : message.data);
413
+ if (trackingId) {
414
+ return this.trackNotificationEvent(trackingId, 'open', { deeplink: (_a = message === null || message === void 0 ? void 0 : message.data) === null || _a === void 0 ? void 0 : _a.deeplink });
415
+ }
416
+ }).catch((e) => this._logError('bindNotificationTracking: getInitialNotification failed', e));
417
+ return () => {
418
+ unsubMessage();
419
+ unsubOpened();
420
+ };
421
+ }
278
422
  /**
279
423
  * Logout: sends a logout profile event and resets all user state.
280
424
  * anonymous_id is rotated; device_id is kept.
@@ -515,6 +659,16 @@ class CdpRnSdk {
515
659
  return 'vi-VN';
516
660
  }
517
661
  }
662
+ _getPlatformName() {
663
+ try {
664
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
665
+ const { Platform } = require('react-native');
666
+ return Platform.OS;
667
+ }
668
+ catch (_a) {
669
+ return 'unknown';
670
+ }
671
+ }
518
672
  _getTimezone() {
519
673
  try {
520
674
  return Intl.DateTimeFormat().resolvedOptions().timeZone;
@@ -1 +1 @@
1
- {"version":3,"file":"CdpRnSdk.js","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CdpRnSdk.js","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AA2BA,6CAAwD;AACxD,2CAAgF;AAChF,2CAAmD;AAEnD,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;AAEnE,MAAM,gBAAgB,GAAyB;IAC7C,WAAW,EAAE,YAAY,EAAE,WAAW;IACtC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO;IACxC,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU;CACvC,CAAC;AAEF,MAAa,QAAQ;IAwBnB,YAAoB,MAAmB;QArB/B,WAAM,GAAkB,IAAI,CAAC;QAC7B,cAAS,GAAkB,IAAI,CAAC;QAChC,gBAAW,GAAW,EAAE,CAAC;QACzB,aAAQ,GAAW,EAAE,CAAC;QACtB,cAAS,GAAW,EAAE,CAAC;QAEvB,eAAU,GAAe,EAAE,CAAC;QAC5B,cAAS,GAAiB,EAAE,CAAC;QAC7B,aAAQ,GAAiB,EAAE,CAAC;QAC5B,aAAQ,GAAkB,EAAE,CAAC;QAC7B,WAAM,GAAgB,EAAE,CAAC;QACzB,aAAQ,GAAkB,EAAE,CAAC;QAC7B,aAAQ,GAA4B,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QAE9D,eAAU,GAAe,EAAE,CAAC;QACpC,yDAAyD;QACjD,iBAAY,GAAoD,EAAE,CAAC;QACnE,eAAU,GAA0C,IAAI,CAAC;QAEzD,gBAAW,GAAG,KAAK,CAAC;QAG1B,IAAI,CAAC,MAAM,mBACT,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,EAAE,EACb,aAAa,EAAE,IAAI,EACnB,gBAAgB,EAAE,IAAI,EACtB,sBAAsB,EAAE,EAAE,IACvB,MAAM,CACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAmB;QACrC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,gDAAgD;QAChD,IAAI,CAAC,SAAS,GAAG,IAAA,qBAAY,GAAE,CAAC;QAChC,MAAM,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,sBAAY,CAAC,YAAY,CAAC;YAC5C,IAAI,CAAC,YAAY,CAAC,sBAAY,CAAC,SAAS,CAAC;YACzC,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,CAAC;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,MAAM,IAAA,0BAAiB,GAAE,CAAC;QAE3C,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAExB,gDAAgD;QAChD,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAE5E;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,SAAqB,EAAE,EACvB,YAAuB,QAAQ;QAE/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,mCAAQ,IAAI,CAAC,UAAU,GAAK,MAAM,CAAE,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAE/E,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;YACrC,MAAM,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,QAAQ,CAAC,MAAc,EAAE,SAAqB,EAAE,EAAE,YAAuB,QAAQ;QACrF,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,OAA2E;;QAC7F,MAAM,SAAS,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,IAAI,CAAC,SAAS,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,IAAI,aAAa,GAAoC,OAAO,CAAC,MAAM,CAAC;QACpE,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAClH,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,aAAa,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,SAAS,GAAK,MAAA,OAAO,CAAC,MAAM,mCAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE3F,MAAM,IAAI,6DACR,UAAU,EAAI,SAAS,EACvB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACrC,MAAM,EAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAClC,MAAM,EAAQ,aAAa,IACxB,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,GAC9D,CAAC,SAAS,IAAM,EAAE,MAAM,EAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,GAC1D,CAAC,WAAW,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,KACjE,QAAQ,kCAAO,IAAI,CAAC,QAAQ,GAAK,OAAO,CAAC,QAAQ,IAClD,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACpD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAkB,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,SAAkB;QACjC,MAAM,EAAE,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,IAAI,CAAC,SAAS,CAAC;QACvC,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,IAAI,CAAC,SAAS,CAAC,qCAAqC,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,oBAAoB,EAAE,EAAE,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAClD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAc,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACvC,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,MAAM;YACpB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED,YAAY,KAAoB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,WAAW,KAAa,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,YAAY,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAEjD,gBAAgB,CAAC,IAAsB;;QACrC,OAAO,MAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC;IACvC,CAAC;IAED,6EAA6E;IAE7E,cAAc,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,aAAa,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,aAAa,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,SAAS,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,UAAU,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,UAAU,CAAC,CAAkB,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,UAAU,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,cAAc,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,WAAW,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,YAAY,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,cAAc,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,eAAe,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,kBAAkB,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,WAAW,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,aAAa,CAAC,CAAS,IAAU,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzE,YAAY,CAAC,QAAuB;QAClC,MAAM,GAAG,GAAG,QAAQ,YAAY,IAAI;YAClC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,QAAQ,CAAC;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,KAAc;QAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,UAAsB;QACxC,IAAI,CAAC,UAAU,mCAAQ,IAAI,CAAC,UAAU,GAAK,UAAU,CAAE,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,UAAsB;QACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,6EAA6E;IAE7E;;;OAGG;IACH,WAAW,CAAC,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAAmB;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAAuB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,IAA6B;QACvC,IAAI,CAAC,QAAQ,mCAAQ,IAAI,CAAC,QAAQ,GAAK,IAAI,CAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAkB;QAC5B,IAAI,CAAC,SAAS,mCAAQ,IAAI,CAAC,SAAS,GAAK,IAAI,CAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,WAAW,CAAC,IAAkB;QAC5B,IAAI,CAAC,QAAQ,mCAAQ,IAAI,CAAC,QAAQ,GAAK,IAAI,CAAE,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,SAAiB,EAAE,aAA8B,EAAE;QACvD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,8BAA8B;YAC9B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAkB,EAAE,aAA8B,EAAE;QACzD,IAAI,CAAC,KAAK,CAAC,aAAa,kBAAI,WAAW,EAAE,UAAU,IAAK,UAAU,EAAG,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,4EAA4E;IAE5E;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAC5B,SAAsC,EAAE;;QAExC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,qEAAqE,CAAC,CAAC;YACtF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,4BAA4B,CAAC;QAE9E,MAAM,IAAI,mBACR,WAAW,EAAE,MAAA,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC,MAAM,mCAAI,EAAE,EAClD,SAAS,EAAE,MAAA,MAAM,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ,EAC3C,eAAe,EAAE,MAAA,MAAA,MAAM,CAAC,aAAa,mCAAI,IAAI,CAAC,SAAS,mCAAI,EAAE,EAC7D,MAAM,EAAE,MAAA,MAAM,CAAC,MAAM,mCAAI,KAAK,EAC9B,QAAQ,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE,IAC3B,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAC9D,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAmC,CAAC;YAEpE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9F,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,0BAA0B,CAC9B,UAAkB,EAClB,SAAwC,EAAE;;QAE1C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,uEAAuE,CAAC,CAAC;YACxF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,yDAAyD,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QAE3I,MAAM,IAAI,GAA4B;YACpC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAA,MAAA,MAAM,CAAC,SAAS,mCAAI,IAAI,CAAC,MAAM,mCAAI,EAAE;YAClD,SAAS,EAAE,MAAA,MAAM,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ;SAC5C,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAqC,CAAC;YAEtE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAAE,UAAU,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAC1B,UAAkB,EAClB,SAAgC,EAChC,UAAoC,EAAE;;QAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,mEAAmE,CAAC,CAAC;YACpF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,iDAAiD,CAAC;QAEnG,MAAM,IAAI,GAA6B;YACrC,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,MAAA,MAAA,OAAO,CAAC,SAAS,mCAAI,IAAI,CAAC,MAAM,mCAAI,EAAE;YACnD,eAAe,EAAE,MAAA,MAAA,OAAO,CAAC,aAAa,mCAAI,IAAI,CAAC,SAAS,mCAAI,EAAE;YAC9D,SAAS,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC,QAAQ;YAC5C,UAAU,EAAE,SAAS;YACrB,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC,gBAAgB,EAAE;YACrD,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,cAAc,EAAE,OAAO,CAAC,aAAa;YACrC,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,EAAE;SACjC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA+B,CAAC;YAEhE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YACtF,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACnD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,wBAAwB,CAAC,OAAoB;;QAC3C,MAAM,iBAAiB,GAAG,CAAC,IAA6B,EAAsB,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAC;QAEnG,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;;YACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAC;qBACvF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC,CAAC;YACnF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3D,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAA,OAAO,CAAC,IAAI,0CAAE,QAAQ,EAAE,CAAC;qBAClF,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,uCAAuC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAA,OAAO,CAAC,sBAAsB,wDAAK,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;;YAClD,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC,CAAC;YACpD,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,QAAQ,EAAE,CAAC,CAAC;YAChG,CAAC;QACH,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,yDAAyD,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9F,OAAO,GAAG,EAAE;YACV,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,WAAW,GAAG,IAAA,qBAAY,GAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAA,qBAAY,GAAE,CAAC;QAEhC,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC;YACxD,iBAAO,CAAC,GAAG,CAAC,sBAAY,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;YACpD,iBAAO,CAAC,MAAM,CAAC,sBAAY,CAAC,UAAU,CAAC;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gCAAgC;IAChC,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,6EAA6E;IAErE,KAAK,CAAC,aAAa,CACzB,IAAY,EACZ,MAAkB,EAClB,YAAuB,QAAQ;;QAE/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE3D,IAAI,aAAa,GAAwB,MAAM,CAAC;QAChD,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtC,aAAa,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,MAAM,OAAO,+CACX,IAAI,EACJ,OAAO,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,WAAW,EACxC,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,SAAS,EAAE,IAAI,CAAC,QAAQ,EACxB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACrC,MAAM,EAAE,aAAa,EACrB,SAAS,kCAAO,IAAI,CAAC,SAAS,KAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,KACxD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IACpB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,GAC1E,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAO,EAAE,MAAM,EAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GACtE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAC9E,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YACvD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAkB,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAC1C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,YAAY,CAAC,SAAiB,EAAE,UAA2B;;QACjE,MAAM,OAAO,GAAiB;YAC5B,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE;YACzB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAAE;YAC7B,GAAG,EAAE;gBACH,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;aACpC;SACF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,IAAA,qBAAY,GAAE;YACxB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACrC,OAAO,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE;YAC1B,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,YAAY,EAAE,IAAI,CAAC,WAAW;YAC9B,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,UAAU;YACV,SAAS,kCAAO,IAAI,CAAC,SAAS,KAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAE;YAC1D,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO;YACP,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,KAAe;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,KAAe;QACtC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,MAAkB;QACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC;QACrD,MAAM,OAAO,GAAG,EAAE,MAAM,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAEvD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,SAAS,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAe;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACpD,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAChC,CAAC;IAED,6EAA6E;IAErE,aAAa,CAAC,OAAe,EAAE,SAAiB;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;YACrC,CAAC,CAAC,IAAA,0BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;YACrF,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC/B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC9B,aAAa,EAAE,SAAS;YACxB,cAAc,EAAE,SAAS;YACzB,YAAY,EAAE,IAAA,qBAAY,GAAE;YAC5B,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;SACrC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAI,GAAW,EAAE,OAA+B,EAAE,IAAY;;QAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6C,CAAC;QAE9E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,KAAK,MAAA,IAAI,CAAC,OAAO,mCAAI,eAAe,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,OAA+B;;QACvE,MAAM,EAAE,cAAc,EAAE,GAAG,KAAoB,OAAO,EAAtB,UAAU,UAAK,OAAO,EAAhD,gBAAsC,CAAU,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6C,CAAC;QAE9E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,mCAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,IAAI,KAAK,MAAA,IAAI,CAAC,OAAO,mCAAI,eAAe,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,6EAA6E;IAErE,SAAS,CAAC,GAAqB,EAAE,KAAc;QACpD,IAAI,CAAC,UAAsC,CAAC,GAAa,CAAC,GAAG,KAAK,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IAC5D,aAAa,CAAC,QAAuB;QAC3C,MAAM,CAAC,GAA4B,EAAE,CAAC;QACtC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,EAAE,YAAY,KAAc,CAAC,EAAV,IAAI,UAAK,CAAC,EAA7B,gBAAyB,CAAI,CAAC;YACpC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,WAAW,CAAC,MAAmB;QACrC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,KAA6B,MAAM,CAAC,CAAC,CAAC,EAAtC,EAAE,UAAU,EAAE,CAAC,OAAuB,EAAlB,IAAI,cAAxB,cAA0B,CAAY,CAAC;QAC7C,OAAO,EAAE,QAAQ,kBAAI,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAK,IAAI,CAAE,EAAE,CAAC;IACrE,CAAC;IAEO,aAAa,CAAC,QAAuB;QAC3C,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAChC,MAAM,KAA+B,QAAQ,CAAC,CAAC,CAAC,EAA1C,EAAE,YAAY,EAAE,CAAC,OAAyB,EAApB,IAAI,cAA1B,gBAA4B,CAAc,CAAC;QACjD,OAAO,EAAE,UAAU,kBAAI,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,IAAK,IAAI,CAAE,EAAE,CAAC;IAC7E,CAAC;IAEO,uBAAuB,CAAC,MAAkB;QAChD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE,CAAC;YACrC,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;gBACjD,MAAkC,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAW;QACpC,IAAI,KAAK,GAAG,MAAM,iBAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAA,qBAAY,GAAE,CAAC;YACvB,MAAM,iBAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU;;QAChB,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAC5D,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAA,MAAA,MAAA,aAAa,CAAC,eAAe,0CAAE,QAAQ,0CAAE,WAAW;wBACtD,MAAA,MAAA,MAAA,aAAa,CAAC,eAAe,0CAAE,QAAQ,0CAAE,cAAc,0CAAG,CAAC,CAAC,CAAA;uBAC5D,OAAO,CAAC;YACf,CAAC;YACD,OAAO,CAAA,MAAA,aAAa,CAAC,WAAW,0CAAE,gBAAgB,KAAI,OAAO,CAAC;QAChE,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAC7C,OAAO,QAAQ,CAAC,EAAE,CAAC;QACrB,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;QAC1D,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,kBAAkB,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,IAAI,CAAC,GAAG,IAAe;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,GAAG,IAAe;QAClC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF;AArzBD,4BAqzBC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { CdpRnSdk } from './CdpRnSdk';
2
- export type { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, EventContext, CdpEvent, PartyType, ProfilePayload, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, } from './types';
2
+ export type { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, EventContext, CdpEvent, PartyType, ProfilePayload, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, NotificationEventType, NotificationTrackPayload, NotificationTrackOptions, NotificationTrackResponse, NotificationInboxListParams, NotificationInboxItem, NotificationInboxListResponse, NotificationInboxDetailParams, NotificationInboxDetailResponse, NotiMessageLike, NotiSdkLike, } from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,+BAA+B,EAC/B,eAAe,EACf,WAAW,GACZ,MAAM,SAAS,CAAC"}
package/dist/types.d.ts CHANGED
@@ -9,6 +9,8 @@ export interface CdpRnConfig {
9
9
  batchSize?: number;
10
10
  batchInterval?: number;
11
11
  enableEncryption?: boolean;
12
+ /** Domain riêng cho API notification-inbox (vd: track-by-tracking-id). Bắt buộc nếu dùng trackNotificationEvent()/bindNotificationTracking(). */
13
+ notificationApiBaseUrl?: string;
12
14
  }
13
15
  export interface UserTraits {
14
16
  full_name?: string;
@@ -147,4 +149,84 @@ export interface UserIdentities {
147
149
  session_id: string;
148
150
  [key: string]: unknown;
149
151
  }
152
+ export type NotificationEventType = 'delivered' | 'open' | 'click' | 'dismiss' | 'read';
153
+ export interface NotificationTrackPayload {
154
+ tracking_id: string;
155
+ user_app_id?: string;
156
+ user_profile_id?: string;
157
+ device_id?: string;
158
+ event_type: NotificationEventType;
159
+ platform?: string;
160
+ button_id?: string;
161
+ deeplink?: string;
162
+ current_screen?: string;
163
+ metadata?: unknown[];
164
+ }
165
+ export interface NotificationTrackOptions {
166
+ userAppId?: string;
167
+ userProfileId?: string;
168
+ deviceId?: string;
169
+ platform?: string;
170
+ buttonId?: string;
171
+ deeplink?: string;
172
+ currentScreen?: string;
173
+ metadata?: unknown[];
174
+ }
175
+ export interface NotificationTrackResponse {
176
+ code?: number;
177
+ message?: string;
178
+ [key: string]: unknown;
179
+ }
180
+ export interface NotificationInboxListParams {
181
+ userAppId?: string;
182
+ deviceId?: string;
183
+ userProfileId?: string;
184
+ /** Mặc định 'all' */
185
+ filter?: string;
186
+ /** Mặc định 20 */
187
+ perPage?: number;
188
+ /** Cursor phân trang — lấy từ next_cursor của lần gọi trước */
189
+ cursor?: string;
190
+ }
191
+ export interface NotificationInboxItem {
192
+ tracking_id?: string;
193
+ title?: string;
194
+ body?: string;
195
+ event_type?: NotificationEventType;
196
+ deeplink?: string;
197
+ read_at?: string | null;
198
+ created_at?: string;
199
+ [key: string]: unknown;
200
+ }
201
+ export interface NotificationInboxListResponse {
202
+ code?: number;
203
+ message?: string;
204
+ data?: NotificationInboxItem[];
205
+ next_cursor?: string | null;
206
+ has_more?: boolean;
207
+ [key: string]: unknown;
208
+ }
209
+ export interface NotificationInboxDetailParams {
210
+ userAppId?: string;
211
+ deviceId?: string;
212
+ }
213
+ export interface NotificationInboxDetailResponse {
214
+ code?: number;
215
+ message?: string;
216
+ data?: NotificationInboxItem;
217
+ [key: string]: unknown;
218
+ }
219
+ /** Shape tối thiểu của message do react-native-noti-sdk trả về (data luôn là string map). */
220
+ export interface NotiMessageLike {
221
+ id?: string;
222
+ title?: string;
223
+ body?: string;
224
+ data?: Record<string, string>;
225
+ }
226
+ /** Duck-typed interface — khớp với API của react-native-noti-sdk, không yêu cầu import trực tiếp package đó. */
227
+ export interface NotiSdkLike {
228
+ onMessage: (handler: (message: NotiMessageLike) => void) => () => void;
229
+ onNotificationOpened: (handler: (message: NotiMessageLike) => void) => () => void;
230
+ getInitialNotification?: () => Promise<NotiMessageLike | null>;
231
+ }
150
232
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ interface CdpRnConfig {
26
26
  batchSize?: number; // mặc định 10
27
27
  batchInterval?: number; // mặc định 5000 ms
28
28
  enableEncryption?: boolean; // mặc định true
29
+ notificationApiBaseUrl?: string; // domain API notification-inbox
29
30
  }
30
31
  ```
31
32
 
@@ -108,6 +109,51 @@ async flush(): Promise<void>
108
109
 
109
110
  ---
110
111
 
112
+ ## Notification Inbox Tracking Methods
113
+
114
+ ```typescript
115
+ async getNotificationInboxList(options?: {
116
+ userAppId?: string;
117
+ userProfileId?: string;
118
+ deviceId?: string;
119
+ filter?: string; // mặc định 'all'
120
+ perPage?: number; // mặc định 20
121
+ cursor?: string;
122
+ }): Promise<{
123
+ code?: number;
124
+ message?: string;
125
+ data?: NotificationInboxItem[];
126
+ next_cursor?: string | null;
127
+ has_more?: boolean;
128
+ } | undefined>
129
+
130
+ async getNotificationInboxDetail(
131
+ trackingId: string,
132
+ options?: { userAppId?: string; deviceId?: string }
133
+ ): Promise<{ code?: number; message?: string; data?: NotificationInboxItem } | undefined>
134
+
135
+ async trackNotificationEvent(
136
+ trackingId: string,
137
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
138
+ options?: {
139
+ userAppId?: string;
140
+ userProfileId?: string;
141
+ deviceId?: string;
142
+ platform?: string;
143
+ buttonId?: string;
144
+ deeplink?: string;
145
+ currentScreen?: string;
146
+ metadata?: unknown[];
147
+ }
148
+ ): Promise<{ code?: number; message?: string } | undefined>
149
+
150
+ bindNotificationTracking(notiSdk: NotiSdkLike): () => void // trả về unsubscribe
151
+ ```
152
+
153
+ Xem chi tiết tại [Notification Inbox Tracking →](./notifications.md).
154
+
155
+ ---
156
+
111
157
  ## Session & Identity Methods
112
158
 
113
159
  ```typescript
@@ -135,6 +135,7 @@ await cdp.destroy_session();
135
135
  | `batchSize` | `number` | `10` | Số events tối đa trong 1 batch |
136
136
  | `batchInterval` | `number` | `5000` | Thời gian (ms) giữa các lần flush tự động |
137
137
  | `enableEncryption` | `boolean` | `true` | Mã hoá PII bằng AES-256-CBC |
138
+ | `notificationApiBaseUrl` | `string` | — | Domain API notification-inbox (dùng cho `trackNotificationEvent()`) |
138
139
 
139
140
  ---
140
141
 
@@ -151,6 +152,7 @@ await cdp.destroy_session();
151
152
 
152
153
  - [Profile & Traits →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/profile.md)
153
154
  - [Event Tracking →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/events.md)
155
+ - [Notification Inbox Tracking →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/notifications.md)
154
156
  - [Tích hợp React Navigation →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/integration-react-navigation.md)
155
157
  - [Bảo mật →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/security.md)
156
158
  - [API Reference →](https://gitlab.ovp.vn/dlc/vc-cdk-sdk/-/blob/master/vc-cdp-rn-sdk/docs/api-reference.md)
@@ -0,0 +1,190 @@
1
+ # Notification Inbox Tracking
2
+
3
+ Hướng dẫn tích hợp [`react-native-noti-sdk`](https://www.npmjs.com/package/react-native-noti-sdk)
4
+ (FCM + Notifee) với `vc-cdp-rn-sdk` để tracking các sự kiện thông báo
5
+ (delivered / open / click / dismiss / read) qua notification-inbox API.
6
+
7
+ ---
8
+
9
+ ## 1. Cài đặt
10
+
11
+ ```bash
12
+ npm install react-native-noti-sdk
13
+ npm install @react-native-firebase/app @react-native-firebase/messaging @notifee/react-native @react-native-clipboard/clipboard
14
+ ```
15
+
16
+ ```bash
17
+ cd ios && pod install
18
+ ```
19
+
20
+ > Xem thêm cấu hình Firebase / channel Android tại README của
21
+ > `react-native-noti-sdk`.
22
+
23
+ ---
24
+
25
+ ## 2. Cấu hình domain
26
+
27
+ API notification-inbox thường nằm trên domain **khác** với API ingest event/profile,
28
+ nên cần khai báo riêng khi khởi tạo SDK:
29
+
30
+ ```typescript
31
+ const cdp = await CdpRnSdk.create({
32
+ apiKey: 'YOUR_API_KEY',
33
+ secretKey: 'YOUR_SECRET_KEY',
34
+ source: 'DOP',
35
+ serviceName: 'VC_APP',
36
+ baseUrl: 'https://ingestlog.vietcredit.com.vn',
37
+
38
+ // Domain riêng cho notification-inbox (list / detail / track)
39
+ notificationApiBaseUrl: 'https://consolecdp-dev.ovp.vn', // tạm thời dùng domain dev
40
+ });
41
+ ```
42
+
43
+ Nếu không set `notificationApiBaseUrl`, `trackNotificationEvent()`,
44
+ `getNotificationInboxList()` và `getNotificationInboxDetail()` sẽ bỏ qua
45
+ và log lỗi (không throw).
46
+
47
+ ---
48
+
49
+ ## 3. Tự động track `delivered` / `open`
50
+
51
+ `bindNotificationTracking()` gắn `react-native-noti-sdk` vào CDP SDK: tự động
52
+ gọi `trackNotificationEvent()` khi nhận message (`delivered`) và khi user tap
53
+ mở app từ thông báo (`open`), miễn là payload push có field `tracking_id`
54
+ trong `data`.
55
+
56
+ ```typescript
57
+ import NotiSdk from 'react-native-noti-sdk';
58
+ import { cdp } from './cdp';
59
+
60
+ async function setupPush() {
61
+ await NotiSdk.init({ debug: true });
62
+
63
+ // Tự động: onMessage → 'delivered', onNotificationOpened/getInitialNotification → 'open'
64
+ const unbind = cdp.bindNotificationTracking(NotiSdk);
65
+
66
+ // ... unbind() khi cleanup nếu cần
67
+ }
68
+ ```
69
+
70
+ Payload push phải nhúng `tracking_id`, ví dụ FCM `data`:
71
+
72
+ ```json
73
+ {
74
+ "tracking_id": "b7e6c1a2-...",
75
+ "deeplink": "app://home"
76
+ }
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 4. Track thủ công `click` / `dismiss` / `read`
82
+
83
+ `react-native-noti-sdk` không có callback riêng cho các sự kiện này (nhấn nút
84
+ trong `displayCustomNotification`, dismiss, hoặc đọc trong màn hình inbox) —
85
+ gọi `trackNotificationEvent()` trực tiếp tại nơi xử lý:
86
+
87
+ ```typescript
88
+ // Khi user nhấn nút trong custom notification
89
+ cdp.trackNotificationEvent(trackingId, 'click', {
90
+ buttonId: 'btn_1',
91
+ deeplink: 'app://home',
92
+ currentScreen: 'HomeScreen',
93
+ });
94
+
95
+ // Khi user dismiss thông báo
96
+ cdp.trackNotificationEvent(trackingId, 'dismiss');
97
+
98
+ // Khi user đọc thông báo trong màn hình inbox
99
+ cdp.trackNotificationEvent(trackingId, 'read', { currentScreen: 'NotificationInboxScreen' });
100
+ ```
101
+
102
+ ---
103
+
104
+ ## 5. Lấy danh sách và chi tiết thông báo
105
+
106
+ ### getNotificationInboxList — Danh sách (phân trang)
107
+
108
+ ```typescript
109
+ const page1 = await cdp.getNotificationInboxList({ filter: 'all', perPage: 20 });
110
+
111
+ console.log(page1?.data); // NotificationInboxItem[]
112
+ console.log(page1?.next_cursor); // dùng cho trang tiếp theo
113
+
114
+ // Trang tiếp theo
115
+ const page2 = await cdp.getNotificationInboxList({
116
+ filter: 'all',
117
+ perPage: 20,
118
+ cursor: page1?.next_cursor ?? undefined,
119
+ });
120
+ ```
121
+
122
+ `userAppId` / `userProfileId` / `deviceId` tự lấy từ state hiện tại của SDK
123
+ (`identifyUser()` / `getDeviceId()`) nếu không truyền vào — tương tự
124
+ `trackNotificationEvent()`.
125
+
126
+ ### getNotificationInboxDetail — Chi tiết theo tracking_id
127
+
128
+ ```typescript
129
+ const detail = await cdp.getNotificationInboxDetail('b7e6c1a2-...');
130
+ console.log(detail?.data);
131
+ ```
132
+
133
+ ---
134
+
135
+ ## API
136
+
137
+ ```typescript
138
+ async getNotificationInboxList(options?: {
139
+ userAppId?: string; // mặc định: user_id hiện tại, '' nếu chưa login
140
+ userProfileId?: string; // mặc định: profile_id hiện tại, '' nếu chưa có
141
+ deviceId?: string; // mặc định: device_id của SDK
142
+ filter?: string; // mặc định 'all'
143
+ perPage?: number; // mặc định 20
144
+ cursor?: string; // phân trang — lấy từ next_cursor
145
+ }): Promise<{
146
+ code?: number;
147
+ message?: string;
148
+ data?: NotificationInboxItem[];
149
+ next_cursor?: string | null;
150
+ has_more?: boolean;
151
+ } | undefined>
152
+
153
+ async getNotificationInboxDetail(
154
+ trackingId: string,
155
+ options?: {
156
+ userAppId?: string; // mặc định: user_id hiện tại, '' nếu chưa login
157
+ deviceId?: string; // mặc định: device_id của SDK
158
+ }
159
+ ): Promise<{ code?: number; message?: string; data?: NotificationInboxItem } | undefined>
160
+
161
+ async trackNotificationEvent(
162
+ trackingId: string,
163
+ eventType: 'delivered' | 'open' | 'click' | 'dismiss' | 'read',
164
+ options?: {
165
+ userAppId?: string; // mặc định: user_id hiện tại (identifyUser), '' nếu chưa login
166
+ userProfileId?: string; // mặc định: profile_id hiện tại, '' nếu chưa có profile_id
167
+ deviceId?: string; // mặc định: device_id của SDK
168
+ platform?: string; // mặc định: Platform.OS ('android' | 'ios')
169
+ buttonId?: string;
170
+ deeplink?: string;
171
+ currentScreen?: string;
172
+ metadata?: unknown[];
173
+ }
174
+ ): Promise<{ code?: number; message?: string } | undefined>
175
+
176
+ bindNotificationTracking(notiSdk: {
177
+ onMessage: (handler: (message: { data?: Record<string,string> }) => void) => () => void;
178
+ onNotificationOpened: (handler: (message: { data?: Record<string,string> }) => void) => () => void;
179
+ getInitialNotification?: () => Promise<{ data?: Record<string,string> } | null>;
180
+ }): () => void // unsubscribe
181
+ ```
182
+
183
+ | Method | Endpoint |
184
+ |---|---|
185
+ | `getNotificationInboxList()` | `POST {notificationApiBaseUrl}/api/v1/notification-inbox` |
186
+ | `getNotificationInboxDetail()` | `POST {notificationApiBaseUrl}/api/v1/notification-inbox/by-tracking-id?tracking_id=...` |
187
+ | `trackNotificationEvent()` | `POST {notificationApiBaseUrl}/api/v1/notification-inbox/track-by-tracking-id` |
188
+
189
+ Cả 3 endpoint không dùng HMAC signature như API ingest — chỉ header
190
+ `Content-Type: application/json`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vc-cdp-rn-sdk",
3
- "version": "0.1.2",
3
+ "version": "0.1.4",
4
4
  "description": "CDP SDK for React Native - Customer Data Platform tracking for iOS and Android",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -36,7 +36,13 @@
36
36
  "@react-native-async-storage/async-storage": ">=1.17.0",
37
37
  "react": ">=17.0.0",
38
38
  "react-native": ">=0.68.0",
39
- "react-native-device-info": ">=10.0.0"
39
+ "react-native-device-info": ">=10.0.0",
40
+ "react-native-noti-sdk": ">=0.2.0"
41
+ },
42
+ "peerDependenciesMeta": {
43
+ "react-native-noti-sdk": {
44
+ "optional": true
45
+ }
40
46
  },
41
47
  "dependencies": {
42
48
  "crypto-js": "^4.2.0"