@constructor-io/constructorio-client-javascript 2.34.8 → 2.34.9
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/modules/tracker.js +419 -13
- package/package.json +1 -1
- package/lib/types/types.d.ts +0 -126
package/lib/modules/tracker.js
CHANGED
|
@@ -106,20 +106,41 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
106
106
|
this.options = options || {};
|
|
107
107
|
this.eventemitter = new EventEmitter();
|
|
108
108
|
this.requests = new RequestQueue(options, this.eventemitter);
|
|
109
|
+
this.behavioralV2Url = 'https://ac.cnstrc.com/v2/behavioral_action/';
|
|
109
110
|
}
|
|
110
111
|
/**
|
|
111
112
|
* Send session start event to API
|
|
112
|
-
*
|
|
113
|
-
* @function
|
|
113
|
+
* @private
|
|
114
|
+
* @function trackSessionStartV2
|
|
114
115
|
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
115
116
|
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
116
117
|
* @returns {(true|Error)}
|
|
117
118
|
* @example
|
|
118
|
-
* constructorio.tracker.
|
|
119
|
+
* constructorio.tracker.trackSessionStartV2();
|
|
119
120
|
*/
|
|
120
121
|
|
|
121
122
|
|
|
122
123
|
(0, _createClass2["default"])(Tracker, [{
|
|
124
|
+
key: "trackSessionStartV2",
|
|
125
|
+
value: function trackSessionStartV2() {
|
|
126
|
+
var networkParameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
127
|
+
var url = "".concat(this.behavioralV2Url, "session_start?");
|
|
128
|
+
this.requests.queue("".concat(url).concat(applyParamsAsString({}, this.options)), 'POST', undefined, networkParameters);
|
|
129
|
+
this.requests.send();
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Send session start event to API
|
|
134
|
+
*
|
|
135
|
+
* @function trackSessionStart
|
|
136
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
137
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
138
|
+
* @returns {(true|Error)}
|
|
139
|
+
* @example
|
|
140
|
+
* constructorio.tracker.trackSessionStart();
|
|
141
|
+
*/
|
|
142
|
+
|
|
143
|
+
}, {
|
|
123
144
|
key: "trackSessionStart",
|
|
124
145
|
value: function trackSessionStart() {
|
|
125
146
|
var networkParameters = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -131,6 +152,43 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
131
152
|
this.requests.send();
|
|
132
153
|
return true;
|
|
133
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Send input focus event to API
|
|
157
|
+
* @private
|
|
158
|
+
* @function trackInputFocusV2
|
|
159
|
+
* @param {string} user_input - Input at the time user focused on the search bar
|
|
160
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
161
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
162
|
+
* @returns {(true|Error)}
|
|
163
|
+
* @description User focused on search input element
|
|
164
|
+
* @example
|
|
165
|
+
* constructorio.tracker.trackInputFocusV2("text");
|
|
166
|
+
*/
|
|
167
|
+
|
|
168
|
+
}, {
|
|
169
|
+
key: "trackInputFocusV2",
|
|
170
|
+
value: function trackInputFocusV2() {
|
|
171
|
+
var user_input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
172
|
+
var networkParameters = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
173
|
+
var baseUrl = "".concat(this.behavioralV2Url, "focus?");
|
|
174
|
+
var bodyParams = {};
|
|
175
|
+
var networkParametersNew = networkParameters;
|
|
176
|
+
var userInputNew = user_input;
|
|
177
|
+
|
|
178
|
+
if ((0, _typeof2["default"])(user_input) === 'object') {
|
|
179
|
+
networkParametersNew = user_input;
|
|
180
|
+
userInputNew = '';
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
bodyParams.user_input = userInputNew;
|
|
184
|
+
var requestMethod = 'POST';
|
|
185
|
+
var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
|
|
186
|
+
requestMethod: requestMethod
|
|
187
|
+
}));
|
|
188
|
+
this.requests.queue("".concat(baseUrl).concat(applyParamsAsString({}, this.options)), requestMethod, requestBody, networkParametersNew);
|
|
189
|
+
this.requests.send();
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
134
192
|
/**
|
|
135
193
|
* Send input focus event to API
|
|
136
194
|
*
|
|
@@ -229,6 +287,88 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
229
287
|
this.requests.send();
|
|
230
288
|
return new Error('parameters are required of type object');
|
|
231
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Send autocomplete select event to API
|
|
292
|
+
* @private
|
|
293
|
+
* @function trackAutocompleteSelectV2
|
|
294
|
+
* @param {string} item_name - Name of selected autocomplete item
|
|
295
|
+
* @param {object} parameters - Additional parameters to be sent with request
|
|
296
|
+
* @param {string} parameters.user_input - The current autocomplete search query
|
|
297
|
+
* @param {string} [parameters.section] - Section the selected item resides within
|
|
298
|
+
* @param {string} [parameters.tr] - Trigger used to select the item (click, etc.)
|
|
299
|
+
* @param {string} [parameters.item_id] - Item id of the selected item
|
|
300
|
+
* @param {string} [parameters.variation_id] - Variation id of the selected item
|
|
301
|
+
* @param {string} [parameters.group_id] - Group identifier of selected item
|
|
302
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
303
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
304
|
+
* @returns {(true|Error)}
|
|
305
|
+
* @description User selected (clicked, or navigated to via keyboard) a result that appeared within autocomplete
|
|
306
|
+
* @example
|
|
307
|
+
* constructorio.tracker.trackAutocompleteSelectV2(
|
|
308
|
+
* 'T-Shirt',
|
|
309
|
+
* {
|
|
310
|
+
* user_input: 'Shirt',
|
|
311
|
+
* section: 'Products',
|
|
312
|
+
* tr: 'click',
|
|
313
|
+
* group_id: '88JU230',
|
|
314
|
+
* item_id: '12345',
|
|
315
|
+
* variation_id: '12345-A',
|
|
316
|
+
* },
|
|
317
|
+
* );
|
|
318
|
+
*/
|
|
319
|
+
|
|
320
|
+
}, {
|
|
321
|
+
key: "trackAutocompleteSelectV2",
|
|
322
|
+
value: function trackAutocompleteSelectV2(item_name, parameters) {
|
|
323
|
+
var networkParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
324
|
+
|
|
325
|
+
// Ensure term is provided (required)
|
|
326
|
+
if (item_name && typeof item_name === 'string') {
|
|
327
|
+
// Ensure parameters are provided (required)
|
|
328
|
+
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
329
|
+
var baseUrl = "".concat(this.behavioralV2Url, "autocomplete_select?");
|
|
330
|
+
var original_query = parameters.original_query,
|
|
331
|
+
_parameters$user_inpu = parameters.user_input,
|
|
332
|
+
user_input = _parameters$user_inpu === void 0 ? original_query : _parameters$user_inpu,
|
|
333
|
+
original_section = parameters.original_section,
|
|
334
|
+
_parameters$section = parameters.section,
|
|
335
|
+
section = _parameters$section === void 0 ? original_section : _parameters$section,
|
|
336
|
+
tr = parameters.tr,
|
|
337
|
+
group_id = parameters.group_id,
|
|
338
|
+
item_id = parameters.item_id,
|
|
339
|
+
variation_id = parameters.variation_id;
|
|
340
|
+
var queryParams = {};
|
|
341
|
+
var bodyParams = {
|
|
342
|
+
user_input: user_input,
|
|
343
|
+
tr: tr,
|
|
344
|
+
group_id: group_id,
|
|
345
|
+
item_id: item_id,
|
|
346
|
+
variation_id: variation_id,
|
|
347
|
+
item_name: item_name,
|
|
348
|
+
section: section
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
if (section) {
|
|
352
|
+
queryParams.section = section;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
var requestURL = "".concat(baseUrl).concat(applyParamsAsString(queryParams, this.options));
|
|
356
|
+
var requestMethod = 'POST';
|
|
357
|
+
var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
|
|
358
|
+
requestMethod: requestMethod
|
|
359
|
+
}));
|
|
360
|
+
this.requests.queue(requestURL, requestMethod, requestBody, networkParameters);
|
|
361
|
+
this.requests.send();
|
|
362
|
+
return true;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
this.requests.send();
|
|
366
|
+
return new Error('parameters are required of type object');
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
this.requests.send();
|
|
370
|
+
return new Error('term is a required parameter of type string');
|
|
371
|
+
}
|
|
232
372
|
/**
|
|
233
373
|
* Send autocomplete select event to API
|
|
234
374
|
*
|
|
@@ -306,6 +446,77 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
306
446
|
this.requests.send();
|
|
307
447
|
return new Error('term is a required parameter of type string');
|
|
308
448
|
}
|
|
449
|
+
/**
|
|
450
|
+
* Send autocomplete search event to API
|
|
451
|
+
* @private
|
|
452
|
+
* @function trackSearchSubmitV2
|
|
453
|
+
* @param {string} search_term - Term of submitted autocomplete event
|
|
454
|
+
* @param {object} parameters - Additional parameters to be sent with request
|
|
455
|
+
* @param {string} parameters.user_input - The current autocomplete search query
|
|
456
|
+
* @param {string} [parameters.group_id] - Group identifier of selected item
|
|
457
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
458
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
459
|
+
* @returns {(true|Error)}
|
|
460
|
+
* @description User submitted a search (pressing enter within input element, or clicking submit element)
|
|
461
|
+
* @example
|
|
462
|
+
* constructorio.tracker.trackSearchSubmitV2(
|
|
463
|
+
* 'T-Shirt',
|
|
464
|
+
* {
|
|
465
|
+
* user_input: 'Shirt',
|
|
466
|
+
* group_id: '88JU230',
|
|
467
|
+
* },
|
|
468
|
+
* );
|
|
469
|
+
*/
|
|
470
|
+
|
|
471
|
+
}, {
|
|
472
|
+
key: "trackSearchSubmitV2",
|
|
473
|
+
value: function trackSearchSubmitV2(search_term, parameters) {
|
|
474
|
+
var networkParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
475
|
+
|
|
476
|
+
// Ensure term is provided (required)
|
|
477
|
+
if (search_term && typeof search_term === 'string') {
|
|
478
|
+
// Ensure parameters are provided (required)
|
|
479
|
+
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
480
|
+
var baseUrl = "".concat(this.behavioralV2Url, "search_submit?");
|
|
481
|
+
var original_query = parameters.original_query,
|
|
482
|
+
_parameters$user_inpu2 = parameters.user_input,
|
|
483
|
+
user_input = _parameters$user_inpu2 === void 0 ? original_query : _parameters$user_inpu2,
|
|
484
|
+
group_id = parameters.group_id,
|
|
485
|
+
section = parameters.section;
|
|
486
|
+
var queryParams = {};
|
|
487
|
+
var bodyParams = {
|
|
488
|
+
user_input: user_input,
|
|
489
|
+
search_term: search_term,
|
|
490
|
+
section: section
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
if (group_id) {
|
|
494
|
+
bodyParams.filters = {
|
|
495
|
+
group_id: group_id
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
if (section) {
|
|
500
|
+
queryParams.section = section;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
var requestURL = "".concat(baseUrl).concat(applyParamsAsString(queryParams, this.options));
|
|
504
|
+
var requestMethod = 'POST';
|
|
505
|
+
var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
|
|
506
|
+
requestMethod: requestMethod
|
|
507
|
+
}));
|
|
508
|
+
this.requests.queue(requestURL, requestMethod, requestBody, networkParameters);
|
|
509
|
+
this.requests.send();
|
|
510
|
+
return true;
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
this.requests.send();
|
|
514
|
+
return new Error('parameters are required of type object');
|
|
515
|
+
}
|
|
516
|
+
|
|
517
|
+
this.requests.send();
|
|
518
|
+
return new Error('term is a required parameter of type string');
|
|
519
|
+
}
|
|
309
520
|
/**
|
|
310
521
|
* Send autocomplete search event to API
|
|
311
522
|
*
|
|
@@ -368,6 +579,110 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
368
579
|
this.requests.send();
|
|
369
580
|
return new Error('term is a required parameter of type string');
|
|
370
581
|
}
|
|
582
|
+
/**
|
|
583
|
+
* Send search results loaded v2 event to API
|
|
584
|
+
* @private
|
|
585
|
+
* @function trackSearchResultsLoadedV2
|
|
586
|
+
* @param {string} search_term - Search results query term
|
|
587
|
+
* @param {object} parameters - Additional parameters to be sent with request
|
|
588
|
+
* @param {string} parameters.url - URL of the search results page
|
|
589
|
+
* @param {number} [parameters.result_count] - Total number of results
|
|
590
|
+
* @param {number} [parameters.result_page] - Current page of search results
|
|
591
|
+
* @param {string} [parameters.result_id] - Browse result identifier (returned in response from Constructor)
|
|
592
|
+
* @param {object} [parameters.selected_filters] - Selected filters
|
|
593
|
+
* @param {string} [parameters.sort_order] - Sort order ('ascending' or 'descending')
|
|
594
|
+
* @param {string} [parameters.sort_by] - Sorting method
|
|
595
|
+
* @param {object[]} [parameters.items] - List of product item unique identifiers in search results listing
|
|
596
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
597
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
598
|
+
* @returns {(true|Error)}
|
|
599
|
+
* @description User viewed a search product listing page
|
|
600
|
+
* @example
|
|
601
|
+
* constructorio.tracker.trackSearchResultsLoadedV2(
|
|
602
|
+
* 'T-Shirt',
|
|
603
|
+
* {
|
|
604
|
+
* result_count: 167,
|
|
605
|
+
* items: [{item_id: 'KMH876'}, {item_id: 'KMH140'}, {item_id: 'KMH437'}],
|
|
606
|
+
* sort_order: 'ascending'
|
|
607
|
+
* sort_by: 'price',
|
|
608
|
+
* result_page: 3,
|
|
609
|
+
* result_count: 20
|
|
610
|
+
* },
|
|
611
|
+
* );
|
|
612
|
+
*/
|
|
613
|
+
|
|
614
|
+
}, {
|
|
615
|
+
key: "trackSearchResultsLoadedV2",
|
|
616
|
+
value: function trackSearchResultsLoadedV2(search_term, parameters) {
|
|
617
|
+
var networkParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
618
|
+
|
|
619
|
+
// Ensure term is provided (required)
|
|
620
|
+
if (search_term && typeof search_term === 'string') {
|
|
621
|
+
// Ensure parameters are provided (required)
|
|
622
|
+
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
623
|
+
var baseUrl = "".concat(this.behavioralV2Url, "search_result_load?");
|
|
624
|
+
var num_results = parameters.num_results,
|
|
625
|
+
_parameters$result_co = parameters.result_count,
|
|
626
|
+
result_count = _parameters$result_co === void 0 ? num_results : _parameters$result_co,
|
|
627
|
+
customer_ids = parameters.customer_ids,
|
|
628
|
+
item_ids = parameters.item_ids,
|
|
629
|
+
_parameters$items = parameters.items,
|
|
630
|
+
items = _parameters$items === void 0 ? customer_ids || item_ids : _parameters$items,
|
|
631
|
+
result_page = parameters.result_page,
|
|
632
|
+
result_id = parameters.result_id,
|
|
633
|
+
sort_order = parameters.sort_order,
|
|
634
|
+
sort_by = parameters.sort_by,
|
|
635
|
+
selected_filters = parameters.selected_filters,
|
|
636
|
+
url = parameters.url,
|
|
637
|
+
section = parameters.section;
|
|
638
|
+
var queryParams = {};
|
|
639
|
+
var transformedItems;
|
|
640
|
+
|
|
641
|
+
if (items && Array.isArray(items) && items.length !== 0) {
|
|
642
|
+
transformedItems = items;
|
|
643
|
+
|
|
644
|
+
if (typeof items[0] === 'string' || typeof items[0] === 'number') {
|
|
645
|
+
transformedItems = items.map(function (itemId) {
|
|
646
|
+
return {
|
|
647
|
+
item_id: String(itemId)
|
|
648
|
+
};
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
if (section) {
|
|
654
|
+
queryParams.section = section;
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
var bodyParams = {
|
|
658
|
+
search_term: search_term,
|
|
659
|
+
result_count: result_count,
|
|
660
|
+
items: transformedItems,
|
|
661
|
+
result_page: result_page,
|
|
662
|
+
result_id: result_id,
|
|
663
|
+
sort_order: sort_order,
|
|
664
|
+
sort_by: sort_by,
|
|
665
|
+
selected_filters: selected_filters,
|
|
666
|
+
url: url,
|
|
667
|
+
section: section
|
|
668
|
+
};
|
|
669
|
+
var requestURL = "".concat(baseUrl).concat(applyParamsAsString(queryParams, this.options));
|
|
670
|
+
var requestMethod = 'POST';
|
|
671
|
+
var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
|
|
672
|
+
requestMethod: requestMethod
|
|
673
|
+
}));
|
|
674
|
+
this.requests.queue(requestURL, requestMethod, requestBody, networkParameters);
|
|
675
|
+
this.requests.send();
|
|
676
|
+
return true;
|
|
677
|
+
}
|
|
678
|
+
|
|
679
|
+
this.requests.send();
|
|
680
|
+
return new Error('parameters are required of type object');
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
this.requests.send();
|
|
684
|
+
return new Error('term is a required parameter of type string');
|
|
685
|
+
}
|
|
371
686
|
/**
|
|
372
687
|
* Send search results loaded event to API
|
|
373
688
|
*
|
|
@@ -436,6 +751,97 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
436
751
|
this.requests.send();
|
|
437
752
|
return new Error('term is a required parameter of type string');
|
|
438
753
|
}
|
|
754
|
+
/**
|
|
755
|
+
* Send click through event to API
|
|
756
|
+
* @private
|
|
757
|
+
* @function trackSearchResultClickV2
|
|
758
|
+
* @param {string} term - Search results query term
|
|
759
|
+
* @param {object} parameters - Additional parameters to be sent with request
|
|
760
|
+
* @param {string} parameters.item_name - Product item name (Either item_name or item_id is required)
|
|
761
|
+
* @param {string} parameters.item_id - Product item unique identifier
|
|
762
|
+
* @param {string} [parameters.variation_id] - Product item variation unique identifier
|
|
763
|
+
* @param {string} [parameters.result_id] - Search result identifier (returned in response from Constructor)
|
|
764
|
+
* @param {number} [parameters.result_count] - Number of results in total
|
|
765
|
+
* @param {number} [parameters.result_page] - Current page of results
|
|
766
|
+
* @param {string} [parameters.result_position_on_page] - Position of selected items on page
|
|
767
|
+
* @param {string} [parameters.num_results_per_page] - Number of results per page
|
|
768
|
+
* @param {object} [parameters.selected_filters] - Key - Value map of selected filters
|
|
769
|
+
* @param {string} [parameters.section] - The section name for the item Ex. "Products"
|
|
770
|
+
* @param {object} [networkParameters] - Parameters relevant to the network request
|
|
771
|
+
* @param {number} [networkParameters.timeout] - Request timeout (in milliseconds)
|
|
772
|
+
* @returns {(true|Error)}
|
|
773
|
+
* @description User clicked a result that appeared within a search product listing page
|
|
774
|
+
* @example
|
|
775
|
+
* constructorio.tracker.trackSearchResultClickV2(
|
|
776
|
+
* 'T-Shirt',
|
|
777
|
+
* {
|
|
778
|
+
* item_name: 'Red T-Shirt',
|
|
779
|
+
* item_id: 'KMH876',
|
|
780
|
+
* result_id: '019927c2-f955-4020-8b8d-6b21b93cb5a2',
|
|
781
|
+
* },
|
|
782
|
+
* );
|
|
783
|
+
*/
|
|
784
|
+
|
|
785
|
+
}, {
|
|
786
|
+
key: "trackSearchResultClickV2",
|
|
787
|
+
value: function trackSearchResultClickV2(term, parameters) {
|
|
788
|
+
var networkParameters = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
789
|
+
|
|
790
|
+
// Ensure term is provided (required)
|
|
791
|
+
if (term && typeof term === 'string') {
|
|
792
|
+
// Ensure parameters are provided (required)
|
|
793
|
+
if (parameters && (0, _typeof2["default"])(parameters) === 'object' && !Array.isArray(parameters)) {
|
|
794
|
+
var baseUrl = "".concat(this.behavioralV2Url, "search_result_click?");
|
|
795
|
+
var customer_id = parameters.customer_id,
|
|
796
|
+
_parameters$item_id = parameters.item_id,
|
|
797
|
+
item_id = _parameters$item_id === void 0 ? customer_id : _parameters$item_id,
|
|
798
|
+
name = parameters.name,
|
|
799
|
+
_parameters$item_name = parameters.item_name,
|
|
800
|
+
item_name = _parameters$item_name === void 0 ? name : _parameters$item_name,
|
|
801
|
+
variation_id = parameters.variation_id,
|
|
802
|
+
result_id = parameters.result_id,
|
|
803
|
+
result_count = parameters.result_count,
|
|
804
|
+
result_page = parameters.result_page,
|
|
805
|
+
result_position_on_page = parameters.result_position_on_page,
|
|
806
|
+
num_results_per_page = parameters.num_results_per_page,
|
|
807
|
+
selected_filters = parameters.selected_filters,
|
|
808
|
+
section = parameters.section;
|
|
809
|
+
var bodyParams = {
|
|
810
|
+
item_name: item_name,
|
|
811
|
+
item_id: item_id,
|
|
812
|
+
variation_id: variation_id,
|
|
813
|
+
result_id: result_id,
|
|
814
|
+
result_count: result_count,
|
|
815
|
+
result_page: result_page,
|
|
816
|
+
result_position_on_page: result_position_on_page,
|
|
817
|
+
num_results_per_page: num_results_per_page,
|
|
818
|
+
selected_filters: selected_filters,
|
|
819
|
+
section: section,
|
|
820
|
+
search_term: term
|
|
821
|
+
};
|
|
822
|
+
var queryParams = {};
|
|
823
|
+
|
|
824
|
+
if (section) {
|
|
825
|
+
queryParams.section = section;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
var requestURL = "".concat(baseUrl).concat(applyParamsAsString(queryParams, this.options));
|
|
829
|
+
var requestMethod = 'POST';
|
|
830
|
+
var requestBody = applyParams(bodyParams, _objectSpread(_objectSpread({}, this.options), {}, {
|
|
831
|
+
requestMethod: requestMethod
|
|
832
|
+
}));
|
|
833
|
+
this.requests.queue(requestURL, requestMethod, requestBody, networkParameters);
|
|
834
|
+
this.requests.send();
|
|
835
|
+
return true;
|
|
836
|
+
}
|
|
837
|
+
|
|
838
|
+
this.requests.send();
|
|
839
|
+
return new Error('parameters are required of type object');
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
this.requests.send();
|
|
843
|
+
return new Error('term is a required parameter of type string');
|
|
844
|
+
}
|
|
439
845
|
/**
|
|
440
846
|
* Send click through event to API
|
|
441
847
|
*
|
|
@@ -480,8 +886,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
480
886
|
customer_id = parameters.customer_id,
|
|
481
887
|
variation_id = parameters.variation_id,
|
|
482
888
|
result_id = parameters.result_id,
|
|
483
|
-
|
|
484
|
-
|
|
889
|
+
section = parameters.section,
|
|
890
|
+
item_is_convertible = parameters.item_is_convertible; // Ensure support for both item_name and name as parameters
|
|
485
891
|
|
|
486
892
|
if (item_name) {
|
|
487
893
|
queryParams.name = item_name;
|
|
@@ -576,8 +982,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
576
982
|
customer_id = parameters.customer_id,
|
|
577
983
|
variation_id = parameters.variation_id,
|
|
578
984
|
revenue = parameters.revenue,
|
|
579
|
-
_parameters$
|
|
580
|
-
section = _parameters$
|
|
985
|
+
_parameters$section2 = parameters.section,
|
|
986
|
+
section = _parameters$section2 === void 0 ? 'Products' : _parameters$section2,
|
|
581
987
|
display_name = parameters.display_name,
|
|
582
988
|
type = parameters.type,
|
|
583
989
|
is_custom_type = parameters.is_custom_type; // Ensure support for both item_id and customer_id as parameters
|
|
@@ -1276,8 +1682,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1276
1682
|
quiz_version_id = parameters.quiz_version_id,
|
|
1277
1683
|
quiz_session_id = parameters.quiz_session_id,
|
|
1278
1684
|
url = parameters.url,
|
|
1279
|
-
_parameters$
|
|
1280
|
-
section = _parameters$
|
|
1685
|
+
_parameters$section3 = parameters.section,
|
|
1686
|
+
section = _parameters$section3 === void 0 ? 'Products' : _parameters$section3,
|
|
1281
1687
|
result_count = parameters.result_count,
|
|
1282
1688
|
result_id = parameters.result_id,
|
|
1283
1689
|
result_page = parameters.result_page;
|
|
@@ -1403,8 +1809,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1403
1809
|
result_page = parameters.result_page,
|
|
1404
1810
|
num_results_per_page = parameters.num_results_per_page,
|
|
1405
1811
|
result_position_on_page = parameters.result_position_on_page,
|
|
1406
|
-
_parameters$
|
|
1407
|
-
section = _parameters$
|
|
1812
|
+
_parameters$section4 = parameters.section,
|
|
1813
|
+
section = _parameters$section4 === void 0 ? 'Products' : _parameters$section4;
|
|
1408
1814
|
var queryParams = {};
|
|
1409
1815
|
var bodyParams = {}; // Ensure required parameters provided
|
|
1410
1816
|
|
|
@@ -1556,8 +1962,8 @@ var Tracker = /*#__PURE__*/function () {
|
|
|
1556
1962
|
item_name = parameters.item_name,
|
|
1557
1963
|
variation_id = parameters.variation_id,
|
|
1558
1964
|
revenue = parameters.revenue,
|
|
1559
|
-
_parameters$
|
|
1560
|
-
section = _parameters$
|
|
1965
|
+
_parameters$section5 = parameters.section,
|
|
1966
|
+
section = _parameters$section5 === void 0 ? 'Products' : _parameters$section5,
|
|
1561
1967
|
type = parameters.type,
|
|
1562
1968
|
is_custom_type = parameters.is_custom_type,
|
|
1563
1969
|
display_name = parameters.display_name;
|
package/package.json
CHANGED
package/lib/types/types.d.ts
DELETED
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import EventDispatcher from './event-dispatcher';
|
|
2
|
-
|
|
3
|
-
export interface ConstructorClientOptions {
|
|
4
|
-
apiKey: string;
|
|
5
|
-
version?: string;
|
|
6
|
-
serviceUrl?: string;
|
|
7
|
-
// session id is of type string in jsdocs but of type number in code usage
|
|
8
|
-
sessionId?: string;
|
|
9
|
-
clientId?: string;
|
|
10
|
-
userId?: string;
|
|
11
|
-
segments?: string[];
|
|
12
|
-
testCells?: Record<string, string>;
|
|
13
|
-
fetch?: any;
|
|
14
|
-
trackingSendDelay?: number;
|
|
15
|
-
sendTrackingEvents?: boolean;
|
|
16
|
-
sendReferrerWithTrackingEvents?: boolean;
|
|
17
|
-
eventDispatcher?: EventDispatcher;
|
|
18
|
-
beaconMode?: boolean;
|
|
19
|
-
networkParameters?: {
|
|
20
|
-
timeout: number;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface RequestFeature extends Record<string, any> {
|
|
25
|
-
query_items: boolean;
|
|
26
|
-
auto_generated_refined_query_rules: boolean;
|
|
27
|
-
manual_searchandizing: boolean;
|
|
28
|
-
personalization: boolean;
|
|
29
|
-
filter_items: boolean;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface RequestFeatureVariant extends Record<string, any> {
|
|
33
|
-
query_items: string;
|
|
34
|
-
auto_generated_refined_query_rules: string;
|
|
35
|
-
manual_searchandizing: string | null;
|
|
36
|
-
personalization: string;
|
|
37
|
-
filter_items: string;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export type ErrorData = {
|
|
41
|
-
message: string;
|
|
42
|
-
[key: string]: any;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export interface ResultSources extends Record<string, any> {
|
|
46
|
-
token_match: { count: number; [key: string]: any };
|
|
47
|
-
embeddings_match: { count: number; [key: string]: any };
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export interface SortOption extends Record<string, any> {
|
|
51
|
-
sort_by: string;
|
|
52
|
-
display_name: string;
|
|
53
|
-
sort_order: string;
|
|
54
|
-
status: string;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export interface Feature extends Record<string, any> {
|
|
58
|
-
feature_name: string;
|
|
59
|
-
display_name: string;
|
|
60
|
-
enabled: boolean;
|
|
61
|
-
variant: {
|
|
62
|
-
name: string;
|
|
63
|
-
display_name: string;
|
|
64
|
-
[key: string]: any;
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface FmtOption extends Record<string, any> {
|
|
69
|
-
groups_start: string;
|
|
70
|
-
groups_max_depth: number;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
type Facet = RangeFacet | OptionFacet;
|
|
74
|
-
|
|
75
|
-
export interface BaseFacet extends Record<string, any> {
|
|
76
|
-
data: Record<string, any>;
|
|
77
|
-
status: Record<string, any>;
|
|
78
|
-
display_name: string;
|
|
79
|
-
name: string;
|
|
80
|
-
hidden: boolean;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export interface RangeFacet extends BaseFacet, Record<string, any> {
|
|
84
|
-
max: number;
|
|
85
|
-
min: number;
|
|
86
|
-
type: "range";
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export interface OptionFacet extends BaseFacet, Record<string, any> {
|
|
90
|
-
options: FacetOption[];
|
|
91
|
-
type: "multiple" | "single" | "hierarchical";
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export interface FacetOption extends Record<string, any> {
|
|
95
|
-
count: number;
|
|
96
|
-
display_name: string;
|
|
97
|
-
value: string;
|
|
98
|
-
options?: FacetOption[];
|
|
99
|
-
range?: ["-inf" | number, "inf" | number];
|
|
100
|
-
status: string;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export interface Group extends BaseGroup, Record<string, any> {
|
|
104
|
-
count: number;
|
|
105
|
-
data: Record<string, any>;
|
|
106
|
-
parents: BaseGroup[];
|
|
107
|
-
children: Group[];
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export interface Collection extends Record<string, any> {
|
|
111
|
-
collection_id: string,
|
|
112
|
-
display_name: string,
|
|
113
|
-
data: Record<string, any>
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export interface BaseGroup extends Record<string, any> {
|
|
117
|
-
display_name: string;
|
|
118
|
-
group_id: string;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
export interface FmtOptions extends Record<string, any> {
|
|
122
|
-
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export type Nullable<T> = T | null;
|
|
126
|
-
|