@botonic/core 0.31.0-alpha.0 → 0.31.0-alpha.2
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/lib/cjs/hubtype-service.d.ts +9 -20
- package/lib/cjs/hubtype-service.js +13 -18
- package/lib/cjs/hubtype-service.js.map +1 -1
- package/lib/cjs/models/legacy-types.d.ts +16 -2
- package/lib/cjs/models/legacy-types.js +6 -0
- package/lib/cjs/models/legacy-types.js.map +1 -1
- package/lib/esm/hubtype-service.d.ts +9 -20
- package/lib/esm/hubtype-service.js +13 -18
- package/lib/esm/hubtype-service.js.map +1 -1
- package/lib/esm/models/legacy-types.d.ts +16 -2
- package/lib/esm/models/legacy-types.js +6 -0
- package/lib/esm/models/legacy-types.js.map +1 -1
- package/package.json +5 -4
- package/src/hubtype-service.ts +47 -35
- package/src/models/legacy-types.ts +21 -0
|
@@ -18,11 +18,11 @@ export interface ServerConfig {
|
|
|
18
18
|
interface HubtypeServiceArgs {
|
|
19
19
|
appId: string;
|
|
20
20
|
user: SessionUser;
|
|
21
|
-
lastMessageId
|
|
22
|
-
lastMessageUpdateDate
|
|
21
|
+
lastMessageId?: string;
|
|
22
|
+
lastMessageUpdateDate?: string;
|
|
23
23
|
onEvent: any;
|
|
24
24
|
unsentInputs: () => UnsentInput[];
|
|
25
|
-
server
|
|
25
|
+
server?: ServerConfig;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Calls Hubtype APIs from Webchat
|
|
@@ -30,22 +30,16 @@ interface HubtypeServiceArgs {
|
|
|
30
30
|
export declare class HubtypeService {
|
|
31
31
|
appId: string;
|
|
32
32
|
user: SessionUser;
|
|
33
|
-
lastMessageId
|
|
34
|
-
lastMessageUpdateDate
|
|
35
|
-
onEvent: any;
|
|
33
|
+
lastMessageId?: string;
|
|
34
|
+
lastMessageUpdateDate?: string;
|
|
35
|
+
onEvent: (event: any) => void;
|
|
36
36
|
unsentInputs: () => UnsentInput[];
|
|
37
37
|
pusher: Pusher | null;
|
|
38
38
|
channel: Channel;
|
|
39
|
-
server
|
|
39
|
+
server?: ServerConfig;
|
|
40
40
|
PUSHER_CONNECT_TIMEOUT_MS: number;
|
|
41
41
|
constructor({ appId, user, lastMessageId, lastMessageUpdateDate, onEvent, unsentInputs, server, }: HubtypeServiceArgs);
|
|
42
|
-
|
|
43
|
-
* @returns {Promise<void>}
|
|
44
|
-
*/
|
|
45
|
-
init(user: any, lastMessageId: any, lastMessageUpdateDate: any): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* @returns {Promise<void>}
|
|
48
|
-
*/
|
|
42
|
+
init(user?: SessionUser, lastMessageId?: string, lastMessageUpdateDate?: string): Promise<void>;
|
|
49
43
|
_initPusher(): Promise<void>;
|
|
50
44
|
constructHeaders(): BotonicHeaders;
|
|
51
45
|
resolveServerConfig(): ServerConfig;
|
|
@@ -55,13 +49,8 @@ export declare class HubtypeService {
|
|
|
55
49
|
get pusherChannel(): string;
|
|
56
50
|
handleSentInput(message: any): void;
|
|
57
51
|
handleUnsentInput(message: any): void;
|
|
58
|
-
/**
|
|
59
|
-
* @return {Promise<void>}
|
|
60
|
-
*/
|
|
61
52
|
postMessage(user: SessionUser, message: any): Promise<void>;
|
|
62
|
-
static getWebchatVisibility(
|
|
63
|
-
appId: string;
|
|
64
|
-
}): Promise<AxiosResponse<any>>;
|
|
53
|
+
static getWebchatVisibility(appId: string): Promise<AxiosResponse<any>>;
|
|
65
54
|
destroyPusher(): void;
|
|
66
55
|
onConnectionRegained(): Promise<void>;
|
|
67
56
|
resendUnsentInputs(): Promise<void>;
|
|
@@ -26,25 +26,21 @@ class HubtypeService {
|
|
|
26
26
|
// It's safe not awaiting Promise because:
|
|
27
27
|
// * it will never be called from AWS lambda
|
|
28
28
|
// * though init() is called again from postMesage, it does nothing if Pusher already created
|
|
29
|
-
// @ts-ignore
|
|
30
29
|
this.init();
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
|
-
/**
|
|
34
|
-
* @returns {Promise<void>}
|
|
35
|
-
*/
|
|
36
32
|
init(user, lastMessageId, lastMessageUpdateDate) {
|
|
37
|
-
if (user)
|
|
33
|
+
if (user) {
|
|
38
34
|
this.user = user;
|
|
39
|
-
|
|
35
|
+
}
|
|
36
|
+
if (lastMessageId) {
|
|
40
37
|
this.lastMessageId = lastMessageId;
|
|
41
|
-
|
|
38
|
+
}
|
|
39
|
+
if (lastMessageUpdateDate) {
|
|
42
40
|
this.lastMessageUpdateDate = lastMessageUpdateDate;
|
|
41
|
+
}
|
|
43
42
|
return this._initPusher();
|
|
44
43
|
}
|
|
45
|
-
/**
|
|
46
|
-
* @returns {Promise<void>}
|
|
47
|
-
*/
|
|
48
44
|
_initPusher() {
|
|
49
45
|
if (this.pusher)
|
|
50
46
|
return Promise.resolve();
|
|
@@ -105,12 +101,15 @@ class HubtypeService {
|
|
|
105
101
|
}
|
|
106
102
|
constructHeaders() {
|
|
107
103
|
const headers = {};
|
|
108
|
-
if (this.user && this.user.id)
|
|
104
|
+
if (this.user && this.user.id) {
|
|
109
105
|
headers['X-BOTONIC-USER-ID'] = this.user.id;
|
|
110
|
-
|
|
106
|
+
}
|
|
107
|
+
if (this.lastMessageId) {
|
|
111
108
|
headers['X-BOTONIC-LAST-MESSAGE-ID'] = this.lastMessageId;
|
|
112
|
-
|
|
109
|
+
}
|
|
110
|
+
if (this.lastMessageUpdateDate) {
|
|
113
111
|
headers['X-BOTONIC-LAST-MESSAGE-UPDATE-DATE'] = this.lastMessageUpdateDate;
|
|
112
|
+
}
|
|
114
113
|
return headers;
|
|
115
114
|
}
|
|
116
115
|
resolveServerConfig() {
|
|
@@ -149,13 +148,9 @@ class HubtypeService {
|
|
|
149
148
|
message: { id: message.id, ack: 0, unsentInput: message },
|
|
150
149
|
});
|
|
151
150
|
}
|
|
152
|
-
/**
|
|
153
|
-
* @return {Promise<void>}
|
|
154
|
-
*/
|
|
155
151
|
postMessage(user, message) {
|
|
156
152
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
157
153
|
try {
|
|
158
|
-
// @ts-ignore
|
|
159
154
|
yield this.init(user);
|
|
160
155
|
yield axios_1.default.post(`${HUBTYPE_API_URL}/v1/provider_accounts/webhooks/webchat/${this.appId}/`, {
|
|
161
156
|
sender: this.user,
|
|
@@ -171,7 +166,7 @@ class HubtypeService {
|
|
|
171
166
|
return Promise.resolve();
|
|
172
167
|
});
|
|
173
168
|
}
|
|
174
|
-
static getWebchatVisibility(
|
|
169
|
+
static getWebchatVisibility(appId) {
|
|
175
170
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
176
171
|
return axios_1.default.get(`${HUBTYPE_API_URL}/v1/provider_accounts/${appId}/visibility/`);
|
|
177
172
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubtype-service.js","sourceRoot":"","sources":["../../src/hubtype-service.ts"],"names":[],"mappings":";;;;AAAA,0DAA4C;AAC5C,kEAAwD;AAIxD,iDAA+C;
|
|
1
|
+
{"version":3,"file":"hubtype-service.js","sourceRoot":"","sources":["../../src/hubtype-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,13 @@ export declare enum INPUT {
|
|
|
45
45
|
CHAT_EVENT = "chatevent",
|
|
46
46
|
WHATSAPP_BUTTON_LIST = "whatsapp-button-list",
|
|
47
47
|
WHATSAPP_CTA_URL_BUTTON = "whatsapp-cta-url-button",
|
|
48
|
-
EVENT_AGENT_MESSAGE_CREATED = "case_event_agent_message_created"
|
|
48
|
+
EVENT_AGENT_MESSAGE_CREATED = "case_event_agent_message_created",
|
|
49
|
+
WHATSAPP_CATALOG = "whatsapp-catalog",
|
|
50
|
+
WHATSAPP_PRODUCT = "whatsapp-product",
|
|
51
|
+
WHATSAPP_PRODUCT_LIST = "whatsapp-product-list",
|
|
52
|
+
WHATSAPP_PRODUCT_CAROUSEL = "whatsapp-product-carousel",
|
|
53
|
+
WHATSAPP_MEDIA_CAROUSEL = "whatsapp-media-carousel",
|
|
54
|
+
WHATSAPP_ORDER = "whatsapp_order"
|
|
49
55
|
}
|
|
50
56
|
export interface Locales {
|
|
51
57
|
[id: string]: string | string[] | Locales;
|
|
@@ -66,7 +72,7 @@ export interface ResolvedPlugin extends Plugin {
|
|
|
66
72
|
config: any;
|
|
67
73
|
}
|
|
68
74
|
export type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
69
|
-
export type InputType = INPUT.AUDIO | INPUT.BUTTON_MESSAGE | INPUT.CAROUSEL | INPUT.CONTACT | INPUT.CUSTOM | INPUT.DOCUMENT | INPUT.IMAGE | INPUT.LOCATION | INPUT.POSTBACK | INPUT.TEXT | INPUT.VIDEO | INPUT.WEBCHAT_SETTINGS | INPUT.WHATSAPP_TEMPLATE | INPUT.CHAT_EVENT | INPUT.WHATSAPP_BUTTON_LIST | INPUT.WHATSAPP_CTA_URL_BUTTON | INPUT.EVENT_AGENT_MESSAGE_CREATED;
|
|
75
|
+
export type InputType = INPUT.AUDIO | INPUT.BUTTON_MESSAGE | INPUT.CAROUSEL | INPUT.CONTACT | INPUT.CUSTOM | INPUT.DOCUMENT | INPUT.IMAGE | INPUT.LOCATION | INPUT.POSTBACK | INPUT.TEXT | INPUT.VIDEO | INPUT.WEBCHAT_SETTINGS | INPUT.WHATSAPP_TEMPLATE | INPUT.CHAT_EVENT | INPUT.WHATSAPP_BUTTON_LIST | INPUT.WHATSAPP_CTA_URL_BUTTON | INPUT.EVENT_AGENT_MESSAGE_CREATED | INPUT.WHATSAPP_CATALOG | INPUT.WHATSAPP_PRODUCT | INPUT.WHATSAPP_PRODUCT_LIST | INPUT.WHATSAPP_PRODUCT_CAROUSEL | INPUT.WHATSAPP_MEDIA_CAROUSEL | INPUT.WHATSAPP_ORDER;
|
|
70
76
|
export interface IntentResult {
|
|
71
77
|
intent: string;
|
|
72
78
|
confidence: number;
|
|
@@ -104,6 +110,14 @@ export interface Input extends Partial<NluResult> {
|
|
|
104
110
|
type: string;
|
|
105
111
|
data: string;
|
|
106
112
|
};
|
|
113
|
+
catalog_id?: string;
|
|
114
|
+
product_items?: ProductItem[];
|
|
115
|
+
}
|
|
116
|
+
interface ProductItem {
|
|
117
|
+
product_retailer_id: string;
|
|
118
|
+
quantity: number;
|
|
119
|
+
item_price: number;
|
|
120
|
+
currency: string;
|
|
107
121
|
}
|
|
108
122
|
export interface Campaign {
|
|
109
123
|
id: string;
|
|
@@ -51,6 +51,12 @@ var INPUT;
|
|
|
51
51
|
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
52
52
|
INPUT["WHATSAPP_CTA_URL_BUTTON"] = "whatsapp-cta-url-button";
|
|
53
53
|
INPUT["EVENT_AGENT_MESSAGE_CREATED"] = "case_event_agent_message_created";
|
|
54
|
+
INPUT["WHATSAPP_CATALOG"] = "whatsapp-catalog";
|
|
55
|
+
INPUT["WHATSAPP_PRODUCT"] = "whatsapp-product";
|
|
56
|
+
INPUT["WHATSAPP_PRODUCT_LIST"] = "whatsapp-product-list";
|
|
57
|
+
INPUT["WHATSAPP_PRODUCT_CAROUSEL"] = "whatsapp-product-carousel";
|
|
58
|
+
INPUT["WHATSAPP_MEDIA_CAROUSEL"] = "whatsapp-media-carousel";
|
|
59
|
+
INPUT["WHATSAPP_ORDER"] = "whatsapp_order";
|
|
54
60
|
})(INPUT = exports.INPUT || (exports.INPUT = {}));
|
|
55
61
|
var BotonicAction;
|
|
56
62
|
(function (BotonicAction) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;AAExI,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAQD,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAQD,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAanB;AAeD,IAAY,
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":";AAAA,wIAAwI;;;AAExI,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAQD,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAQD,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAanB;AAeD,IAAY,KAyBX;AAzBD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,yCAAgC,CAAA;IAChC,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,6CAAoC,CAAA;IACpC,+CAAsC,CAAA;IACtC,oBAAW,CAAA;IACX,iCAAwB,CAAA;IACxB,sDAA6C,CAAA;IAC7C,4DAAmD,CAAA;IACnD,yEAAgE,CAAA;IAChE,8CAAqC,CAAA;IACrC,8CAAqC,CAAA;IACrC,wDAA+C,CAAA;IAC/C,gEAAuD,CAAA;IACvD,4DAAmD,CAAA;IACnD,0CAAiC,CAAA;AACnC,CAAC,EAzBW,KAAK,GAAL,aAAK,KAAL,aAAK,QAyBhB;AAqRD,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,6CAA4B,CAAA;IAC5B,2CAA0B,CAAA;IAC1B,gEAA+C,CAAA;IAC/C,2CAA0B,CAAA;IAC1B,6CAA4B,CAAA;AAC9B,CAAC,EANW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAMxB"}
|
|
@@ -18,11 +18,11 @@ export interface ServerConfig {
|
|
|
18
18
|
interface HubtypeServiceArgs {
|
|
19
19
|
appId: string;
|
|
20
20
|
user: SessionUser;
|
|
21
|
-
lastMessageId
|
|
22
|
-
lastMessageUpdateDate
|
|
21
|
+
lastMessageId?: string;
|
|
22
|
+
lastMessageUpdateDate?: string;
|
|
23
23
|
onEvent: any;
|
|
24
24
|
unsentInputs: () => UnsentInput[];
|
|
25
|
-
server
|
|
25
|
+
server?: ServerConfig;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Calls Hubtype APIs from Webchat
|
|
@@ -30,22 +30,16 @@ interface HubtypeServiceArgs {
|
|
|
30
30
|
export declare class HubtypeService {
|
|
31
31
|
appId: string;
|
|
32
32
|
user: SessionUser;
|
|
33
|
-
lastMessageId
|
|
34
|
-
lastMessageUpdateDate
|
|
35
|
-
onEvent: any;
|
|
33
|
+
lastMessageId?: string;
|
|
34
|
+
lastMessageUpdateDate?: string;
|
|
35
|
+
onEvent: (event: any) => void;
|
|
36
36
|
unsentInputs: () => UnsentInput[];
|
|
37
37
|
pusher: Pusher | null;
|
|
38
38
|
channel: Channel;
|
|
39
|
-
server
|
|
39
|
+
server?: ServerConfig;
|
|
40
40
|
PUSHER_CONNECT_TIMEOUT_MS: number;
|
|
41
41
|
constructor({ appId, user, lastMessageId, lastMessageUpdateDate, onEvent, unsentInputs, server, }: HubtypeServiceArgs);
|
|
42
|
-
|
|
43
|
-
* @returns {Promise<void>}
|
|
44
|
-
*/
|
|
45
|
-
init(user: any, lastMessageId: any, lastMessageUpdateDate: any): Promise<void>;
|
|
46
|
-
/**
|
|
47
|
-
* @returns {Promise<void>}
|
|
48
|
-
*/
|
|
42
|
+
init(user?: SessionUser, lastMessageId?: string, lastMessageUpdateDate?: string): Promise<void>;
|
|
49
43
|
_initPusher(): Promise<void>;
|
|
50
44
|
constructHeaders(): BotonicHeaders;
|
|
51
45
|
resolveServerConfig(): ServerConfig;
|
|
@@ -55,13 +49,8 @@ export declare class HubtypeService {
|
|
|
55
49
|
get pusherChannel(): string;
|
|
56
50
|
handleSentInput(message: any): void;
|
|
57
51
|
handleUnsentInput(message: any): void;
|
|
58
|
-
/**
|
|
59
|
-
* @return {Promise<void>}
|
|
60
|
-
*/
|
|
61
52
|
postMessage(user: SessionUser, message: any): Promise<void>;
|
|
62
|
-
static getWebchatVisibility(
|
|
63
|
-
appId: string;
|
|
64
|
-
}): Promise<AxiosResponse<any>>;
|
|
53
|
+
static getWebchatVisibility(appId: string): Promise<AxiosResponse<any>>;
|
|
65
54
|
destroyPusher(): void;
|
|
66
55
|
onConnectionRegained(): Promise<void>;
|
|
67
56
|
resendUnsentInputs(): Promise<void>;
|
|
@@ -23,25 +23,21 @@ export class HubtypeService {
|
|
|
23
23
|
// It's safe not awaiting Promise because:
|
|
24
24
|
// * it will never be called from AWS lambda
|
|
25
25
|
// * though init() is called again from postMesage, it does nothing if Pusher already created
|
|
26
|
-
// @ts-ignore
|
|
27
26
|
this.init();
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
|
-
/**
|
|
31
|
-
* @returns {Promise<void>}
|
|
32
|
-
*/
|
|
33
29
|
init(user, lastMessageId, lastMessageUpdateDate) {
|
|
34
|
-
if (user)
|
|
30
|
+
if (user) {
|
|
35
31
|
this.user = user;
|
|
36
|
-
|
|
32
|
+
}
|
|
33
|
+
if (lastMessageId) {
|
|
37
34
|
this.lastMessageId = lastMessageId;
|
|
38
|
-
|
|
35
|
+
}
|
|
36
|
+
if (lastMessageUpdateDate) {
|
|
39
37
|
this.lastMessageUpdateDate = lastMessageUpdateDate;
|
|
38
|
+
}
|
|
40
39
|
return this._initPusher();
|
|
41
40
|
}
|
|
42
|
-
/**
|
|
43
|
-
* @returns {Promise<void>}
|
|
44
|
-
*/
|
|
45
41
|
_initPusher() {
|
|
46
42
|
if (this.pusher)
|
|
47
43
|
return Promise.resolve();
|
|
@@ -102,12 +98,15 @@ export class HubtypeService {
|
|
|
102
98
|
}
|
|
103
99
|
constructHeaders() {
|
|
104
100
|
const headers = {};
|
|
105
|
-
if (this.user && this.user.id)
|
|
101
|
+
if (this.user && this.user.id) {
|
|
106
102
|
headers['X-BOTONIC-USER-ID'] = this.user.id;
|
|
107
|
-
|
|
103
|
+
}
|
|
104
|
+
if (this.lastMessageId) {
|
|
108
105
|
headers['X-BOTONIC-LAST-MESSAGE-ID'] = this.lastMessageId;
|
|
109
|
-
|
|
106
|
+
}
|
|
107
|
+
if (this.lastMessageUpdateDate) {
|
|
110
108
|
headers['X-BOTONIC-LAST-MESSAGE-UPDATE-DATE'] = this.lastMessageUpdateDate;
|
|
109
|
+
}
|
|
111
110
|
return headers;
|
|
112
111
|
}
|
|
113
112
|
resolveServerConfig() {
|
|
@@ -146,13 +145,9 @@ export class HubtypeService {
|
|
|
146
145
|
message: { id: message.id, ack: 0, unsentInput: message },
|
|
147
146
|
});
|
|
148
147
|
}
|
|
149
|
-
/**
|
|
150
|
-
* @return {Promise<void>}
|
|
151
|
-
*/
|
|
152
148
|
postMessage(user, message) {
|
|
153
149
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
150
|
try {
|
|
155
|
-
// @ts-ignore
|
|
156
151
|
yield this.init(user);
|
|
157
152
|
yield axios.post(`${HUBTYPE_API_URL}/v1/provider_accounts/webhooks/webchat/${this.appId}/`, {
|
|
158
153
|
sender: this.user,
|
|
@@ -168,7 +163,7 @@ export class HubtypeService {
|
|
|
168
163
|
return Promise.resolve();
|
|
169
164
|
});
|
|
170
165
|
}
|
|
171
|
-
static getWebchatVisibility(
|
|
166
|
+
static getWebchatVisibility(appId) {
|
|
172
167
|
return __awaiter(this, void 0, void 0, function* () {
|
|
173
168
|
return axios.get(`${HUBTYPE_API_URL}/v1/provider_accounts/${appId}/visibility/`);
|
|
174
169
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hubtype-service.js","sourceRoot":"","sources":["../../src/hubtype-service.ts"],"names":[],"mappings":";AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,MAAgC,MAAM,WAAW,CAAA;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"hubtype-service.js","sourceRoot":"","sources":["../../src/hubtype-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,13 @@ export declare enum INPUT {
|
|
|
45
45
|
CHAT_EVENT = "chatevent",
|
|
46
46
|
WHATSAPP_BUTTON_LIST = "whatsapp-button-list",
|
|
47
47
|
WHATSAPP_CTA_URL_BUTTON = "whatsapp-cta-url-button",
|
|
48
|
-
EVENT_AGENT_MESSAGE_CREATED = "case_event_agent_message_created"
|
|
48
|
+
EVENT_AGENT_MESSAGE_CREATED = "case_event_agent_message_created",
|
|
49
|
+
WHATSAPP_CATALOG = "whatsapp-catalog",
|
|
50
|
+
WHATSAPP_PRODUCT = "whatsapp-product",
|
|
51
|
+
WHATSAPP_PRODUCT_LIST = "whatsapp-product-list",
|
|
52
|
+
WHATSAPP_PRODUCT_CAROUSEL = "whatsapp-product-carousel",
|
|
53
|
+
WHATSAPP_MEDIA_CAROUSEL = "whatsapp-media-carousel",
|
|
54
|
+
WHATSAPP_ORDER = "whatsapp_order"
|
|
49
55
|
}
|
|
50
56
|
export interface Locales {
|
|
51
57
|
[id: string]: string | string[] | Locales;
|
|
@@ -66,7 +72,7 @@ export interface ResolvedPlugin extends Plugin {
|
|
|
66
72
|
config: any;
|
|
67
73
|
}
|
|
68
74
|
export type ResolvedPlugins = Record<string, ResolvedPlugin>;
|
|
69
|
-
export type InputType = INPUT.AUDIO | INPUT.BUTTON_MESSAGE | INPUT.CAROUSEL | INPUT.CONTACT | INPUT.CUSTOM | INPUT.DOCUMENT | INPUT.IMAGE | INPUT.LOCATION | INPUT.POSTBACK | INPUT.TEXT | INPUT.VIDEO | INPUT.WEBCHAT_SETTINGS | INPUT.WHATSAPP_TEMPLATE | INPUT.CHAT_EVENT | INPUT.WHATSAPP_BUTTON_LIST | INPUT.WHATSAPP_CTA_URL_BUTTON | INPUT.EVENT_AGENT_MESSAGE_CREATED;
|
|
75
|
+
export type InputType = INPUT.AUDIO | INPUT.BUTTON_MESSAGE | INPUT.CAROUSEL | INPUT.CONTACT | INPUT.CUSTOM | INPUT.DOCUMENT | INPUT.IMAGE | INPUT.LOCATION | INPUT.POSTBACK | INPUT.TEXT | INPUT.VIDEO | INPUT.WEBCHAT_SETTINGS | INPUT.WHATSAPP_TEMPLATE | INPUT.CHAT_EVENT | INPUT.WHATSAPP_BUTTON_LIST | INPUT.WHATSAPP_CTA_URL_BUTTON | INPUT.EVENT_AGENT_MESSAGE_CREATED | INPUT.WHATSAPP_CATALOG | INPUT.WHATSAPP_PRODUCT | INPUT.WHATSAPP_PRODUCT_LIST | INPUT.WHATSAPP_PRODUCT_CAROUSEL | INPUT.WHATSAPP_MEDIA_CAROUSEL | INPUT.WHATSAPP_ORDER;
|
|
70
76
|
export interface IntentResult {
|
|
71
77
|
intent: string;
|
|
72
78
|
confidence: number;
|
|
@@ -104,6 +110,14 @@ export interface Input extends Partial<NluResult> {
|
|
|
104
110
|
type: string;
|
|
105
111
|
data: string;
|
|
106
112
|
};
|
|
113
|
+
catalog_id?: string;
|
|
114
|
+
product_items?: ProductItem[];
|
|
115
|
+
}
|
|
116
|
+
interface ProductItem {
|
|
117
|
+
product_retailer_id: string;
|
|
118
|
+
quantity: number;
|
|
119
|
+
item_price: number;
|
|
120
|
+
currency: string;
|
|
107
121
|
}
|
|
108
122
|
export interface Campaign {
|
|
109
123
|
id: string;
|
|
@@ -48,6 +48,12 @@ export var INPUT;
|
|
|
48
48
|
INPUT["WHATSAPP_BUTTON_LIST"] = "whatsapp-button-list";
|
|
49
49
|
INPUT["WHATSAPP_CTA_URL_BUTTON"] = "whatsapp-cta-url-button";
|
|
50
50
|
INPUT["EVENT_AGENT_MESSAGE_CREATED"] = "case_event_agent_message_created";
|
|
51
|
+
INPUT["WHATSAPP_CATALOG"] = "whatsapp-catalog";
|
|
52
|
+
INPUT["WHATSAPP_PRODUCT"] = "whatsapp-product";
|
|
53
|
+
INPUT["WHATSAPP_PRODUCT_LIST"] = "whatsapp-product-list";
|
|
54
|
+
INPUT["WHATSAPP_PRODUCT_CAROUSEL"] = "whatsapp-product-carousel";
|
|
55
|
+
INPUT["WHATSAPP_MEDIA_CAROUSEL"] = "whatsapp-media-carousel";
|
|
56
|
+
INPUT["WHATSAPP_ORDER"] = "whatsapp_order";
|
|
51
57
|
})(INPUT || (INPUT = {}));
|
|
52
58
|
export var BotonicAction;
|
|
53
59
|
(function (BotonicAction) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAAA,wIAAwI;AAExI,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAQD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAQD,MAAM,CAAN,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,KAAR,QAAQ,QAanB;AAeD,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"legacy-types.js","sourceRoot":"","sources":["../../../src/models/legacy-types.ts"],"names":[],"mappings":"AAAA,wIAAwI;AAExI,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,yCAA0B,CAAA;IAC1B,6CAA8B,CAAA;IAC9B,mCAAoB,CAAA;IACpB,2CAA4B,CAAA;AAC9B,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;AAQD,MAAM,CAAN,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,mCAAgB,CAAA;IAChB,qCAAkB,CAAA;IAClB,mDAAgC,CAAA;IAChC,2CAAwB,CAAA;AAC1B,CAAC,EALW,eAAe,KAAf,eAAe,QAK1B;AAQD,MAAM,CAAN,IAAY,QAaX;AAbD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,+BAAmB,CAAA;IACnB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;AACvB,CAAC,EAbW,QAAQ,KAAR,QAAQ,QAanB;AAeD,MAAM,CAAN,IAAY,KAyBX;AAzBD,WAAY,KAAK;IACf,sBAAa,CAAA;IACb,8BAAqB,CAAA;IACrB,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,wBAAe,CAAA;IACf,8BAAqB,CAAA;IACrB,8BAAqB,CAAA;IACrB,4BAAmB,CAAA;IACnB,yCAAgC,CAAA;IAChC,8BAAqB,CAAA;IACrB,0BAAiB,CAAA;IACjB,6CAAoC,CAAA;IACpC,+CAAsC,CAAA;IACtC,oBAAW,CAAA;IACX,iCAAwB,CAAA;IACxB,sDAA6C,CAAA;IAC7C,4DAAmD,CAAA;IACnD,yEAAgE,CAAA;IAChE,8CAAqC,CAAA;IACrC,8CAAqC,CAAA;IACrC,wDAA+C,CAAA;IAC/C,gEAAuD,CAAA;IACvD,4DAAmD,CAAA;IACnD,0CAAiC,CAAA;AACnC,CAAC,EAzBW,KAAK,KAAL,KAAK,QAyBhB;AAqRD,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,6CAA4B,CAAA;IAC5B,2CAA0B,CAAA;IAC1B,gEAA+C,CAAA;IAC/C,2CAA0B,CAAA;IAC1B,6CAA4B,CAAA;AAC9B,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/core",
|
|
3
|
-
"version": "0.31.0-alpha.
|
|
3
|
+
"version": "0.31.0-alpha.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Build Chatbots using React",
|
|
6
6
|
"main": "./lib/cjs/index.js",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"README.md"
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
33
|
-
"axios": "^1.7.
|
|
32
|
+
"@babel/plugin-transform-runtime": "^7.25.9",
|
|
33
|
+
"axios": "^1.7.9",
|
|
34
34
|
"decode": "^0.3.0",
|
|
35
35
|
"pako": "^2.1.0",
|
|
36
36
|
"process": "^0.11.10",
|
|
@@ -44,7 +44,8 @@
|
|
|
44
44
|
},
|
|
45
45
|
"homepage": "https://github.com/hubtype/botonic#readme",
|
|
46
46
|
"engines": {
|
|
47
|
-
"node": ">=20.0.0"
|
|
47
|
+
"node": ">=20.0.0",
|
|
48
|
+
"npm": ">=10.0.0"
|
|
48
49
|
},
|
|
49
50
|
"keywords": [
|
|
50
51
|
"bot-framework",
|
package/src/hubtype-service.ts
CHANGED
|
@@ -10,23 +10,26 @@ interface UnsentInput {
|
|
|
10
10
|
ack: number
|
|
11
11
|
unsentInput: Input
|
|
12
12
|
}
|
|
13
|
+
|
|
13
14
|
interface BotonicHeaders {
|
|
14
15
|
'X-BOTONIC-USER-ID': string
|
|
15
16
|
'X-BOTONIC-LAST-MESSAGE-ID': string
|
|
16
17
|
'X-BOTONIC-LAST-MESSAGE-UPDATE-DATE': string
|
|
17
18
|
}
|
|
19
|
+
|
|
18
20
|
export interface ServerConfig {
|
|
19
21
|
activityTimeout?: number
|
|
20
22
|
pongTimeout?: number
|
|
21
23
|
}
|
|
24
|
+
|
|
22
25
|
interface HubtypeServiceArgs {
|
|
23
26
|
appId: string
|
|
24
27
|
user: SessionUser
|
|
25
|
-
lastMessageId
|
|
26
|
-
lastMessageUpdateDate
|
|
28
|
+
lastMessageId?: string
|
|
29
|
+
lastMessageUpdateDate?: string
|
|
27
30
|
onEvent: any
|
|
28
31
|
unsentInputs: () => UnsentInput[]
|
|
29
|
-
server
|
|
32
|
+
server?: ServerConfig
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
const WEBCHAT_PUSHER_KEY =
|
|
@@ -41,16 +44,17 @@ const PONG_TIMEOUT = 5 * 1000 // https://pusher.com/docs/channels/using_channels
|
|
|
41
44
|
* Calls Hubtype APIs from Webchat
|
|
42
45
|
*/
|
|
43
46
|
export class HubtypeService {
|
|
44
|
-
appId: string
|
|
45
|
-
user: SessionUser
|
|
46
|
-
lastMessageId
|
|
47
|
-
lastMessageUpdateDate
|
|
48
|
-
onEvent: any
|
|
49
|
-
unsentInputs: () => UnsentInput[]
|
|
50
|
-
pusher: Pusher | null
|
|
51
|
-
channel: Channel
|
|
52
|
-
server
|
|
53
|
-
PUSHER_CONNECT_TIMEOUT_MS = 10000
|
|
47
|
+
public appId: string
|
|
48
|
+
public user: SessionUser
|
|
49
|
+
public lastMessageId?: string
|
|
50
|
+
public lastMessageUpdateDate?: string
|
|
51
|
+
public onEvent: (event: any) => void
|
|
52
|
+
public unsentInputs: () => UnsentInput[]
|
|
53
|
+
public pusher: Pusher | null
|
|
54
|
+
public channel: Channel
|
|
55
|
+
public server?: ServerConfig
|
|
56
|
+
public PUSHER_CONNECT_TIMEOUT_MS = 10000
|
|
57
|
+
|
|
54
58
|
constructor({
|
|
55
59
|
appId,
|
|
56
60
|
user,
|
|
@@ -67,29 +71,35 @@ export class HubtypeService {
|
|
|
67
71
|
this.onEvent = onEvent
|
|
68
72
|
this.unsentInputs = unsentInputs
|
|
69
73
|
this.server = server
|
|
74
|
+
|
|
70
75
|
if (this.user.id && (lastMessageId || lastMessageUpdateDate)) {
|
|
71
76
|
// It's safe not awaiting Promise because:
|
|
72
77
|
// * it will never be called from AWS lambda
|
|
73
78
|
// * though init() is called again from postMesage, it does nothing if Pusher already created
|
|
74
|
-
// @ts-ignore
|
|
75
79
|
this.init()
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
82
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (
|
|
85
|
-
|
|
83
|
+
init(
|
|
84
|
+
user?: SessionUser,
|
|
85
|
+
lastMessageId?: string,
|
|
86
|
+
lastMessageUpdateDate?: string
|
|
87
|
+
): Promise<void> {
|
|
88
|
+
if (user) {
|
|
89
|
+
this.user = user
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (lastMessageId) {
|
|
93
|
+
this.lastMessageId = lastMessageId
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
if (lastMessageUpdateDate) {
|
|
86
97
|
this.lastMessageUpdateDate = lastMessageUpdateDate
|
|
98
|
+
}
|
|
99
|
+
|
|
87
100
|
return this._initPusher()
|
|
88
101
|
}
|
|
89
102
|
|
|
90
|
-
/**
|
|
91
|
-
* @returns {Promise<void>}
|
|
92
|
-
*/
|
|
93
103
|
_initPusher(): Promise<void> {
|
|
94
104
|
if (this.pusher) return Promise.resolve()
|
|
95
105
|
if (!this.user.id || !this.appId) {
|
|
@@ -157,11 +167,18 @@ export class HubtypeService {
|
|
|
157
167
|
|
|
158
168
|
constructHeaders(): BotonicHeaders {
|
|
159
169
|
const headers = {}
|
|
160
|
-
if (this.user && this.user.id)
|
|
161
|
-
|
|
170
|
+
if (this.user && this.user.id) {
|
|
171
|
+
headers['X-BOTONIC-USER-ID'] = this.user.id
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
if (this.lastMessageId) {
|
|
162
175
|
headers['X-BOTONIC-LAST-MESSAGE-ID'] = this.lastMessageId
|
|
163
|
-
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
if (this.lastMessageUpdateDate) {
|
|
164
179
|
headers['X-BOTONIC-LAST-MESSAGE-UPDATE-DATE'] = this.lastMessageUpdateDate
|
|
180
|
+
}
|
|
181
|
+
|
|
165
182
|
return headers as BotonicHeaders
|
|
166
183
|
}
|
|
167
184
|
|
|
@@ -210,12 +227,8 @@ export class HubtypeService {
|
|
|
210
227
|
})
|
|
211
228
|
}
|
|
212
229
|
|
|
213
|
-
/**
|
|
214
|
-
* @return {Promise<void>}
|
|
215
|
-
*/
|
|
216
230
|
async postMessage(user: SessionUser, message: any): Promise<void> {
|
|
217
231
|
try {
|
|
218
|
-
// @ts-ignore
|
|
219
232
|
await this.init(user)
|
|
220
233
|
await axios.post(
|
|
221
234
|
`${HUBTYPE_API_URL}/v1/provider_accounts/webhooks/webchat/${this.appId}/`,
|
|
@@ -234,11 +247,9 @@ export class HubtypeService {
|
|
|
234
247
|
return Promise.resolve()
|
|
235
248
|
}
|
|
236
249
|
|
|
237
|
-
static async getWebchatVisibility(
|
|
238
|
-
appId,
|
|
239
|
-
}: {
|
|
250
|
+
static async getWebchatVisibility(
|
|
240
251
|
appId: string
|
|
241
|
-
|
|
252
|
+
): Promise<AxiosResponse<any>> {
|
|
242
253
|
return axios.get(
|
|
243
254
|
`${HUBTYPE_API_URL}/v1/provider_accounts/${appId}/visibility/`
|
|
244
255
|
)
|
|
@@ -246,6 +257,7 @@ export class HubtypeService {
|
|
|
246
257
|
|
|
247
258
|
destroyPusher(): void {
|
|
248
259
|
if (!this.pusher) return
|
|
260
|
+
|
|
249
261
|
this.pusher.disconnect()
|
|
250
262
|
this.pusher.unsubscribe(this.pusherChannel)
|
|
251
263
|
this.pusher.unbind_all()
|
|
@@ -73,6 +73,12 @@ export enum INPUT {
|
|
|
73
73
|
WHATSAPP_BUTTON_LIST = 'whatsapp-button-list',
|
|
74
74
|
WHATSAPP_CTA_URL_BUTTON = 'whatsapp-cta-url-button',
|
|
75
75
|
EVENT_AGENT_MESSAGE_CREATED = 'case_event_agent_message_created',
|
|
76
|
+
WHATSAPP_CATALOG = 'whatsapp-catalog',
|
|
77
|
+
WHATSAPP_PRODUCT = 'whatsapp-product',
|
|
78
|
+
WHATSAPP_PRODUCT_LIST = 'whatsapp-product-list',
|
|
79
|
+
WHATSAPP_PRODUCT_CAROUSEL = 'whatsapp-product-carousel',
|
|
80
|
+
WHATSAPP_MEDIA_CAROUSEL = 'whatsapp-media-carousel',
|
|
81
|
+
WHATSAPP_ORDER = 'whatsapp_order',
|
|
76
82
|
}
|
|
77
83
|
|
|
78
84
|
export interface Locales {
|
|
@@ -114,6 +120,12 @@ export type InputType =
|
|
|
114
120
|
| INPUT.WHATSAPP_BUTTON_LIST
|
|
115
121
|
| INPUT.WHATSAPP_CTA_URL_BUTTON
|
|
116
122
|
| INPUT.EVENT_AGENT_MESSAGE_CREATED
|
|
123
|
+
| INPUT.WHATSAPP_CATALOG
|
|
124
|
+
| INPUT.WHATSAPP_PRODUCT
|
|
125
|
+
| INPUT.WHATSAPP_PRODUCT_LIST
|
|
126
|
+
| INPUT.WHATSAPP_PRODUCT_CAROUSEL
|
|
127
|
+
| INPUT.WHATSAPP_MEDIA_CAROUSEL
|
|
128
|
+
| INPUT.WHATSAPP_ORDER
|
|
117
129
|
|
|
118
130
|
export interface IntentResult {
|
|
119
131
|
intent: string
|
|
@@ -157,6 +169,15 @@ export interface Input extends Partial<NluResult> {
|
|
|
157
169
|
type: string
|
|
158
170
|
data: string
|
|
159
171
|
}
|
|
172
|
+
catalog_id?: string
|
|
173
|
+
product_items?: ProductItem[]
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
interface ProductItem {
|
|
177
|
+
product_retailer_id: string
|
|
178
|
+
quantity: number
|
|
179
|
+
item_price: number
|
|
180
|
+
currency: string
|
|
160
181
|
}
|
|
161
182
|
|
|
162
183
|
export interface Campaign {
|