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 +13 -0
- package/dist/CdpRnSdk.d.ts +3 -0
- package/dist/CdpRnSdk.d.ts.map +1 -1
- package/dist/CdpRnSdk.js +26 -9
- package/dist/CdpRnSdk.js.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/docs/api-reference.md +198 -0
- package/docs/events.md +151 -0
- package/docs/getting-started.md +156 -0
- package/docs/integration-react-navigation.md +202 -0
- package/docs/profile.md +196 -0
- package/docs/security.md +111 -0
- package/package.json +3 -2
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 |
|
package/dist/CdpRnSdk.d.ts
CHANGED
|
@@ -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;
|
package/dist/CdpRnSdk.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdpRnSdk.d.ts","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,EAIf,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,cAAc,EACd,SAAS,EACV,MAAM,SAAS,CAAC;AAajB,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAwB;IAEtC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,QAAQ,CAAsD;IAEtE,OAAO,CAAC,UAAU,CAAkB;IAEpC,OAAO,CAAC,YAAY,CAAuD;IAC3E,OAAO,CAAC,UAAU,CAA+C;IAEjE,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO;IAYP;;OAEG;WACU,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;YAM7C,KAAK;IAmCnB;;;OAGG;IACG,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,UAAe,EACvB,SAAS,GAAE,SAAoB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAehB,6BAA6B;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,UAAe,EAAE,SAAS,GAAE,SAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvG;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;
|
|
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
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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) {
|
package/dist/CdpRnSdk.js.map
CHANGED
|
@@ -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?:
|
|
113
|
-
scores?:
|
|
114
|
-
products?:
|
|
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;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -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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"}
|
|
@@ -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
|
+
```
|
package/docs/profile.md
ADDED
|
@@ -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** |
|
package/docs/security.md
ADDED
|
@@ -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.
|
|
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",
|