@botonic/plugin-flow-builder 0.43.0-alpha.0 → 0.43.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/lib/cjs/action/payload.js +11 -4
- package/lib/cjs/action/payload.js.map +1 -1
- package/lib/cjs/content-fields/flow-carousel.d.ts +2 -0
- package/lib/cjs/content-fields/flow-carousel.js +70 -27
- package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
- package/lib/cjs/content-fields/flow-whatsapp-template.js +0 -6
- package/lib/cjs/content-fields/flow-whatsapp-template.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/carousel.d.ts +1 -0
- package/lib/esm/action/payload.js +11 -4
- package/lib/esm/action/payload.js.map +1 -1
- package/lib/esm/content-fields/flow-carousel.d.ts +2 -0
- package/lib/esm/content-fields/flow-carousel.js +72 -29
- package/lib/esm/content-fields/flow-carousel.js.map +1 -1
- package/lib/esm/content-fields/flow-whatsapp-template.js +0 -6
- package/lib/esm/content-fields/flow-whatsapp-template.js.map +1 -1
- package/lib/esm/content-fields/hubtype-fields/carousel.d.ts +1 -0
- package/package.json +3 -3
- package/src/action/payload.ts +12 -5
- package/src/content-fields/flow-carousel.tsx +103 -33
- package/src/content-fields/flow-whatsapp-template.tsx +0 -7
- package/src/content-fields/hubtype-fields/carousel.ts +1 -0
|
@@ -62,15 +62,22 @@ function resolvePushFlowPayload(context) {
|
|
|
62
62
|
if (!request.input.payload) {
|
|
63
63
|
return [];
|
|
64
64
|
}
|
|
65
|
-
const
|
|
65
|
+
const parts = request.input.payload.split(constants_1.SEPARATOR);
|
|
66
|
+
const pushFlowId = parts.length > 1 ? parts[1] : '';
|
|
66
67
|
if (!pushFlowId) {
|
|
67
68
|
return [];
|
|
68
69
|
}
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
try {
|
|
71
|
+
const pushFlowNode = cmsApi.getNodeByCampaignId(pushFlowId);
|
|
72
|
+
if (!pushFlowNode) {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
return yield flowBuilderPlugin.getContentsByNode(pushFlowNode);
|
|
76
|
+
}
|
|
77
|
+
catch (_a) {
|
|
78
|
+
// Campaign not found - return empty to trigger fallback
|
|
71
79
|
return [];
|
|
72
80
|
}
|
|
73
|
-
return yield flowBuilderPlugin.getContentsByNode(pushFlowNode);
|
|
74
81
|
});
|
|
75
82
|
}
|
|
76
83
|
//# sourceMappingURL=payload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/action/payload.ts"],"names":[],"mappings":";;;;AAAA,wCAA2E;AAC3E,+BAAiC;AAEjC,4CAIqB;AAGrB,0CAAwC;AAGxC,SAAsB,oBAAoB,CACxC,OAA2B;;;QAE3B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;QACjE,IAAI,MAAA,OAAO,CAAC,KAAK,CAAC,OAAO,0CAAE,UAAU,CAAC,gCAAoB,CAAC,EAAE;YAC3D,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;SAC3C;QACD,IAAI,MAAA,OAAO,CAAC,KAAK,CAAC,OAAO,0CAAE,UAAU,CAAC,6BAAiB,CAAC,EAAE;YACxD,OAAO,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;SAC7C;QAED,MAAM,EAAE,GAAG,SAAS;YAClB,CAAC,CAAC,MAAA,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,0CAAE,EAAE;YAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACzB,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAE7E,IAAI,UAAU,EAAE;YACd,OAAO,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;SAC7D;QAED,OAAO,EAAE,CAAA;;CACV;AArBD,oDAqBC;AAED,SAAe,oBAAoB,CACjC,OAA2B;;QAE3B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAEtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAA;SACV;QAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,GAC5D,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEjE,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACpC,MAAM,KAAK,GAAkB;gBAC3B,MAAM,EAAE,kBAAW,CAAC,YAAY;gBAChC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;gBAClD,eAAe,EAAE,IAAA,SAAI,GAAE,CAAC,QAAQ,EAAE;gBAClC,eAAe;gBACf,cAAc;gBACd,MAAM,EAAE,IAAI;gBACZ,KAAK;aACN,CAAA;YAED,MAAM,IAAA,sBAAe,EAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC7C,MAAM,IAAA,qBAAU,EAAC,OAAO,EAAE,kBAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;SAC3D;QAED,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAoB,MAAM,CAAC,EAAE,CAAC;YAClD,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,UAAU,EAAE;YACd,OAAO,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;SAC7D;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AAED,SAAe,sBAAsB,CACnC,OAA2B;;QAE3B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAEtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAA;SACV;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/action/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { ContentFieldsBase } from './content-fields-base';
|
|
|
6
6
|
import { FlowElement } from './flow-element';
|
|
7
7
|
import { HtCarouselNode } from './hubtype-fields';
|
|
8
8
|
export declare class FlowCarousel extends ContentFieldsBase {
|
|
9
|
+
whatsappText: string;
|
|
9
10
|
elements: FlowElement[];
|
|
10
11
|
static fromHubtypeCMS(component: HtCarouselNode, locale: string, cmsApi: FlowBuilderApi): FlowCarousel;
|
|
11
12
|
trackFlow(request: ActionRequest): Promise<void>;
|
|
@@ -14,6 +15,7 @@ export declare class FlowCarousel extends ContentFieldsBase {
|
|
|
14
15
|
title: string;
|
|
15
16
|
subtitle?: string;
|
|
16
17
|
}): string;
|
|
18
|
+
private static createCardsFromElements;
|
|
17
19
|
static fromAIAgent(id: string, carouselMessage: CarouselMessage, request: ActionRequest): JSX.Element;
|
|
18
20
|
private toCarouselMessage;
|
|
19
21
|
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
@@ -12,12 +12,14 @@ const DEFAULT_TEXT_MESSAGE = 'These are the options';
|
|
|
12
12
|
class FlowCarousel extends content_fields_base_1.ContentFieldsBase {
|
|
13
13
|
constructor() {
|
|
14
14
|
super(...arguments);
|
|
15
|
+
this.whatsappText = '';
|
|
15
16
|
this.elements = [];
|
|
16
17
|
}
|
|
17
18
|
static fromHubtypeCMS(component, locale, cmsApi) {
|
|
18
19
|
const newCarousel = new FlowCarousel(component.id);
|
|
19
20
|
newCarousel.code = component.code;
|
|
20
21
|
newCarousel.elements = component.content.elements.map(element => flow_element_1.FlowElement.fromHubtypeCMS(element, locale, cmsApi));
|
|
22
|
+
newCarousel.whatsappText = this.getTextByLocale(locale, component.content.whatsapp_text);
|
|
21
23
|
newCarousel.followUp = component.follow_up;
|
|
22
24
|
return newCarousel;
|
|
23
25
|
}
|
|
@@ -35,24 +37,61 @@ class FlowCarousel extends content_fields_base_1.ContentFieldsBase {
|
|
|
35
37
|
}
|
|
36
38
|
return element.title;
|
|
37
39
|
}
|
|
40
|
+
static createCardsFromElements(elements) {
|
|
41
|
+
return elements.map(element => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const text = FlowCarousel.generateWhatsappElementText(element);
|
|
44
|
+
if ((_a = element.button) === null || _a === void 0 ? void 0 : _a.url) {
|
|
45
|
+
return {
|
|
46
|
+
imageLink: element.image,
|
|
47
|
+
text,
|
|
48
|
+
type: react_1.CardType.CTA_URL,
|
|
49
|
+
action: {
|
|
50
|
+
buttonText: element.button.text,
|
|
51
|
+
buttonUrl: element.button.url,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
if ((_b = element.button) === null || _b === void 0 ? void 0 : _b.payload) {
|
|
56
|
+
return {
|
|
57
|
+
imageLink: element.image,
|
|
58
|
+
text,
|
|
59
|
+
type: react_1.CardType.QUICK_REPLY,
|
|
60
|
+
action: {
|
|
61
|
+
buttons: [
|
|
62
|
+
{
|
|
63
|
+
text: element.button.text,
|
|
64
|
+
payload: element.button.payload,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
throw new Error('Element must have a url or a payload');
|
|
71
|
+
});
|
|
72
|
+
}
|
|
38
73
|
static fromAIAgent(id, carouselMessage, request) {
|
|
74
|
+
var _a, _b;
|
|
39
75
|
if ((0, core_1.isWhatsapp)(request.session) &&
|
|
40
76
|
FlowCarousel.areElementsValidForWhatsapp(carouselMessage)) {
|
|
41
|
-
if (carouselMessage.content.elements.length === 1
|
|
77
|
+
if (carouselMessage.content.elements.length === 1 &&
|
|
78
|
+
((_a = carouselMessage.content.elements[0].button) === null || _a === void 0 ? void 0 : _a.url)) {
|
|
42
79
|
const element = carouselMessage.content.elements[0];
|
|
80
|
+
const buttonText = element.button.text;
|
|
81
|
+
const url = carouselMessage.content.elements[0].button.url;
|
|
43
82
|
// TODO: Add a new fromAIAgent method in FlowWhatsappCtaUrlButtonNode to create a WhatsappCTAUrlButton from an AIAgent message
|
|
44
|
-
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappCTAUrlButton, { body: element.title, headerType: react_1.WhatsappCTAUrlHeaderType.Image, headerImage: element.image, footer: element.subtitle, displayText:
|
|
83
|
+
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappCTAUrlButton, { body: element.title, headerType: react_1.WhatsappCTAUrlHeaderType.Image, headerImage: element.image, footer: element.subtitle, displayText: buttonText, url: url }, id));
|
|
45
84
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
85
|
+
if (carouselMessage.content.elements.length === 1 &&
|
|
86
|
+
((_b = carouselMessage.content.elements[0].button) === null || _b === void 0 ? void 0 : _b.payload)) {
|
|
87
|
+
const element = carouselMessage.content.elements[0];
|
|
88
|
+
const text = FlowCarousel.generateWhatsappElementText(element);
|
|
89
|
+
const buttonPayload = carouselMessage.content.elements[0].button.payload;
|
|
90
|
+
const buttonText = carouselMessage.content.elements[0].button.text;
|
|
91
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Text, { children: [text, (0, jsx_runtime_1.jsx)(react_1.Button, Object.assign({ payload: buttonPayload }, { children: buttonText }))] }));
|
|
92
|
+
}
|
|
93
|
+
const elements = carouselMessage.content.elements.map((element, index) => flow_element_1.FlowElement.fromAIAgent(`${id}-element-${index}`, element));
|
|
94
|
+
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappInteractiveMediaCarousel, { cards: FlowCarousel.createCardsFromElements(elements), textMessage: carouselMessage.content.text || DEFAULT_TEXT_MESSAGE }));
|
|
56
95
|
}
|
|
57
96
|
return ((0, jsx_runtime_1.jsx)(react_1.Carousel, { children: carouselMessage.content.elements.map((element, index) => flow_element_1.FlowElement.fromAIAgent(`${id}-element-${index}`, element).toBotonic(id)) }, id));
|
|
58
97
|
}
|
|
@@ -77,34 +116,38 @@ class FlowCarousel extends content_fields_base_1.ContentFieldsBase {
|
|
|
77
116
|
};
|
|
78
117
|
}
|
|
79
118
|
toBotonic(id, request) {
|
|
119
|
+
var _a, _b;
|
|
80
120
|
const carouselMessage = this.toCarouselMessage(this.elements);
|
|
81
121
|
if ((0, core_1.isWhatsapp)(request.session) &&
|
|
82
122
|
FlowCarousel.areElementsValidForWhatsapp(carouselMessage)) {
|
|
83
|
-
if (this.elements.length === 1) {
|
|
123
|
+
if (this.elements.length === 1 && ((_a = this.elements[0].button) === null || _a === void 0 ? void 0 : _a.url)) {
|
|
84
124
|
const element = this.elements[0];
|
|
85
|
-
|
|
125
|
+
const buttonText = this.elements[0].button.text;
|
|
126
|
+
const url = this.elements[0].button.url;
|
|
127
|
+
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappCTAUrlButton, { body: element.title, headerType: react_1.WhatsappCTAUrlHeaderType.Image, headerImage: element.image, displayText: buttonText, url: url }, id));
|
|
86
128
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
129
|
+
if (this.elements.length === 1 &&
|
|
130
|
+
this.elements[0].button &&
|
|
131
|
+
((_b = this.elements[0].button) === null || _b === void 0 ? void 0 : _b.payload)) {
|
|
132
|
+
const element = this.elements[0];
|
|
133
|
+
const text = FlowCarousel.generateWhatsappElementText(element);
|
|
134
|
+
const buttonPayload = this.elements[0].button.payload;
|
|
135
|
+
const buttonText = this.elements[0].button.text;
|
|
136
|
+
return ((0, jsx_runtime_1.jsxs)(react_1.Text, { children: [text, (0, jsx_runtime_1.jsx)(react_1.Button, Object.assign({ payload: buttonPayload }, { children: buttonText }))] }));
|
|
137
|
+
}
|
|
138
|
+
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappInteractiveMediaCarousel, { cards: FlowCarousel.createCardsFromElements(this.elements),
|
|
97
139
|
// TODO: Add the text message in flow builder frontend and take it from the carousel node with different languages
|
|
98
|
-
textMessage: DEFAULT_TEXT_MESSAGE }));
|
|
140
|
+
textMessage: this.whatsappText || DEFAULT_TEXT_MESSAGE }));
|
|
99
141
|
}
|
|
100
142
|
return ((0, jsx_runtime_1.jsx)(react_1.Carousel, { children: this.elements.map(element => element.toBotonic(id)) }, id));
|
|
101
143
|
}
|
|
102
144
|
}
|
|
103
145
|
exports.FlowCarousel = FlowCarousel;
|
|
104
146
|
FlowCarousel.areElementsValidForWhatsapp = (carouselMessage) => {
|
|
105
|
-
const isValid = carouselMessage.content.elements.every(element => element.button.url)
|
|
147
|
+
const isValid = carouselMessage.content.elements.every(element => element.button.url) ||
|
|
148
|
+
carouselMessage.content.elements.every(element => element.button.payload);
|
|
106
149
|
if (!isValid) {
|
|
107
|
-
console.warn('Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent', carouselMessage.content);
|
|
150
|
+
console.warn('Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent, all elements must have either url or payload.', carouselMessage.content);
|
|
108
151
|
}
|
|
109
152
|
return isValid;
|
|
110
153
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":";;;;;AAAA,wCAA2D;AAC3D,
|
|
1
|
+
{"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -153,12 +153,6 @@ class FlowWhatsappTemplate extends content_fields_base_1.ContentFieldsBase {
|
|
|
153
153
|
const resolvedLocale = pluginFlowBuilder.cmsApi.getResolvedLocale();
|
|
154
154
|
const header = this.getHeaderComponent(this.htWhatsappTemplate, this.headerVariables || {}, resolvedLocale, request);
|
|
155
155
|
const buttons = this.getButtons(this.htWhatsappTemplate, this.buttons || [], this.urlVariableValues || {}, request);
|
|
156
|
-
console.log('toBotonic templateName', templateName);
|
|
157
|
-
console.log('toBotonic templateLanguage', templateLanguage);
|
|
158
|
-
console.log('toBotonic resolvedLocale', resolvedLocale);
|
|
159
|
-
console.log('toBotonic header', JSON.stringify(header, null, 2));
|
|
160
|
-
console.log('toBotonic body', JSON.stringify(body, null, 2));
|
|
161
|
-
console.log('toBotonic buttons', JSON.stringify(buttons, null, 2));
|
|
162
156
|
if ((0, core_1.isWhatsapp)(request.session)) {
|
|
163
157
|
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappTemplate, { name: templateName, language: templateLanguage, header: header, body: body, buttons: buttons }, id));
|
|
164
158
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-template.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-template.tsx"],"names":[],"mappings":";;;;;AAAA,wCAA0C;AAC1C,0CAcuB;AAGvB,wCAAiD;AACjD,0CAA6C;AAC7C,+DAAyD;AAgBzD,MAAa,oBAAqB,SAAQ,uCAAiB;IAA3D;;QAES,mBAAc,GAA2B,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-template.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-template.tsx"],"names":[],"mappings":"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"}
|
|
@@ -58,15 +58,22 @@ function resolvePushFlowPayload(context) {
|
|
|
58
58
|
if (!request.input.payload) {
|
|
59
59
|
return [];
|
|
60
60
|
}
|
|
61
|
-
const
|
|
61
|
+
const parts = request.input.payload.split(SEPARATOR);
|
|
62
|
+
const pushFlowId = parts.length > 1 ? parts[1] : '';
|
|
62
63
|
if (!pushFlowId) {
|
|
63
64
|
return [];
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
try {
|
|
67
|
+
const pushFlowNode = cmsApi.getNodeByCampaignId(pushFlowId);
|
|
68
|
+
if (!pushFlowNode) {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
return yield flowBuilderPlugin.getContentsByNode(pushFlowNode);
|
|
72
|
+
}
|
|
73
|
+
catch (_a) {
|
|
74
|
+
// Campaign not found - return empty to trigger fallback
|
|
67
75
|
return [];
|
|
68
76
|
}
|
|
69
|
-
return yield flowBuilderPlugin.getContentsByNode(pushFlowNode);
|
|
70
77
|
});
|
|
71
78
|
}
|
|
72
79
|
//# sourceMappingURL=payload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/action/payload.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAiB,eAAe,EAAE,MAAM,eAAe,CAAA;AAC3E,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,GACV,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAGxC,MAAM,UAAgB,oBAAoB,CACxC,OAA2B;;;QAE3B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;QACjE,IAAI,MAAA,OAAO,CAAC,KAAK,CAAC,OAAO,0CAAE,UAAU,CAAC,oBAAoB,CAAC,EAAE;YAC3D,OAAO,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAA;SAC3C;QACD,IAAI,MAAA,OAAO,CAAC,KAAK,CAAC,OAAO,0CAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE;YACxD,OAAO,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAA;SAC7C;QAED,MAAM,EAAE,GAAG,SAAS;YAClB,CAAC,CAAC,MAAA,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,0CAAE,EAAE;YAC1C,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAA;QACzB,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAE7E,IAAI,UAAU,EAAE;YACd,OAAO,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;SAC7D;QAED,OAAO,EAAE,CAAA;;CACV;AAED,SAAe,oBAAoB,CACjC,OAA2B;;QAE3B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAEtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAA;SACV;QAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,GAC5D,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAEjE,IAAI,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;YACpC,MAAM,KAAK,GAAkB;gBAC3B,MAAM,EAAE,WAAW,CAAC,YAAY;gBAChC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB;gBAClD,eAAe,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE;gBAClC,eAAe;gBACf,cAAc;gBACd,MAAM,EAAE,IAAI;gBACZ,KAAK;aACN,CAAA;YAED,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAC7C,MAAM,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;SAC3D;QAED,MAAM,UAAU,GAAG,MAAM;YACvB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAoB,MAAM,CAAC,EAAE,CAAC;YAClD,CAAC,CAAC,SAAS,CAAA;QAEb,IAAI,UAAU,EAAE;YACd,OAAO,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAA;SAC7D;QAED,OAAO,EAAE,CAAA;IACX,CAAC;CAAA;AAED,SAAe,sBAAsB,CACnC,OAA2B;;QAE3B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;QAEtD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE;YAC1B,OAAO,EAAE,CAAA;SACV;QAED,MAAM,
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../../src/action/payload.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { ContentFieldsBase } from './content-fields-base';
|
|
|
6
6
|
import { FlowElement } from './flow-element';
|
|
7
7
|
import { HtCarouselNode } from './hubtype-fields';
|
|
8
8
|
export declare class FlowCarousel extends ContentFieldsBase {
|
|
9
|
+
whatsappText: string;
|
|
9
10
|
elements: FlowElement[];
|
|
10
11
|
static fromHubtypeCMS(component: HtCarouselNode, locale: string, cmsApi: FlowBuilderApi): FlowCarousel;
|
|
11
12
|
trackFlow(request: ActionRequest): Promise<void>;
|
|
@@ -14,6 +15,7 @@ export declare class FlowCarousel extends ContentFieldsBase {
|
|
|
14
15
|
title: string;
|
|
15
16
|
subtitle?: string;
|
|
16
17
|
}): string;
|
|
18
|
+
private static createCardsFromElements;
|
|
17
19
|
static fromAIAgent(id: string, carouselMessage: CarouselMessage, request: ActionRequest): JSX.Element;
|
|
18
20
|
private toCarouselMessage;
|
|
19
21
|
toBotonic(id: string, request: ActionRequest): JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { isWhatsapp } from '@botonic/core';
|
|
4
|
-
import { Carousel, WhatsappCTAUrlButton, WhatsappCTAUrlHeaderType, WhatsappInteractiveMediaCarousel, } from '@botonic/react';
|
|
4
|
+
import { Button, CardType, Carousel, Text, WhatsappCTAUrlButton, WhatsappCTAUrlHeaderType, WhatsappInteractiveMediaCarousel, } from '@botonic/react';
|
|
5
5
|
import { trackOneContent } from '../tracking';
|
|
6
6
|
import { ContentFieldsBase } from './content-fields-base';
|
|
7
7
|
import { FlowElement } from './flow-element';
|
|
@@ -9,12 +9,14 @@ const DEFAULT_TEXT_MESSAGE = 'These are the options';
|
|
|
9
9
|
export class FlowCarousel extends ContentFieldsBase {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
|
+
this.whatsappText = '';
|
|
12
13
|
this.elements = [];
|
|
13
14
|
}
|
|
14
15
|
static fromHubtypeCMS(component, locale, cmsApi) {
|
|
15
16
|
const newCarousel = new FlowCarousel(component.id);
|
|
16
17
|
newCarousel.code = component.code;
|
|
17
18
|
newCarousel.elements = component.content.elements.map(element => FlowElement.fromHubtypeCMS(element, locale, cmsApi));
|
|
19
|
+
newCarousel.whatsappText = this.getTextByLocale(locale, component.content.whatsapp_text);
|
|
18
20
|
newCarousel.followUp = component.follow_up;
|
|
19
21
|
return newCarousel;
|
|
20
22
|
}
|
|
@@ -32,24 +34,61 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
32
34
|
}
|
|
33
35
|
return element.title;
|
|
34
36
|
}
|
|
37
|
+
static createCardsFromElements(elements) {
|
|
38
|
+
return elements.map(element => {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
const text = FlowCarousel.generateWhatsappElementText(element);
|
|
41
|
+
if ((_a = element.button) === null || _a === void 0 ? void 0 : _a.url) {
|
|
42
|
+
return {
|
|
43
|
+
imageLink: element.image,
|
|
44
|
+
text,
|
|
45
|
+
type: CardType.CTA_URL,
|
|
46
|
+
action: {
|
|
47
|
+
buttonText: element.button.text,
|
|
48
|
+
buttonUrl: element.button.url,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
if ((_b = element.button) === null || _b === void 0 ? void 0 : _b.payload) {
|
|
53
|
+
return {
|
|
54
|
+
imageLink: element.image,
|
|
55
|
+
text,
|
|
56
|
+
type: CardType.QUICK_REPLY,
|
|
57
|
+
action: {
|
|
58
|
+
buttons: [
|
|
59
|
+
{
|
|
60
|
+
text: element.button.text,
|
|
61
|
+
payload: element.button.payload,
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
throw new Error('Element must have a url or a payload');
|
|
68
|
+
});
|
|
69
|
+
}
|
|
35
70
|
static fromAIAgent(id, carouselMessage, request) {
|
|
71
|
+
var _a, _b;
|
|
36
72
|
if (isWhatsapp(request.session) &&
|
|
37
73
|
FlowCarousel.areElementsValidForWhatsapp(carouselMessage)) {
|
|
38
|
-
if (carouselMessage.content.elements.length === 1
|
|
74
|
+
if (carouselMessage.content.elements.length === 1 &&
|
|
75
|
+
((_a = carouselMessage.content.elements[0].button) === null || _a === void 0 ? void 0 : _a.url)) {
|
|
39
76
|
const element = carouselMessage.content.elements[0];
|
|
77
|
+
const buttonText = element.button.text;
|
|
78
|
+
const url = carouselMessage.content.elements[0].button.url;
|
|
40
79
|
// TODO: Add a new fromAIAgent method in FlowWhatsappCtaUrlButtonNode to create a WhatsappCTAUrlButton from an AIAgent message
|
|
41
|
-
return (_jsx(WhatsappCTAUrlButton, { body: element.title, headerType: WhatsappCTAUrlHeaderType.Image, headerImage: element.image, footer: element.subtitle, displayText:
|
|
80
|
+
return (_jsx(WhatsappCTAUrlButton, { body: element.title, headerType: WhatsappCTAUrlHeaderType.Image, headerImage: element.image, footer: element.subtitle, displayText: buttonText, url: url }, id));
|
|
42
81
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
82
|
+
if (carouselMessage.content.elements.length === 1 &&
|
|
83
|
+
((_b = carouselMessage.content.elements[0].button) === null || _b === void 0 ? void 0 : _b.payload)) {
|
|
84
|
+
const element = carouselMessage.content.elements[0];
|
|
85
|
+
const text = FlowCarousel.generateWhatsappElementText(element);
|
|
86
|
+
const buttonPayload = carouselMessage.content.elements[0].button.payload;
|
|
87
|
+
const buttonText = carouselMessage.content.elements[0].button.text;
|
|
88
|
+
return (_jsxs(Text, { children: [text, _jsx(Button, Object.assign({ payload: buttonPayload }, { children: buttonText }))] }));
|
|
89
|
+
}
|
|
90
|
+
const elements = carouselMessage.content.elements.map((element, index) => FlowElement.fromAIAgent(`${id}-element-${index}`, element));
|
|
91
|
+
return (_jsx(WhatsappInteractiveMediaCarousel, { cards: FlowCarousel.createCardsFromElements(elements), textMessage: carouselMessage.content.text || DEFAULT_TEXT_MESSAGE }));
|
|
53
92
|
}
|
|
54
93
|
return (_jsx(Carousel, { children: carouselMessage.content.elements.map((element, index) => FlowElement.fromAIAgent(`${id}-element-${index}`, element).toBotonic(id)) }, id));
|
|
55
94
|
}
|
|
@@ -74,33 +113,37 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
74
113
|
};
|
|
75
114
|
}
|
|
76
115
|
toBotonic(id, request) {
|
|
116
|
+
var _a, _b;
|
|
77
117
|
const carouselMessage = this.toCarouselMessage(this.elements);
|
|
78
118
|
if (isWhatsapp(request.session) &&
|
|
79
119
|
FlowCarousel.areElementsValidForWhatsapp(carouselMessage)) {
|
|
80
|
-
if (this.elements.length === 1) {
|
|
120
|
+
if (this.elements.length === 1 && ((_a = this.elements[0].button) === null || _a === void 0 ? void 0 : _a.url)) {
|
|
81
121
|
const element = this.elements[0];
|
|
82
|
-
|
|
122
|
+
const buttonText = this.elements[0].button.text;
|
|
123
|
+
const url = this.elements[0].button.url;
|
|
124
|
+
return (_jsx(WhatsappCTAUrlButton, { body: element.title, headerType: WhatsappCTAUrlHeaderType.Image, headerImage: element.image, displayText: buttonText, url: url }, id));
|
|
83
125
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
126
|
+
if (this.elements.length === 1 &&
|
|
127
|
+
this.elements[0].button &&
|
|
128
|
+
((_b = this.elements[0].button) === null || _b === void 0 ? void 0 : _b.payload)) {
|
|
129
|
+
const element = this.elements[0];
|
|
130
|
+
const text = FlowCarousel.generateWhatsappElementText(element);
|
|
131
|
+
const buttonPayload = this.elements[0].button.payload;
|
|
132
|
+
const buttonText = this.elements[0].button.text;
|
|
133
|
+
return (_jsxs(Text, { children: [text, _jsx(Button, Object.assign({ payload: buttonPayload }, { children: buttonText }))] }));
|
|
134
|
+
}
|
|
135
|
+
return (_jsx(WhatsappInteractiveMediaCarousel, { cards: FlowCarousel.createCardsFromElements(this.elements),
|
|
94
136
|
// TODO: Add the text message in flow builder frontend and take it from the carousel node with different languages
|
|
95
|
-
textMessage: DEFAULT_TEXT_MESSAGE }));
|
|
137
|
+
textMessage: this.whatsappText || DEFAULT_TEXT_MESSAGE }));
|
|
96
138
|
}
|
|
97
139
|
return (_jsx(Carousel, { children: this.elements.map(element => element.toBotonic(id)) }, id));
|
|
98
140
|
}
|
|
99
141
|
}
|
|
100
142
|
FlowCarousel.areElementsValidForWhatsapp = (carouselMessage) => {
|
|
101
|
-
const isValid = carouselMessage.content.elements.every(element => element.button.url)
|
|
143
|
+
const isValid = carouselMessage.content.elements.every(element => element.button.url) ||
|
|
144
|
+
carouselMessage.content.elements.every(element => element.button.payload);
|
|
102
145
|
if (!isValid) {
|
|
103
|
-
console.warn('Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent', carouselMessage.content);
|
|
146
|
+
console.warn('Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent, all elements must have either url or payload.', carouselMessage.content);
|
|
104
147
|
}
|
|
105
148
|
return isValid;
|
|
106
149
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAEL,QAAQ,EACR,oBAAoB,EACpB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"flow-carousel.js","sourceRoot":"","sources":["../../../src/content-fields/flow-carousel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -150,12 +150,6 @@ export class FlowWhatsappTemplate extends ContentFieldsBase {
|
|
|
150
150
|
const resolvedLocale = pluginFlowBuilder.cmsApi.getResolvedLocale();
|
|
151
151
|
const header = this.getHeaderComponent(this.htWhatsappTemplate, this.headerVariables || {}, resolvedLocale, request);
|
|
152
152
|
const buttons = this.getButtons(this.htWhatsappTemplate, this.buttons || [], this.urlVariableValues || {}, request);
|
|
153
|
-
console.log('toBotonic templateName', templateName);
|
|
154
|
-
console.log('toBotonic templateLanguage', templateLanguage);
|
|
155
|
-
console.log('toBotonic resolvedLocale', resolvedLocale);
|
|
156
|
-
console.log('toBotonic header', JSON.stringify(header, null, 2));
|
|
157
|
-
console.log('toBotonic body', JSON.stringify(body, null, 2));
|
|
158
|
-
console.log('toBotonic buttons', JSON.stringify(buttons, null, 2));
|
|
159
153
|
if (isWhatsapp(request.session)) {
|
|
160
154
|
return (_jsx(WhatsappTemplate, { name: templateName, language: templateLanguage, header: header, body: body, buttons: buttons }, id));
|
|
161
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-template.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-template.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAEL,IAAI,EACJ,gBAAgB,EAEhB,6BAA6B,EAI7B,6BAA6B,EAC7B,6BAA6B,GAI9B,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAgBzD,MAAM,OAAO,oBAAqB,SAAQ,iBAAiB;IAA3D;;QAES,mBAAc,GAA2B,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-template.js","sourceRoot":"","sources":["../../../src/content-fields/flow-whatsapp-template.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-flow-builder",
|
|
3
|
-
"version": "0.43.0
|
|
3
|
+
"version": "0.43.0",
|
|
4
4
|
"main": "./lib/cjs/index.js",
|
|
5
5
|
"module": "./lib/esm/index.js",
|
|
6
6
|
"description": "Use Flow Builder to show your contents",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@botonic/react": "0.43.0
|
|
18
|
-
"axios": "^1.
|
|
17
|
+
"@botonic/react": "^0.43.0",
|
|
18
|
+
"axios": "^1.13.2",
|
|
19
19
|
"uuid": "^10.0.0"
|
|
20
20
|
},
|
|
21
21
|
"repository": {
|
package/src/action/payload.ts
CHANGED
|
@@ -81,17 +81,24 @@ async function resolvePushFlowPayload(
|
|
|
81
81
|
return []
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
const
|
|
84
|
+
const parts = request.input.payload.split(SEPARATOR)
|
|
85
|
+
const pushFlowId = parts.length > 1 ? parts[1] : ''
|
|
85
86
|
|
|
86
87
|
if (!pushFlowId) {
|
|
87
88
|
return []
|
|
88
89
|
}
|
|
89
90
|
|
|
90
|
-
|
|
91
|
+
try {
|
|
92
|
+
const pushFlowNode =
|
|
93
|
+
cmsApi.getNodeByCampaignId<HtNodeWithContent>(pushFlowId)
|
|
91
94
|
|
|
92
|
-
|
|
95
|
+
if (!pushFlowNode) {
|
|
96
|
+
return []
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return await flowBuilderPlugin.getContentsByNode(pushFlowNode)
|
|
100
|
+
} catch {
|
|
101
|
+
// Campaign not found - return empty to trigger fallback
|
|
93
102
|
return []
|
|
94
103
|
}
|
|
95
|
-
|
|
96
|
-
return await flowBuilderPlugin.getContentsByNode(pushFlowNode)
|
|
97
104
|
}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import { CarouselMessage, isWhatsapp } from '@botonic/core'
|
|
2
2
|
import {
|
|
3
3
|
ActionRequest,
|
|
4
|
+
Button,
|
|
5
|
+
CardType,
|
|
4
6
|
Carousel,
|
|
7
|
+
Text,
|
|
5
8
|
WhatsappCTAUrlButton,
|
|
6
9
|
WhatsappCTAUrlHeaderType,
|
|
10
|
+
WhatsappInteractiveMediaCard,
|
|
7
11
|
WhatsappInteractiveMediaCarousel,
|
|
8
12
|
} from '@botonic/react'
|
|
9
13
|
import React from 'react'
|
|
@@ -16,6 +20,7 @@ import { HtCarouselNode } from './hubtype-fields'
|
|
|
16
20
|
|
|
17
21
|
const DEFAULT_TEXT_MESSAGE = 'These are the options'
|
|
18
22
|
export class FlowCarousel extends ContentFieldsBase {
|
|
23
|
+
public whatsappText: string = ''
|
|
19
24
|
public elements: FlowElement[] = []
|
|
20
25
|
|
|
21
26
|
static fromHubtypeCMS(
|
|
@@ -28,6 +33,10 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
28
33
|
newCarousel.elements = component.content.elements.map(element =>
|
|
29
34
|
FlowElement.fromHubtypeCMS(element, locale, cmsApi)
|
|
30
35
|
)
|
|
36
|
+
newCarousel.whatsappText = this.getTextByLocale(
|
|
37
|
+
locale,
|
|
38
|
+
component.content.whatsapp_text
|
|
39
|
+
)
|
|
31
40
|
newCarousel.followUp = component.follow_up
|
|
32
41
|
|
|
33
42
|
return newCarousel
|
|
@@ -41,13 +50,13 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
static areElementsValidForWhatsapp = (carouselMessage: CarouselMessage) => {
|
|
44
|
-
const isValid =
|
|
45
|
-
element => element.button.url
|
|
46
|
-
|
|
53
|
+
const isValid =
|
|
54
|
+
carouselMessage.content.elements.every(element => element.button.url) ||
|
|
55
|
+
carouselMessage.content.elements.every(element => element.button.payload)
|
|
47
56
|
|
|
48
57
|
if (!isValid) {
|
|
49
58
|
console.warn(
|
|
50
|
-
'Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent',
|
|
59
|
+
'Cannot use WhatsappInteractiveMediaCarousel for Whatsapp created by AIAgent, all elements must have either url or payload.',
|
|
51
60
|
carouselMessage.content
|
|
52
61
|
)
|
|
53
62
|
}
|
|
@@ -64,6 +73,42 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
64
73
|
return element.title
|
|
65
74
|
}
|
|
66
75
|
|
|
76
|
+
private static createCardsFromElements(
|
|
77
|
+
elements: FlowElement[]
|
|
78
|
+
): WhatsappInteractiveMediaCard[] {
|
|
79
|
+
return elements.map(element => {
|
|
80
|
+
const text = FlowCarousel.generateWhatsappElementText(element)
|
|
81
|
+
|
|
82
|
+
if (element.button?.url) {
|
|
83
|
+
return {
|
|
84
|
+
imageLink: element.image,
|
|
85
|
+
text,
|
|
86
|
+
type: CardType.CTA_URL as const,
|
|
87
|
+
action: {
|
|
88
|
+
buttonText: element.button.text,
|
|
89
|
+
buttonUrl: element.button.url,
|
|
90
|
+
},
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (element.button?.payload) {
|
|
94
|
+
return {
|
|
95
|
+
imageLink: element.image,
|
|
96
|
+
text,
|
|
97
|
+
type: CardType.QUICK_REPLY as const,
|
|
98
|
+
action: {
|
|
99
|
+
buttons: [
|
|
100
|
+
{
|
|
101
|
+
text: element.button.text,
|
|
102
|
+
payload: element.button.payload,
|
|
103
|
+
},
|
|
104
|
+
],
|
|
105
|
+
},
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
throw new Error('Element must have a url or a payload')
|
|
109
|
+
})
|
|
110
|
+
}
|
|
111
|
+
|
|
67
112
|
static fromAIAgent(
|
|
68
113
|
id: string,
|
|
69
114
|
carouselMessage: CarouselMessage,
|
|
@@ -73,8 +118,13 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
73
118
|
isWhatsapp(request.session) &&
|
|
74
119
|
FlowCarousel.areElementsValidForWhatsapp(carouselMessage)
|
|
75
120
|
) {
|
|
76
|
-
if (
|
|
121
|
+
if (
|
|
122
|
+
carouselMessage.content.elements.length === 1 &&
|
|
123
|
+
carouselMessage.content.elements[0].button?.url
|
|
124
|
+
) {
|
|
77
125
|
const element = carouselMessage.content.elements[0]
|
|
126
|
+
const buttonText = element.button.text
|
|
127
|
+
const url = carouselMessage.content.elements[0].button.url
|
|
78
128
|
// TODO: Add a new fromAIAgent method in FlowWhatsappCtaUrlButtonNode to create a WhatsappCTAUrlButton from an AIAgent message
|
|
79
129
|
return (
|
|
80
130
|
<WhatsappCTAUrlButton
|
|
@@ -83,25 +133,35 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
83
133
|
headerType={WhatsappCTAUrlHeaderType.Image}
|
|
84
134
|
headerImage={element.image}
|
|
85
135
|
footer={element.subtitle}
|
|
86
|
-
displayText={
|
|
87
|
-
url={
|
|
136
|
+
displayText={buttonText}
|
|
137
|
+
url={url}
|
|
88
138
|
/>
|
|
89
139
|
)
|
|
90
140
|
}
|
|
91
141
|
|
|
142
|
+
if (
|
|
143
|
+
carouselMessage.content.elements.length === 1 &&
|
|
144
|
+
carouselMessage.content.elements[0].button?.payload
|
|
145
|
+
) {
|
|
146
|
+
const element = carouselMessage.content.elements[0]
|
|
147
|
+
const text = FlowCarousel.generateWhatsappElementText(element)
|
|
148
|
+
const buttonPayload = carouselMessage.content.elements[0].button.payload
|
|
149
|
+
const buttonText = carouselMessage.content.elements[0].button.text
|
|
150
|
+
|
|
151
|
+
return (
|
|
152
|
+
<Text>
|
|
153
|
+
{text}
|
|
154
|
+
<Button payload={buttonPayload}>{buttonText}</Button>
|
|
155
|
+
</Text>
|
|
156
|
+
)
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
const elements = carouselMessage.content.elements.map((element, index) =>
|
|
160
|
+
FlowElement.fromAIAgent(`${id}-element-${index}`, element)
|
|
161
|
+
)
|
|
92
162
|
return (
|
|
93
163
|
<WhatsappInteractiveMediaCarousel
|
|
94
|
-
cards={
|
|
95
|
-
const buttonText = element.button.text
|
|
96
|
-
const buttonUrl = element.button.url!
|
|
97
|
-
const imageLink = element.image
|
|
98
|
-
const text = FlowCarousel.generateWhatsappElementText(element)
|
|
99
|
-
|
|
100
|
-
return {
|
|
101
|
-
text,
|
|
102
|
-
action: { buttonText, buttonUrl, imageLink },
|
|
103
|
-
}
|
|
104
|
-
})}
|
|
164
|
+
cards={FlowCarousel.createCardsFromElements(elements)}
|
|
105
165
|
textMessage={carouselMessage.content.text || DEFAULT_TEXT_MESSAGE}
|
|
106
166
|
/>
|
|
107
167
|
)
|
|
@@ -143,8 +203,10 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
143
203
|
isWhatsapp(request.session) &&
|
|
144
204
|
FlowCarousel.areElementsValidForWhatsapp(carouselMessage)
|
|
145
205
|
) {
|
|
146
|
-
if (this.elements.length === 1) {
|
|
206
|
+
if (this.elements.length === 1 && this.elements[0].button?.url) {
|
|
147
207
|
const element = this.elements[0]
|
|
208
|
+
const buttonText = this.elements[0].button.text
|
|
209
|
+
const url = this.elements[0].button.url
|
|
148
210
|
|
|
149
211
|
return (
|
|
150
212
|
<WhatsappCTAUrlButton
|
|
@@ -152,27 +214,35 @@ export class FlowCarousel extends ContentFieldsBase {
|
|
|
152
214
|
body={element.title}
|
|
153
215
|
headerType={WhatsappCTAUrlHeaderType.Image}
|
|
154
216
|
headerImage={element.image}
|
|
155
|
-
displayText={
|
|
156
|
-
url={
|
|
217
|
+
displayText={buttonText}
|
|
218
|
+
url={url}
|
|
157
219
|
/>
|
|
158
220
|
)
|
|
159
221
|
}
|
|
160
222
|
|
|
223
|
+
if (
|
|
224
|
+
this.elements.length === 1 &&
|
|
225
|
+
this.elements[0].button &&
|
|
226
|
+
this.elements[0].button?.payload
|
|
227
|
+
) {
|
|
228
|
+
const element = this.elements[0]
|
|
229
|
+
const text = FlowCarousel.generateWhatsappElementText(element)
|
|
230
|
+
const buttonPayload = this.elements[0].button.payload
|
|
231
|
+
const buttonText = this.elements[0].button.text
|
|
232
|
+
|
|
233
|
+
return (
|
|
234
|
+
<Text>
|
|
235
|
+
{text}
|
|
236
|
+
<Button payload={buttonPayload}>{buttonText}</Button>
|
|
237
|
+
</Text>
|
|
238
|
+
)
|
|
239
|
+
}
|
|
240
|
+
|
|
161
241
|
return (
|
|
162
242
|
<WhatsappInteractiveMediaCarousel
|
|
163
|
-
cards={this.elements
|
|
164
|
-
const text = FlowCarousel.generateWhatsappElementText(element)
|
|
165
|
-
const buttonText = element.button!.text!
|
|
166
|
-
const buttonUrl = element.button!.url!
|
|
167
|
-
const imageLink = element.image!
|
|
168
|
-
|
|
169
|
-
return {
|
|
170
|
-
text,
|
|
171
|
-
action: { buttonText, buttonUrl, imageLink },
|
|
172
|
-
}
|
|
173
|
-
})}
|
|
243
|
+
cards={FlowCarousel.createCardsFromElements(this.elements)}
|
|
174
244
|
// TODO: Add the text message in flow builder frontend and take it from the carousel node with different languages
|
|
175
|
-
textMessage={DEFAULT_TEXT_MESSAGE}
|
|
245
|
+
textMessage={this.whatsappText || DEFAULT_TEXT_MESSAGE}
|
|
176
246
|
/>
|
|
177
247
|
)
|
|
178
248
|
}
|
|
@@ -249,13 +249,6 @@ export class FlowWhatsappTemplate extends ContentFieldsBase {
|
|
|
249
249
|
request
|
|
250
250
|
)
|
|
251
251
|
|
|
252
|
-
console.log('toBotonic templateName', templateName)
|
|
253
|
-
console.log('toBotonic templateLanguage', templateLanguage)
|
|
254
|
-
console.log('toBotonic resolvedLocale', resolvedLocale)
|
|
255
|
-
console.log('toBotonic header', JSON.stringify(header, null, 2))
|
|
256
|
-
console.log('toBotonic body', JSON.stringify(body, null, 2))
|
|
257
|
-
console.log('toBotonic buttons', JSON.stringify(buttons, null, 2))
|
|
258
|
-
|
|
259
252
|
if (isWhatsapp(request.session)) {
|
|
260
253
|
return (
|
|
261
254
|
<WhatsappTemplate
|