@askdialog/dialog-sdk 1.0.15 → 1.0.16
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 +27 -0
- package/dist/Dialog.d.ts +6 -2
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Dialog.js +14 -4
- package/dist/Tracking.d.ts +1 -0
- package/dist/Tracking.d.ts.map +1 -1
- package/dist/Tracking.js +11 -2
- package/dist/config/config.development.d.ts +1 -0
- package/dist/config/config.development.d.ts.map +1 -1
- package/dist/config/config.development.js +1 -0
- package/dist/config/config.production.d.ts +1 -0
- package/dist/config/config.production.d.ts.map +1 -1
- package/dist/config/config.production.js +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -232,4 +232,31 @@ const client = new Dialog({
|
|
|
232
232
|
});
|
|
233
233
|
```
|
|
234
234
|
|
|
235
|
+
### Tracking
|
|
235
236
|
|
|
237
|
+
Our SDK includes a tracking system to monitor user interactions in your purchase flow.
|
|
238
|
+
|
|
239
|
+
#### Automatic Tracking
|
|
240
|
+
|
|
241
|
+
When a user interacts with our assistant and clicks on an "Add to Cart" CTA, it automatically triggers the previously configured `addToCart` callback (see "Client Instantiation" section). These events are tracked internally by our system.
|
|
242
|
+
|
|
243
|
+
#### Manual Tracking
|
|
244
|
+
|
|
245
|
+
However, we cannot automatically detect cart additions or checkout completions that occur **after** using our assistant. To get accurate data in your Dialog dashboards, you should use the following tracking methods:
|
|
246
|
+
|
|
247
|
+
#### Available Methods
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
|
|
251
|
+
client.registerAddToCartEvent({
|
|
252
|
+
productId: 'ProductIdentifier', // {string} - Required
|
|
253
|
+
quantity: 1, // {number} - Required
|
|
254
|
+
variantId: 'VariantIdentifier' // {string} - Optional
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
client.registerSubmitCheckoutEvent({
|
|
258
|
+
productId: 'ProductIdentifier', // {string} - Required
|
|
259
|
+
quantity: 1, // {number} - Required
|
|
260
|
+
variantId: 'VariantIdentifier' // {string} - Optional
|
|
261
|
+
});
|
|
262
|
+
```
|
package/dist/Dialog.d.ts
CHANGED
|
@@ -32,10 +32,14 @@ export declare class Dialog {
|
|
|
32
32
|
}): Promise<void>;
|
|
33
33
|
registerAddToCartEvent({ productId, variantId, quantity, }: {
|
|
34
34
|
productId: string;
|
|
35
|
-
variantId
|
|
35
|
+
variantId?: string;
|
|
36
|
+
quantity: number;
|
|
37
|
+
}): void;
|
|
38
|
+
registerSubmitCheckoutEvent({ productId, variantId, quantity, }: {
|
|
39
|
+
productId: string;
|
|
40
|
+
variantId?: string;
|
|
36
41
|
quantity: number;
|
|
37
42
|
}): void;
|
|
38
|
-
registerSubmitCheckoutEvent(): void;
|
|
39
43
|
private _loadAssistant;
|
|
40
44
|
}
|
|
41
45
|
//# sourceMappingURL=Dialog.d.ts.map
|
package/dist/Dialog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAchB;IACF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAW;gBAEhB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB;IAc3E,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,KAAK,IAAI,KAAK,CAExB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,2BAA2B,IAAI,kBAAkB,GAAG,IAAI;IAI/D,OAAO,CAAC,uBAAuB;IAkBlB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK5D,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAKjD,cAAc,IAAI,IAAI;IAItB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIxD,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAOxD,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EACL,kBAAkB,EAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAEL,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAMpD,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,UAAU,CAchB;IACF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAW;gBAEhB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,iBAAiB;IAc3E,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,KAAK,IAAI,KAAK,CAExB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IAEM,2BAA2B,IAAI,kBAAkB,GAAG,IAAI;IAI/D,OAAO,CAAC,uBAAuB;IAkBlB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK5D,aAAa,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAKjD,cAAc,IAAI,IAAI;IAItB,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIxD,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAOxD,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAIhB,SAAS,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAMV,sBAAsB,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI;IAUD,2BAA2B,CAAC,EACjC,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,IAAI;IAUR,OAAO,CAAC,cAAc;CA0BvB"}
|
package/dist/Dialog.js
CHANGED
|
@@ -77,18 +77,28 @@ export class Dialog {
|
|
|
77
77
|
getProduct(productId, variantId) {
|
|
78
78
|
return this._callbacks.getProduct(productId, variantId);
|
|
79
79
|
}
|
|
80
|
-
addToCart({ productId, quantity, variantId, }) {
|
|
81
|
-
|
|
80
|
+
async addToCart({ productId, quantity, variantId, }) {
|
|
81
|
+
await this._callbacks.addToCart({ productId, variantId, quantity });
|
|
82
|
+
this.registerAddToCartEvent({ productId, variantId, quantity });
|
|
83
|
+
return;
|
|
82
84
|
}
|
|
83
85
|
registerAddToCartEvent({ productId, variantId, quantity, }) {
|
|
84
86
|
this._tracking.track(TrackingEvents.USER_ADDED_TO_CART, {
|
|
87
|
+
user_id: this._userId,
|
|
85
88
|
product_id: productId,
|
|
86
89
|
variant_id: variantId,
|
|
87
90
|
quantity,
|
|
91
|
+
locale: this._locale,
|
|
88
92
|
});
|
|
89
93
|
}
|
|
90
|
-
registerSubmitCheckoutEvent() {
|
|
91
|
-
this._tracking.track(TrackingEvents.USER_SUBMITTED_CHECKOUT
|
|
94
|
+
registerSubmitCheckoutEvent({ productId, variantId, quantity, }) {
|
|
95
|
+
this._tracking.track(TrackingEvents.USER_SUBMITTED_CHECKOUT, {
|
|
96
|
+
user_id: this._userId,
|
|
97
|
+
product_id: productId,
|
|
98
|
+
variant_id: variantId,
|
|
99
|
+
quantity,
|
|
100
|
+
locale: this._locale,
|
|
101
|
+
});
|
|
92
102
|
}
|
|
93
103
|
_loadAssistant() {
|
|
94
104
|
const localeInfo = getDetailedLocaleInfo(this._locale);
|
package/dist/Tracking.d.ts
CHANGED
package/dist/Tracking.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tracking.d.ts","sourceRoot":"","sources":["../src/Tracking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"Tracking.d.ts","sourceRoot":"","sources":["../src/Tracking.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,MAAM;IAUnB,KAAK,CACV,KAAK,EAAE,cAAc,EACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,IAAI;CASR"}
|
package/dist/Tracking.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import posthog from 'posthog-js';
|
|
2
|
+
import { config } from './config';
|
|
2
3
|
export class Tracking {
|
|
3
4
|
_posthog;
|
|
4
|
-
_token =
|
|
5
|
+
_token = config.posthogApiKey;
|
|
5
6
|
_apiHost = 'https://eu.i.posthog.com';
|
|
7
|
+
_apiKey;
|
|
6
8
|
constructor(apiKey) {
|
|
9
|
+
this._apiKey = apiKey;
|
|
7
10
|
this._posthog = posthog.init(this._token, {
|
|
8
11
|
api_host: this._apiHost,
|
|
9
12
|
});
|
|
@@ -12,6 +15,12 @@ export class Tracking {
|
|
|
12
15
|
});
|
|
13
16
|
}
|
|
14
17
|
track(event, properties) {
|
|
15
|
-
|
|
18
|
+
const defaultProperties = {
|
|
19
|
+
$host: window.location.hostname,
|
|
20
|
+
$pathname: window.location.pathname,
|
|
21
|
+
url: window.location.href,
|
|
22
|
+
apiKey: this._apiKey,
|
|
23
|
+
};
|
|
24
|
+
this._posthog.capture(event, { ...defaultProperties, ...properties });
|
|
16
25
|
}
|
|
17
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.development.d.ts","sourceRoot":"","sources":["../../src/config/config.development.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"config.development.d.ts","sourceRoot":"","sources":["../../src/config/config.development.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.production.d.ts","sourceRoot":"","sources":["../../src/config/config.production.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"config.production.d.ts","sourceRoot":"","sources":["../../src/config/config.production.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
package/dist/config/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AACF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
package/dist/config/index.js
CHANGED