vc-cdp-rn-sdk 0.1.0 → 0.1.1

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
@@ -537,3 +537,16 @@ Sử dụng thư viện `crypto-js` — pure JavaScript, không cần link nativ
537
537
  | `track()` / `flush()` (batch) | POST | `/v2/events/batch` |
538
538
  | Trait setters | POST | `/v1/profiles/track` (type: update) |
539
539
  | `destroy_session()` | POST | `/v1/profiles/track` (type: logout) |
540
+
541
+ ---
542
+
543
+ ## Tài liệu chi tiết
544
+
545
+ | File | Nội dung |
546
+ |---|---|
547
+ | [docs/getting-started.md](docs/getting-started.md) | Hướng dẫn bắt đầu từ đầu |
548
+ | [docs/profile.md](docs/profile.md) | Profile, traits, consents, scores, products |
549
+ | [docs/events.md](docs/events.md) | Event tracking, batching, screen view |
550
+ | [docs/security.md](docs/security.md) | HMAC signature, AES encryption |
551
+ | [docs/api-reference.md](docs/api-reference.md) | Toàn bộ API với type signatures |
552
+ | [docs/integration-react-navigation.md](docs/integration-react-navigation.md) | React Navigation integration |
@@ -119,6 +119,9 @@ export declare class CdpRnSdk {
119
119
  private _request;
120
120
  private _requestGet;
121
121
  private _setTrait;
122
+ private _toConsentMap;
123
+ private _toScoreMap;
124
+ private _toProductMap;
122
125
  private _extractSensitiveTraits;
123
126
  private _getOrCreate;
124
127
  private _getLocale;
@@ -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
@@ -116,14 +116,10 @@ class CdpRnSdk {
116
116
  encodedTraits = (0, crypto_1.encryptTraits)(this.config.secretKey, timestamp, sensitive);
117
117
  }
118
118
  }
119
- const body = {
120
- profile_id: profileId,
121
- traits: encodedTraits,
122
- consents: (_b = payload.consents) !== null && _b !== void 0 ? _b : (this.consents.length ? this.consents : undefined),
123
- scores: (_c = payload.scores) !== null && _c !== void 0 ? _c : (this.scores.length ? this.scores : undefined),
124
- products: (_d = payload.products) !== null && _d !== void 0 ? _d : (this.products.length ? this.products : undefined),
125
- metadata: Object.assign(Object.assign({}, this.metadata), payload.metadata),
126
- };
119
+ const rawConsents = (_b = payload.consents) !== null && _b !== void 0 ? _b : (this.consents.length ? this.consents : undefined);
120
+ const rawScores = (_c = payload.scores) !== null && _c !== void 0 ? _c : (this.scores.length ? this.scores : undefined);
121
+ const rawProducts = (_d = payload.products) !== null && _d !== void 0 ? _d : (this.products.length ? this.products : undefined);
122
+ const body = Object.assign(Object.assign(Object.assign(Object.assign({ profile_id: profileId, service_name: this.config.serviceName, app_id: [this.config.source], traits: encodedTraits }, (rawConsents && { consents: this._toConsentMap(rawConsents) })), (rawScores && { scores: this._toScoreMap(rawScores) })), (rawProducts && { products: this._toProductMap(rawProducts) })), { metadata: Object.assign(Object.assign({}, this.metadata), payload.metadata) });
127
123
  try {
128
124
  const headers = this._buildHeaders(body, timestamp);
129
125
  return await this._request(url, headers, body);
@@ -325,7 +321,7 @@ class CdpRnSdk {
325
321
  encodedTraits = (0, crypto_1.encryptTraits)(this.config.secretKey, timestamp, sensitive);
326
322
  }
327
323
  }
328
- const payload = Object.assign(Object.assign(Object.assign({ type, user_id: (_a = this.userId) !== null && _a !== void 0 ? _a : this.anonymousId, session_id: this.sessionId, device_id: this.deviceId, party_type: partyType, service_name: this.config.serviceName, traits: encodedTraits, platforms: Object.assign(Object.assign({}, this.platforms), { device_id: this.deviceId }), campaign: this.campaign, metadata: this.metadata }, (this.consents.length && { consents: this.consents })), (this.scores.length && { scores: this.scores })), (this.products.length && { products: this.products }));
324
+ const payload = Object.assign(Object.assign(Object.assign({ type, user_id: (_a = this.userId) !== null && _a !== void 0 ? _a : this.anonymousId, session_id: this.sessionId, device_id: this.deviceId, party_type: partyType, service_name: this.config.serviceName, traits: encodedTraits, platforms: Object.assign(Object.assign({}, this.platforms), { device_id: this.deviceId }), campaign: this.campaign, metadata: this.metadata }, (this.consents.length && { consents: this._toConsentMap(this.consents) })), (this.scores.length && { scores: this._toScoreMap(this.scores) })), (this.products.length && { products: this._toProductMap(this.products) }));
329
325
  if (this.profileId) {
330
326
  payload.profile_id = this.profileId;
331
327
  }
@@ -465,6 +461,27 @@ class CdpRnSdk {
465
461
  this._trackProfile('update', { [key]: value });
466
462
  return this;
467
463
  }
464
+ // CDP API expects LinkedHashMap format for consents/scores/products
465
+ _toConsentMap(consents) {
466
+ const m = {};
467
+ for (const c of consents) {
468
+ const { consent_type } = c, rest = __rest(c, ["consent_type"]);
469
+ m[consent_type] = rest;
470
+ }
471
+ return m;
472
+ }
473
+ _toScoreMap(scores) {
474
+ if (!scores.length)
475
+ return {};
476
+ const _a = scores[0], { score_type: _ } = _a, rest = __rest(_a, ["score_type"]);
477
+ return { score_id: Object.assign({ score_type: scores[0].score_type }, rest) };
478
+ }
479
+ _toProductMap(products) {
480
+ if (!products.length)
481
+ return {};
482
+ const _a = products[0], { product_code: _ } = _a, rest = __rest(_a, ["product_code"]);
483
+ return { product_id: Object.assign({ product_code: products[0].product_code }, rest) };
484
+ }
468
485
  _extractSensitiveTraits(traits) {
469
486
  const result = {};
470
487
  for (const field of SENSITIVE_FIELDS) {
@@ -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":"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"}
package/dist/types.d.ts CHANGED
@@ -109,9 +109,9 @@ export interface ProfilePayload {
109
109
  campaign: CampaignInfo;
110
110
  metadata: Record<string, unknown>;
111
111
  profile_id?: string;
112
- consents?: ConsentInfo[];
113
- scores?: ScoreInfo[];
114
- products?: ProductInfo[];
112
+ consents?: Record<string, unknown>;
113
+ scores?: Record<string, unknown>;
114
+ products?: Record<string, unknown>;
115
115
  }
116
116
  export interface ProfileUpdatePayload {
117
117
  profile_id: string;
@@ -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":"AAAA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,eAAe,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;IAC5B,SAAS,EAAE,YAAY,CAAC;IACxB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC7B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,198 @@
1
+ # API Reference
2
+
3
+ Toàn bộ API của `vc-cdp-rn-sdk` với TypeScript signatures.
4
+
5
+ ---
6
+
7
+ ## Factory
8
+
9
+ ```typescript
10
+ static async create(config: CdpRnConfig): Promise<CdpRnSdk>
11
+ ```
12
+
13
+ Khởi tạo async, gọi một lần khi app start. Mỗi lần `create()` tạo `session_id` mới.
14
+
15
+ ### CdpRnConfig
16
+
17
+ ```typescript
18
+ interface CdpRnConfig {
19
+ apiKey: string; // bắt buộc
20
+ secretKey: string; // bắt buộc
21
+ source: string; // bắt buộc — kênh tích hợp
22
+ serviceName: string; // bắt buộc — VC_APP | DOP | LOS | LMS
23
+ baseUrl?: string; // mặc định staging
24
+ isTest?: boolean; // mặc định false
25
+ debug?: boolean; // mặc định false
26
+ batchSize?: number; // mặc định 10
27
+ batchInterval?: number; // mặc định 5000 ms
28
+ enableEncryption?: boolean; // mặc định true
29
+ }
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Profile Methods
35
+
36
+ ```typescript
37
+ async identifyUser(
38
+ userId: string,
39
+ traits?: UserTraits,
40
+ partyType?: 'PERSON' | 'ORG'
41
+ ): Promise<this>
42
+
43
+ async identify(userId: string, traits?: UserTraits): Promise<this> // alias
44
+
45
+ async updateProfile(payload: {
46
+ profile_id?: string;
47
+ traits?: UserTraits;
48
+ consents?: ConsentInfo[];
49
+ scores?: ScoreInfo[];
50
+ products?: ProductInfo[];
51
+ metadata?: Record<string, unknown>;
52
+ }): Promise<ProfileResponse | undefined>
53
+
54
+ async getProfile(profileId?: string): Promise<ProfileData | undefined>
55
+ ```
56
+
57
+ ---
58
+
59
+ ## Trait Setter Methods
60
+
61
+ Tất cả chainable, trả về `this`.
62
+
63
+ ```typescript
64
+ add_first_name(v: string): this
65
+ add_last_name(v: string): this
66
+ add_user_name(v: string): this
67
+ add_email(v: string): this
68
+ add_mobile(v: string): this
69
+ add_gender(v: 'M' | 'F' | 'O'): this
70
+ add_birthday(v: string | Date): this
71
+ add_idcard(v: string): this
72
+ add_old_idcard(v: string): this
73
+ add_address(v: string): this
74
+ add_occupation(v: string): this
75
+ add_nationality(v: string): this
76
+ add_marital_status(v: string): this
77
+ add_religion(v: string): this
78
+ add_zalo_id(v: string): this
79
+ add_tiktok_id(v: string): this
80
+ add_user_attribute(name: string, value: unknown): this
81
+ add_user_attributes(attrs: UserTraits): this
82
+ setUserAttributes(attrs: UserTraits): this
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Consent / Score / Product / Campaign Methods
88
+
89
+ ```typescript
90
+ setConsents(consents: ConsentInfo[]): this
91
+ setScores(scores: ScoreInfo[]): this
92
+ setProducts(products: ProductInfo[]): this
93
+ setMetadata(meta: Record<string, unknown>): this
94
+ setCampaign(info: CampaignInfo): this
95
+ setPlatform(info: PlatformInfo): this
96
+ setPushToken(token: string): this
97
+ ```
98
+
99
+ ---
100
+
101
+ ## Event Tracking Methods
102
+
103
+ ```typescript
104
+ track(eventName: string, properties?: Record<string, unknown>): void
105
+ screen(screenName: string, properties?: Record<string, unknown>): void
106
+ async flush(): Promise<void>
107
+ ```
108
+
109
+ ---
110
+
111
+ ## Session & Identity Methods
112
+
113
+ ```typescript
114
+ getUserIdentities(): UserIdentities
115
+ getProfileId(): string | null
116
+ getDeviceId(): string
117
+ getSessionId(): string
118
+ getUserAttribute(name: keyof UserTraits): unknown
119
+
120
+ async destroy_session(): Promise<this>
121
+ async reset(): Promise<this> // alias
122
+ async destroy(): Promise<void> // cleanup timers + flush
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Types
128
+
129
+ ### UserTraits
130
+
131
+ ```typescript
132
+ interface UserTraits {
133
+ full_name?: string;
134
+ first_name?: string;
135
+ last_name?: string;
136
+ phone?: string; // 🔒 PII
137
+ email?: string; // 🔒 PII
138
+ gender?: 'M' | 'F' | 'O';
139
+ dob?: string; // 'yyyy-MM-dd'
140
+ idcard?: string; // 🔒 PII
141
+ old_idcard?: string; // 🔒 PII
142
+ address?: string; // 🔒 PII
143
+ occupation?: string;
144
+ nationality?: string;
145
+ marital_status?: string;
146
+ religion?: string; // 🔒 PII
147
+ zalo_id?: string;
148
+ tiktok_id?: string;
149
+ mps_verified?: boolean;
150
+ kyc_status?: string;
151
+ [key: string]: unknown;
152
+ }
153
+ ```
154
+
155
+ ### ConsentInfo / ScoreInfo / ProductInfo
156
+
157
+ ```typescript
158
+ interface ConsentInfo {
159
+ consent_type: string;
160
+ status: boolean;
161
+ consent_date?: string; // 'yyyy-MM-dd'
162
+ }
163
+
164
+ interface ScoreInfo {
165
+ score_type: string;
166
+ score_value: number;
167
+ score_date?: string;
168
+ }
169
+
170
+ interface ProductInfo {
171
+ product_code: string;
172
+ product_name?: string;
173
+ status?: string;
174
+ }
175
+ ```
176
+
177
+ ### ProfileResponse
178
+
179
+ ```typescript
180
+ interface ProfileResponse {
181
+ code: number;
182
+ message: string;
183
+ transaction_id: string;
184
+ profile_id: string;
185
+ }
186
+ ```
187
+
188
+ ### UserIdentities
189
+
190
+ ```typescript
191
+ interface UserIdentities {
192
+ user_id: string | null;
193
+ profile_id: string | null;
194
+ anonymous_id: string;
195
+ device_id: string;
196
+ session_id: string;
197
+ }
198
+ ```
package/docs/events.md ADDED
@@ -0,0 +1,151 @@
1
+ # Event Tracking
2
+
3
+ Hướng dẫn theo dõi hành vi người dùng trong React Native app.
4
+
5
+ ---
6
+
7
+ ## track() — Custom event
8
+
9
+ ```typescript
10
+ cdp.track(eventName, properties?)
11
+ ```
12
+
13
+ ```typescript
14
+ cdp.track('loan_viewed', {
15
+ loan_id: 'LOAN_001',
16
+ amount: 50_000_000,
17
+ term: 24,
18
+ type: 'consumer',
19
+ });
20
+
21
+ cdp.track('button_click', { button: 'apply_now', screen: 'LoanDetailScreen' });
22
+
23
+ cdp.track('form_submitted', { form: 'loan_application', success: true });
24
+ ```
25
+
26
+ ---
27
+
28
+ ## screen() — Màn hình
29
+
30
+ Track lượt xem màn hình. Gửi event `screen_view`.
31
+
32
+ ```typescript
33
+ cdp.screen(screenName, properties?)
34
+ ```
35
+
36
+ ```typescript
37
+ // Navigation listener (React Navigation)
38
+ cdp.screen('HomeScreen');
39
+ cdp.screen('LoanDetailScreen', { loan_code: 'CONSUMER_24M' });
40
+ cdp.screen('ProfileScreen', { tab: 'personal_info' });
41
+ ```
42
+
43
+ ---
44
+
45
+ ## Tích hợp React Navigation
46
+
47
+ ```typescript
48
+ // App.tsx
49
+ import { NavigationContainer, useNavigationContainerRef } from '@react-navigation/native';
50
+ import { cdp } from './cdp';
51
+
52
+ export default function App() {
53
+ const navRef = useNavigationContainerRef();
54
+
55
+ return (
56
+ <NavigationContainer
57
+ ref={navRef}
58
+ onReady={() => {
59
+ const name = navRef.getCurrentRoute()?.name;
60
+ if (name) cdp.screen(name);
61
+ }}
62
+ onStateChange={() => {
63
+ const name = navRef.getCurrentRoute()?.name;
64
+ if (name) cdp.screen(name);
65
+ }}
66
+ >
67
+ {/* Stack / Tab / Drawer navigators */}
68
+ </NavigationContainer>
69
+ );
70
+ }
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Batch Processing
76
+
77
+ Events được gom vào **queue** rồi flush theo điều kiện:
78
+
79
+ | Điều kiện | Mô tả |
80
+ |---|---|
81
+ | `batchSize` đạt ngưỡng | Mặc định 10 events |
82
+ | `batchInterval` timeout | Mặc định 5 000 ms |
83
+ | `flush()` gọi thủ công | Ngay lập tức |
84
+ | App vào background | Gọi `flush()` trước `AppState` change |
85
+
86
+ ```typescript
87
+ const cdp = await CdpRnSdk.create({
88
+ batchSize: 20,
89
+ batchInterval: 3000,
90
+ });
91
+ ```
92
+
93
+ ### flush() — Gửi ngay
94
+
95
+ ```typescript
96
+ await cdp.flush();
97
+ ```
98
+
99
+ ```typescript
100
+ // Đảm bảo event được gửi trước khi app vào background
101
+ import { AppState } from 'react-native';
102
+
103
+ AppState.addEventListener('change', async (state) => {
104
+ if (state === 'background') {
105
+ await cdp.flush();
106
+ }
107
+ });
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Event Context
113
+
114
+ Mỗi event tự động gắn:
115
+
116
+ ```json
117
+ {
118
+ "event_id": "uuid-...",
119
+ "type": "track",
120
+ "event_name": "loan_viewed",
121
+ "service_name": "VC_APP",
122
+ "user_id": "user_001",
123
+ "profile_id": "177671850461184000",
124
+ "anonymous_id": "uuid-...",
125
+ "device_id": "uuid-...",
126
+ "session_id": "uuid-...",
127
+ "properties": { "loan_id": "LOAN_001" },
128
+ "platforms": {
129
+ "platform": "android",
130
+ "brand": "Samsung",
131
+ "model": "Galaxy S24",
132
+ "os_name": "android",
133
+ "os_version": "14.0",
134
+ "app_version": "2.1.0",
135
+ "device_id": "uuid-..."
136
+ },
137
+ "campaign": { "utm_source": "facebook" },
138
+ "context": { "locale": "vi_VN", "timezone": "Asia/Ho_Chi_Minh" },
139
+ "event_time": "2025-06-25T10:30:00.000Z"
140
+ }
141
+ ```
142
+
143
+ ---
144
+
145
+ ## destroy() — Dọn dẹp
146
+
147
+ ```typescript
148
+ await cdp.destroy();
149
+ ```
150
+
151
+ Flush queue còn lại và xoá timer. Gọi khi unload SDK hoàn toàn.
@@ -0,0 +1,156 @@
1
+ # Getting Started
2
+
3
+ Hướng dẫn tích hợp `vc-cdp-rn-sdk` vào React Native từ đầu.
4
+
5
+ ---
6
+
7
+ ## 1. Cài đặt
8
+
9
+ ```bash
10
+ npm install vc-cdp-rn-sdk
11
+ ```
12
+
13
+ ### Peer Dependencies
14
+
15
+ SDK yêu cầu các package sau phải được cài riêng trong project:
16
+
17
+ ```bash
18
+ npm install @react-native-async-storage/async-storage
19
+ npm install react-native-device-info
20
+ ```
21
+
22
+ #### iOS — link native modules
23
+
24
+ ```bash
25
+ cd ios && pod install
26
+ ```
27
+
28
+ #### Android
29
+
30
+ Không cần thêm cấu hình nếu dùng React Native >= 0.68 (auto-linking).
31
+
32
+ ---
33
+
34
+ ## 2. Khởi tạo
35
+
36
+ Khởi tạo SDK **một lần duy nhất** tại entry point của app (thường là `App.tsx`). SDK dùng `AsyncStorage` nên init là **async**.
37
+
38
+ ```typescript
39
+ // App.tsx
40
+ import { CdpRnSdk } from 'vc-cdp-rn-sdk';
41
+
42
+ let cdp: CdpRnSdk;
43
+
44
+ export async function initCdp() {
45
+ cdp = await CdpRnSdk.create({
46
+ apiKey: 'YOUR_API_KEY',
47
+ secretKey: 'YOUR_SECRET_KEY',
48
+ source: 'DOP',
49
+ serviceName: 'VC_APP',
50
+ baseUrl: 'https://ingestlog.vietcredit.com.vn',
51
+ });
52
+ }
53
+
54
+ export { cdp };
55
+ ```
56
+
57
+ ```typescript
58
+ // App.tsx — gọi trong useEffect
59
+ import { useEffect } from 'react';
60
+ import { initCdp } from './cdp';
61
+
62
+ export default function App() {
63
+ useEffect(() => {
64
+ initCdp();
65
+ }, []);
66
+ // ...
67
+ }
68
+ ```
69
+
70
+ > **Lưu ý:** Mỗi lần `CdpRnSdk.create()` được gọi, SDK tự động tạo `session_id` mới — tương ứng với 1 lần mở app.
71
+
72
+ ---
73
+
74
+ ## 3. Track event đầu tiên
75
+
76
+ ```typescript
77
+ import { cdp } from './cdp';
78
+
79
+ // Track màn hình đầu tiên
80
+ cdp.screen('SplashScreen');
81
+
82
+ // Custom event
83
+ cdp.track('app_open', { platform: 'android', version: '2.1.0' });
84
+ ```
85
+
86
+ ---
87
+
88
+ ## 4. Identify user sau đăng nhập
89
+
90
+ ```typescript
91
+ await cdp.identifyUser('user_001', {
92
+ phone: '0901234567',
93
+ email: 'user@example.com',
94
+ full_name: 'Nguyễn Văn A',
95
+ });
96
+
97
+ console.log(cdp.getProfileId()); // → "177671850461184000"
98
+ ```
99
+
100
+ ---
101
+
102
+ ## 5. Track events sau login
103
+
104
+ ```typescript
105
+ cdp.track('loan_viewed', {
106
+ loan_id: 'LOAN_001',
107
+ amount: 50_000_000,
108
+ term: 24,
109
+ });
110
+
111
+ cdp.screen('LoanDetailScreen', { loan_code: 'CONSUMER_24M' });
112
+ ```
113
+
114
+ ---
115
+
116
+ ## 6. Đăng xuất
117
+
118
+ ```typescript
119
+ await cdp.destroy_session();
120
+ ```
121
+
122
+ ---
123
+
124
+ ## Cấu hình đầy đủ
125
+
126
+ | Tham số | Kiểu | Mặc định | Mô tả |
127
+ |---|---|---|---|
128
+ | `apiKey` | `string` | — | **Bắt buộc.** API Key do CDP cấp |
129
+ | `secretKey` | `string` | — | **Bắt buộc.** Secret Key để ký HMAC và mã hoá AES |
130
+ | `source` | `string` | — | **Bắt buộc.** Kênh phát triển (khai báo với CDP trước) |
131
+ | `serviceName` | `string` | — | **Bắt buộc.** `VC_APP` \| `DOP` \| `LOS` \| `LMS` |
132
+ | `baseUrl` | `string` | Staging URL | URL API CDP (không có `/v1`) |
133
+ | `isTest` | `boolean` | `false` | Đánh dấu môi trường test |
134
+ | `debug` | `boolean` | `false` | In log ra console |
135
+ | `batchSize` | `number` | `10` | Số events tối đa trong 1 batch |
136
+ | `batchInterval` | `number` | `5000` | Thời gian (ms) giữa các lần flush tự động |
137
+ | `enableEncryption` | `boolean` | `true` | Mã hoá PII bằng AES-256-CBC |
138
+
139
+ ---
140
+
141
+ ## Môi trường
142
+
143
+ | Môi trường | baseUrl |
144
+ |---|---|
145
+ | Staging | `https://stg-ingestlog.vietcredit.com.vn` |
146
+ | Production | `https://ingestlog.vietcredit.com.vn` |
147
+
148
+ ---
149
+
150
+ ## Bước tiếp theo
151
+
152
+ - [Profile & Traits →](profile.md)
153
+ - [Event Tracking →](events.md)
154
+ - [Tích hợp React Navigation →](integration-react-navigation.md)
155
+ - [Bảo mật →](security.md)
156
+ - [API Reference →](api-reference.md)
@@ -0,0 +1,202 @@
1
+ # Tích hợp React Navigation
2
+
3
+ Hướng dẫn auto-track màn hình khi navigate trong React Navigation.
4
+
5
+ ---
6
+
7
+ ## Setup cơ bản
8
+
9
+ ```typescript
10
+ // src/lib/cdp.ts
11
+ import { CdpRnSdk } from 'vc-cdp-rn-sdk';
12
+
13
+ let _cdp: CdpRnSdk | null = null;
14
+
15
+ export async function initCdp(): Promise<CdpRnSdk> {
16
+ _cdp = await CdpRnSdk.create({
17
+ apiKey: process.env.CDP_API_KEY!,
18
+ secretKey: process.env.CDP_SECRET_KEY!,
19
+ source: 'DOP',
20
+ serviceName: 'VC_APP',
21
+ baseUrl: process.env.CDP_BASE_URL,
22
+ debug: __DEV__,
23
+ });
24
+ return _cdp;
25
+ }
26
+
27
+ export function getCdp(): CdpRnSdk {
28
+ if (!_cdp) throw new Error('CDP SDK chưa được khởi tạo. Gọi initCdp() trước.');
29
+ return _cdp;
30
+ }
31
+ ```
32
+
33
+ ---
34
+
35
+ ## Auto-track Screen (React Navigation 6+)
36
+
37
+ ```typescript
38
+ // App.tsx
39
+ import React, { useEffect, useRef } from 'react';
40
+ import { NavigationContainer, useNavigationContainerRef } from '@react-navigation/native';
41
+ import { AppState, AppStateStatus } from 'react-native';
42
+ import { initCdp, getCdp } from './lib/cdp';
43
+
44
+ export default function App() {
45
+ const navRef = useNavigationContainerRef();
46
+ const appState = useRef(AppState.currentState);
47
+
48
+ useEffect(() => {
49
+ initCdp();
50
+ }, []);
51
+
52
+ // Flush khi app vào background
53
+ useEffect(() => {
54
+ const sub = AppState.addEventListener('change', async (next: AppStateStatus) => {
55
+ if (appState.current === 'active' && next.match(/inactive|background/)) {
56
+ await getCdp().flush();
57
+ }
58
+ appState.current = next;
59
+ });
60
+ return () => sub.remove();
61
+ }, []);
62
+
63
+ return (
64
+ <NavigationContainer
65
+ ref={navRef}
66
+ onReady={() => {
67
+ const name = navRef.getCurrentRoute()?.name;
68
+ if (name) getCdp().screen(name);
69
+ }}
70
+ onStateChange={() => {
71
+ const name = navRef.getCurrentRoute()?.name;
72
+ if (name) getCdp().screen(name);
73
+ }}
74
+ >
75
+ <RootNavigator />
76
+ </NavigationContainer>
77
+ );
78
+ }
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Track trong Screen Component
84
+
85
+ ```typescript
86
+ // screens/LoanDetailScreen.tsx
87
+ import React, { useEffect } from 'react';
88
+ import { View, Button } from 'react-native';
89
+ import { getCdp } from '../lib/cdp';
90
+
91
+ export function LoanDetailScreen({ route }: any) {
92
+ const { loanId, amount } = route.params;
93
+ const cdp = getCdp();
94
+
95
+ useEffect(() => {
96
+ cdp.track('loan_detail_viewed', { loan_id: loanId, amount });
97
+ }, [loanId]);
98
+
99
+ const handleApply = () => {
100
+ cdp.track('loan_apply_clicked', { loan_id: loanId, amount });
101
+ // navigate to form
102
+ };
103
+
104
+ return (
105
+ <View>
106
+ <Button title="Đăng ký ngay" onPress={handleApply} />
107
+ </View>
108
+ );
109
+ }
110
+ ```
111
+
112
+ ---
113
+
114
+ ## Identify sau đăng nhập
115
+
116
+ ```typescript
117
+ // screens/LoginScreen.tsx
118
+ import { getCdp } from '../lib/cdp';
119
+
120
+ async function handleLogin(phone: string, password: string) {
121
+ const user = await authApi.login(phone, password);
122
+
123
+ await getCdp().identifyUser(user.id, {
124
+ phone: user.phone,
125
+ email: user.email,
126
+ full_name: user.name,
127
+ });
128
+
129
+ navigation.navigate('Home');
130
+ }
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Đăng xuất
136
+
137
+ ```typescript
138
+ // screens/ProfileScreen.tsx
139
+ import { getCdp } from '../lib/cdp';
140
+
141
+ async function handleLogout() {
142
+ await authApi.logout();
143
+ await getCdp().destroy_session();
144
+ navigation.reset({ index: 0, routes: [{ name: 'Login' }] });
145
+ }
146
+ ```
147
+
148
+ ---
149
+
150
+ ## Hook tiện lợi
151
+
152
+ ```typescript
153
+ // hooks/useCdp.ts
154
+ import { getCdp } from '../lib/cdp';
155
+ import type { CdpRnSdk } from 'vc-cdp-rn-sdk';
156
+
157
+ export function useCdp(): CdpRnSdk {
158
+ return getCdp();
159
+ }
160
+ ```
161
+
162
+ ```typescript
163
+ // Dùng trong component
164
+ function ProductCard({ product }: { product: Product }) {
165
+ const cdp = useCdp();
166
+
167
+ return (
168
+ <Pressable onPress={() => cdp.track('product_tapped', { code: product.code })}>
169
+ <Text>{product.name}</Text>
170
+ </Pressable>
171
+ );
172
+ }
173
+ ```
174
+
175
+ ---
176
+
177
+ ## Environment Variables (react-native-config)
178
+
179
+ ```bash
180
+ # .env
181
+ CDP_API_KEY=eff9ba9a-5b10-4fc0-af23-e2641b46d307
182
+ CDP_SECRET_KEY=91ed726c-60e8-4ef7-ab2d-112b5324f9a1
183
+ CDP_BASE_URL=https://stg-ingestlog.vietcredit.com.vn
184
+
185
+ # .env.production
186
+ CDP_API_KEY=<production_key>
187
+ CDP_SECRET_KEY=<production_secret>
188
+ CDP_BASE_URL=https://ingestlog.vietcredit.com.vn
189
+ ```
190
+
191
+ ```typescript
192
+ import Config from 'react-native-config';
193
+
194
+ const cdp = await CdpRnSdk.create({
195
+ apiKey: Config.CDP_API_KEY,
196
+ secretKey: Config.CDP_SECRET_KEY,
197
+ baseUrl: Config.CDP_BASE_URL,
198
+ source: 'DOP',
199
+ serviceName: 'VC_APP',
200
+ debug: __DEV__,
201
+ });
202
+ ```
@@ -0,0 +1,196 @@
1
+ # Profile & Traits
2
+
3
+ Hướng dẫn quản lý thông tin người dùng trên CDP cho React Native.
4
+
5
+ ---
6
+
7
+ ## identifyUser() — Đăng nhập
8
+
9
+ ```typescript
10
+ await cdp.identifyUser(userId, traits?, partyType?)
11
+ ```
12
+
13
+ | Tham số | Kiểu | Bắt buộc | Mô tả |
14
+ |---|---|---|---|
15
+ | `userId` | `string` | ✓ | Mã user trong hệ thống nội bộ |
16
+ | `traits` | `UserTraits` | | Thông tin nhân khẩu học |
17
+ | `partyType` | `'PERSON' \| 'ORG'` | | Mặc định `'PERSON'` |
18
+
19
+ ```typescript
20
+ // Cá nhân
21
+ await cdp.identifyUser('user_001', {
22
+ phone: '0901234567',
23
+ email: 'user@example.com',
24
+ full_name: 'Nguyễn Văn A',
25
+ gender: 'M',
26
+ dob: '1990-01-15',
27
+ idcard: '012345678901',
28
+ address: '123 Lê Lợi, Q.1, TP.HCM',
29
+ occupation: 'Kỹ sư phần mềm',
30
+ nationality: 'Vietnamese',
31
+ marital_status: 'single',
32
+ });
33
+
34
+ // Tổ chức
35
+ await cdp.identifyUser('org_001', {
36
+ full_name: 'Công ty TNHH ABC',
37
+ phone: '0281234567',
38
+ email: 'contact@abc.vn',
39
+ }, 'ORG');
40
+ ```
41
+
42
+ ---
43
+
44
+ ## Trait Setters — Cập nhật từng thuộc tính
45
+
46
+ Chainable. Mỗi setter gọi ngay `POST /v1/profiles/track` (type: update).
47
+
48
+ ```typescript
49
+ cdp
50
+ .add_first_name('Văn A')
51
+ .add_last_name('Nguyễn')
52
+ .add_user_name('Nguyễn Văn A')
53
+ .add_email('user@example.com')
54
+ .add_mobile('0901234567')
55
+ .add_gender('M')
56
+ .add_birthday('1990-01-15') // hoặc new Date('1990-01-15')
57
+ .add_idcard('012345678901')
58
+ .add_old_idcard('123456789')
59
+ .add_address('123 Lê Lợi, Q.1, TP.HCM')
60
+ .add_occupation('Kỹ sư phần mềm')
61
+ .add_nationality('Vietnamese')
62
+ .add_marital_status('single')
63
+ .add_religion('Buddhist')
64
+ .add_zalo_id('zalo_user_001')
65
+ .add_tiktok_id('tiktok_user_001');
66
+ ```
67
+
68
+ | Method | Trường | Ghi chú |
69
+ |---|---|---|
70
+ | `add_first_name(v)` | `first_name` | |
71
+ | `add_last_name(v)` | `last_name` | |
72
+ | `add_user_name(v)` | `full_name` | |
73
+ | `add_email(v)` | `email` | 🔒 PII |
74
+ | `add_mobile(v)` | `phone` | 🔒 PII |
75
+ | `add_gender(v)` | `gender` | `'M'` \| `'F'` \| `'O'` |
76
+ | `add_birthday(v)` | `dob` | `Date` hoặc `'yyyy-MM-dd'` |
77
+ | `add_idcard(v)` | `idcard` | 🔒 PII |
78
+ | `add_old_idcard(v)` | `old_idcard` | 🔒 PII |
79
+ | `add_address(v)` | `address` | 🔒 PII |
80
+ | `add_occupation(v)` | `occupation` | |
81
+ | `add_nationality(v)` | `nationality` | |
82
+ | `add_marital_status(v)` | `marital_status` | |
83
+ | `add_religion(v)` | `religion` | 🔒 PII |
84
+ | `add_zalo_id(v)` | `zalo_id` | |
85
+ | `add_tiktok_id(v)` | `tiktok_id` | |
86
+ | `add_user_attribute(name, val)` | custom | Bất kỳ trường nào |
87
+ | `add_user_attributes(obj)` | nhiều trường | Batch update |
88
+ | `setUserAttributes(obj)` | nhiều trường | Alias |
89
+
90
+ ---
91
+
92
+ ## updateProfile() — Force-update
93
+
94
+ ```typescript
95
+ await cdp.updateProfile({
96
+ traits: { kyc_status: 'verified', mps_verified: true },
97
+ consents: [{ consent_type: 'marketing_sms', status: true, consent_date: '2025-06-01' }],
98
+ });
99
+ ```
100
+
101
+ ---
102
+
103
+ ## getProfile() — Lấy thông tin profile
104
+
105
+ ```typescript
106
+ const profile = await cdp.getProfile();
107
+ const profile = await cdp.getProfile('cdp_123');
108
+ ```
109
+
110
+ ---
111
+
112
+ ## Consents
113
+
114
+ ```typescript
115
+ cdp.setConsents([
116
+ { consent_type: 'marketing_sms', status: true, consent_date: '2025-06-01' },
117
+ { consent_type: 'marketing_email', status: false },
118
+ { consent_type: 'data_sharing', status: true },
119
+ ]);
120
+ ```
121
+
122
+ ---
123
+
124
+ ## Scores
125
+
126
+ ```typescript
127
+ cdp.setScores([
128
+ { score_type: 'credit_score', score_value: 720, score_date: '2025-06-01' },
129
+ ]);
130
+ ```
131
+
132
+ ---
133
+
134
+ ## Products
135
+
136
+ ```typescript
137
+ cdp.setProducts([
138
+ { product_code: 'LOAN_CONSUMER', product_name: 'Vay tiêu dùng', status: 'active' },
139
+ ]);
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Metadata, Campaign, Push Token
145
+
146
+ ```typescript
147
+ cdp.setMetadata({ schema_version: '2.0', referral_code: 'REF123' });
148
+
149
+ cdp.setCampaign({
150
+ utm_source: 'facebook',
151
+ utm_medium: 'cpc',
152
+ utm_campaign: 'summer_loan_2025',
153
+ });
154
+
155
+ cdp.setPushToken('ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx]');
156
+ // hoặc FCM token trên Android
157
+ cdp.setPushToken('fcm_token_abc123...');
158
+ ```
159
+
160
+ ---
161
+
162
+ ## getUserIdentities()
163
+
164
+ ```typescript
165
+ const ids = cdp.getUserIdentities();
166
+ // {
167
+ // user_id: 'user_001',
168
+ // profile_id: '177671850461184000',
169
+ // anonymous_id: 'uuid-...',
170
+ // device_id: 'uuid-...',
171
+ // session_id: 'uuid-...',
172
+ // }
173
+
174
+ cdp.getProfileId();
175
+ cdp.getDeviceId();
176
+ cdp.getSessionId();
177
+ cdp.getUserAttribute('phone');
178
+ ```
179
+
180
+ ---
181
+
182
+ ## destroy_session() — Đăng xuất
183
+
184
+ ```typescript
185
+ await cdp.destroy_session();
186
+ // hoặc alias:
187
+ await cdp.reset();
188
+ ```
189
+
190
+ | | Hành động |
191
+ |---|---|
192
+ | `userId`, `profileId`, `userTraits` | Xoá |
193
+ | `consents`, `scores`, `products`, `campaign` | Xoá |
194
+ | `anonymous_id` | Tạo mới, lưu AsyncStorage |
195
+ | `session_id` | Tạo mới, lưu AsyncStorage |
196
+ | `device_id` | **Giữ nguyên** |
@@ -0,0 +1,111 @@
1
+ # Bảo mật
2
+
3
+ ---
4
+
5
+ ## HMAC-SHA256 Signature
6
+
7
+ Mọi request đến CDP API đều được ký tự động.
8
+
9
+ ### Headers
10
+
11
+ ```
12
+ X-Api-Key: <apiKey>
13
+ X-Source: <source>
14
+ X-Timestamp: <unix_timestamp_s>
15
+ X-Signatures: <base64_signature>
16
+ X-Trace-Id: <uuid>
17
+ Content-Type: application/json
18
+ isTest: false
19
+ ```
20
+
21
+ ### Công thức
22
+
23
+ ```
24
+ signature = Base64( HMAC-SHA256(secretKey, message) )
25
+ message = source + "|" + timestamp + "|" + JSON(payload)
26
+ ```
27
+
28
+ | Thành phần | Mô tả |
29
+ |---|---|
30
+ | `secretKey` | Secret Key CDP cấp |
31
+ | `source` | Kênh tích hợp (`DOP`, ...) |
32
+ | `timestamp` | Unix timestamp tính bằng **giây** (RN SDK) hoặc **ms** (Web SDK) |
33
+ | `payload` | Body JSON string (GET request: chuỗi rỗng `""`) |
34
+
35
+ ---
36
+
37
+ ## AES-256-CBC Encryption
38
+
39
+ Khi `enableEncryption: true`, các trường PII được mã hoá.
40
+
41
+ ### Các trường PII bị mã hoá
42
+
43
+ | Trường | Mô tả |
44
+ |---|---|
45
+ | `phone` | Số điện thoại |
46
+ | `email` | Email |
47
+ | `idcard` | CMND/CCCD mới |
48
+ | `old_idcard` | CMND cũ |
49
+ | `address` | Địa chỉ |
50
+ | `religion` | Tôn giáo |
51
+ | `full_name` | Họ tên đầy đủ |
52
+ | `first_name` | Tên |
53
+ | `last_name` | Họ |
54
+ | `gender` | Giới tính |
55
+ | `dob` | Ngày sinh |
56
+
57
+ ### Công thức
58
+
59
+ ```
60
+ encrypted = Base64( IV[16 bytes] || AES_CBC_PKCS7( key, IV, plaintext ) )
61
+
62
+ key = SHA256( secretKey + timestamp )
63
+ IV = random 16 bytes (prepend vào ciphertext)
64
+ plaintext = JSON.stringify({ chỉ các trường PII })
65
+ ```
66
+
67
+ ### Lưu ý
68
+
69
+ - **Không bật trên dev/staging** nếu server chưa cấu hình giải mã. Dùng `enableEncryption: false`.
70
+ - Production: `enableEncryption: true` (mặc định).
71
+
72
+ ```typescript
73
+ // Development
74
+ const cdp = await CdpRnSdk.create({
75
+ enableEncryption: false,
76
+ isTest: true,
77
+ });
78
+
79
+ // Production
80
+ const cdp = await CdpRnSdk.create({
81
+ enableEncryption: true,
82
+ });
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Lưu trữ
88
+
89
+ | Dữ liệu | Nơi lưu | Vòng đời |
90
+ |---|---|---|
91
+ | `device_id` | AsyncStorage | Vĩnh viễn (đến khi xoá app) |
92
+ | `anonymous_id` | AsyncStorage | Vĩnh viễn (rotate khi logout) |
93
+ | `session_id` | AsyncStorage | Tạo mới mỗi lần `create()` |
94
+ | `profile_id` | AsyncStorage | Xoá khi `destroy_session()` |
95
+
96
+ ---
97
+
98
+ ## Best Practices
99
+
100
+ - Không log `secretKey` hay `apiKey` vào console production.
101
+ - Bật `debug: false` trên production build.
102
+ - Rotate key theo chính sách CDP team.
103
+ - Dùng environment variables, không hardcode credentials.
104
+
105
+ ```typescript
106
+ // ✅ Đúng — dùng env vars
107
+ const cdp = await CdpRnSdk.create({
108
+ apiKey: Config.CDP_API_KEY, // react-native-config
109
+ secretKey: Config.CDP_SECRET_KEY,
110
+ });
111
+ ```
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "vc-cdp-rn-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
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",
7
7
  "files": [
8
8
  "dist",
9
- "README.md"
9
+ "README.md",
10
+ "docs"
10
11
  ],
11
12
  "scripts": {
12
13
  "build": "tsc",