@askdialog/dialog-sdk 2.1.0 → 2.2.0
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 +17 -4
- package/dist/Dialog.d.ts +2 -8
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Dialog.js +23 -6
- package/dist/types/events.d.ts +32 -1
- package/dist/types/events.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -338,12 +338,25 @@ client.registerAddToCartEvent({
|
|
|
338
338
|
price: '12.00' // {string} - Optional
|
|
339
339
|
});
|
|
340
340
|
|
|
341
|
+
// Checkout is order-level: call ONCE per completed order with the order total.
|
|
342
|
+
// `orderValue` is what the "Revenue generated" dashboard reads.
|
|
343
|
+
// Do NOT call this per line item — without an order total, revenue resolves to 0.
|
|
341
344
|
client.registerSubmitCheckoutEvent({
|
|
342
|
-
|
|
343
|
-
quantity: 1, // {number} - Required
|
|
344
|
-
price: '12.00', // {string} - Required
|
|
345
|
+
orderValue: 59.98, // {number} - Required - the order total
|
|
345
346
|
currency: 'EUR', // {string} - Optional
|
|
346
|
-
|
|
347
|
+
transactionId: 'OrderIdentifier', // {string} - Optional - order id, used to de-duplicate reloads
|
|
348
|
+
items: [ // {array} - Optional - line items, for product-level attribution only
|
|
349
|
+
{ productId: 'ProductIdentifier', quantity: 1, price: 29.99, variantId: 'VariantIdentifier' },
|
|
350
|
+
],
|
|
351
|
+
});
|
|
352
|
+
|
|
353
|
+
// Deprecated per-line signature — still accepted for backward compatibility,
|
|
354
|
+
// but carries no order total so revenue cannot be computed. Prefer the call above.
|
|
355
|
+
client.registerSubmitCheckoutEvent({
|
|
356
|
+
productId: 'ProductIdentifier',
|
|
357
|
+
quantity: 1,
|
|
358
|
+
price: '12.00',
|
|
359
|
+
currency: 'EUR',
|
|
347
360
|
});
|
|
348
361
|
```
|
|
349
362
|
|
package/dist/Dialog.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { DialogConstructor } from "./types/constructor";
|
|
|
2
2
|
import { Theme } from "./types/theme";
|
|
3
3
|
import { DetailedLocaleInfo } from "./utils/localization";
|
|
4
4
|
import { Suggestion } from "./types/suggestion";
|
|
5
|
-
import { GenericQuestionPayload, OpenAssistantPayload, ProductQuestionPayload } from "./types/events";
|
|
5
|
+
import { GenericQuestionPayload, LegacyCheckoutParams, OpenAssistantPayload, ProductQuestionPayload, SubmitCheckoutParams } from "./types/events";
|
|
6
6
|
import { SimplifiedProduct } from "./types/product";
|
|
7
7
|
import { EventsHandler } from "./EventsHandler";
|
|
8
8
|
import { AssistantEvent } from "./types/assistantEvent";
|
|
@@ -45,13 +45,7 @@ export declare class Dialog {
|
|
|
45
45
|
currency?: string;
|
|
46
46
|
variantId?: string;
|
|
47
47
|
}): void;
|
|
48
|
-
registerSubmitCheckoutEvent(
|
|
49
|
-
productId: string;
|
|
50
|
-
quantity: number;
|
|
51
|
-
price: string;
|
|
52
|
-
currency?: string;
|
|
53
|
-
variantId?: string;
|
|
54
|
-
}): void;
|
|
48
|
+
registerSubmitCheckoutEvent(params: SubmitCheckoutParams | LegacyCheckoutParams): void;
|
|
55
49
|
private _loadAssistant;
|
|
56
50
|
}
|
|
57
51
|
//# 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":"AAIA,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,
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.ts"],"names":[],"mappings":"AAIA,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,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,qBAAa,MAAM;IACjB,gBAAuB,OAAO,SAAuB;IAErD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAC,CAAS;IAE9B,OAAO,CAAC,UAAU,CAGhB;IACF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAgB;gBAE1B,EACV,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,iBAAiB;IAepB,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,KAAK,IAAI,KAAK,CAExB;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,MAAM,IAAI,MAAM,CAE1B;IACD,IAAW,aAAa,IAAI,aAAa,CAExC;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,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI;IAIjE,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAInD,UAAU,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAIhB,SAAS,CAAC,EACrB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBV,sBAAsB,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE;QACD,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,IAAI;IAkBD,2BAA2B,CAChC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,GAClD,IAAI;IA0BP,OAAO,CAAC,cAAc;CA4BvB"}
|
package/dist/Dialog.js
CHANGED
|
@@ -115,14 +115,31 @@ export class Dialog {
|
|
|
115
115
|
currency,
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
-
|
|
118
|
+
// Order-level: call ONCE per completed order with the order total.
|
|
119
|
+
// `orderValue` is what the dashboard's "Revenue generated" reads — do not
|
|
120
|
+
// call this per line item (that has no total and revenue resolves to 0).
|
|
121
|
+
//
|
|
122
|
+
// The legacy per-line signature (`{ productId, quantity, price }`) is still
|
|
123
|
+
// accepted for backward compatibility so existing installs keep working
|
|
124
|
+
// after an upgrade, but it is deprecated: it carries no order total.
|
|
125
|
+
registerSubmitCheckoutEvent(params) {
|
|
126
|
+
if ("orderValue" in params) {
|
|
127
|
+
this._eventsHandler.emitExternalEvent(DialogEvents.TRACK_SUBMIT_CHECKOUT, {
|
|
128
|
+
userId: this._userId,
|
|
129
|
+
orderValue: params.orderValue,
|
|
130
|
+
currency: params.currency,
|
|
131
|
+
transactionId: params.transactionId,
|
|
132
|
+
items: params.items,
|
|
133
|
+
});
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
119
136
|
this._eventsHandler.emitExternalEvent(DialogEvents.TRACK_SUBMIT_CHECKOUT, {
|
|
120
137
|
userId: this._userId,
|
|
121
|
-
productId,
|
|
122
|
-
variantId,
|
|
123
|
-
quantity,
|
|
124
|
-
price,
|
|
125
|
-
currency,
|
|
138
|
+
productId: params.productId,
|
|
139
|
+
variantId: params.variantId,
|
|
140
|
+
quantity: params.quantity,
|
|
141
|
+
price: params.price,
|
|
142
|
+
currency: params.currency,
|
|
126
143
|
});
|
|
127
144
|
}
|
|
128
145
|
_loadAssistant() {
|
package/dist/types/events.d.ts
CHANGED
|
@@ -42,7 +42,38 @@ export interface TrackEventPayload {
|
|
|
42
42
|
price?: string;
|
|
43
43
|
currency?: string;
|
|
44
44
|
}
|
|
45
|
-
export
|
|
45
|
+
export interface CheckoutLineItem {
|
|
46
|
+
productId: string;
|
|
47
|
+
variantId?: string;
|
|
48
|
+
quantity: number;
|
|
49
|
+
price?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface SubmitCheckoutEventPayload {
|
|
52
|
+
userId?: string;
|
|
53
|
+
orderValue: number;
|
|
54
|
+
currency?: string;
|
|
55
|
+
transactionId?: string;
|
|
56
|
+
items?: CheckoutLineItem[];
|
|
57
|
+
}
|
|
58
|
+
export interface SubmitCheckoutParams {
|
|
59
|
+
orderValue: number;
|
|
60
|
+
currency?: string;
|
|
61
|
+
transactionId?: string;
|
|
62
|
+
items?: CheckoutLineItem[];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* @deprecated Per-line checkout has no order total, so "Revenue generated"
|
|
66
|
+
* resolves to 0. Pass the order total via {@link SubmitCheckoutParams} instead,
|
|
67
|
+
* once per completed order.
|
|
68
|
+
*/
|
|
69
|
+
export interface LegacyCheckoutParams {
|
|
70
|
+
productId: string;
|
|
71
|
+
quantity: number;
|
|
72
|
+
price?: string;
|
|
73
|
+
currency?: string;
|
|
74
|
+
variantId?: string;
|
|
75
|
+
}
|
|
76
|
+
export type DialogEventPayload = ProductQuestionPayload | GenericQuestionPayload | DiagnosticPayload | OpenAssistantPayload | TrackEventPayload | SubmitCheckoutEventPayload;
|
|
46
77
|
export interface DialogEvent<T = DialogEventPayload> {
|
|
47
78
|
type: DialogEvents;
|
|
48
79
|
payload: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE,oBAAY,YAAY;IACtB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,YAAY,qBAAqB;IACjC,qBAAqB,qBAAqB;IAC1C,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;CAChD;AACD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,oBAAoB,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE,oBAAY,YAAY;IACtB,cAAc,mBAAmB;IACjC,eAAe,oBAAoB;IACnC,YAAY,qBAAqB;IACjC,qBAAqB,qBAAqB;IAC1C,iBAAiB,sBAAsB;IACvC,qBAAqB,0BAA0B;CAChD;AACD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,sBAAuB,SAAQ,sBAAsB;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG,mBAAmB,GAAG,cAAc,CAAC;AAExE,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,oBAAoB,CAAC;IACjC,GAAG,EAAE,MAAM,CAAC;CACb;AAQD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAGD,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAC1B,sBAAsB,GACtB,sBAAsB,GACtB,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,kBAAkB;IACjD,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;CACZ"}
|