@livechat/customer-sdk 3.1.5 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -77
- package/dist/customer-sdk.cjs.js +208 -228
- package/dist/customer-sdk.cjs.native.js +208 -228
- package/dist/customer-sdk.esm.js +202 -227
- package/dist/customer-sdk.js +481 -399
- package/dist/customer-sdk.min.js +1 -1
- package/package.json +5 -6
- package/types/actions.d.ts +8 -8
- package/types/constants/organizationIds.d.ts +2 -0
- package/types/constants/serverDisconnectionReasons.d.ts +1 -0
- package/types/constants/serverPushActions.d.ts +1 -0
- package/types/createStore.d.ts +1 -1
- package/types/graylog/index.d.ts +2 -2
- package/types/index.d.ts +20 -7
- package/types/reducer.d.ts +14 -15
- package/types/serverFrameParser.d.ts +10 -2
- package/types/sideEffects/index.d.ts +2 -1
- package/types/sideStorage.d.ts +2 -2
- package/types/socketListener.d.ts +6 -3
- package/types/types/clientEntities.d.ts +2 -0
- package/types/types/frames.d.ts +10 -1
- package/types/types/serverEntities.d.ts +1 -0
- package/types/types/state.d.ts +2 -2
package/dist/customer-sdk.cjs.js
CHANGED
|
@@ -7,8 +7,7 @@ var mitt = require('@livechat/mitt');
|
|
|
7
7
|
var dataUtils = require('@livechat/data-utils');
|
|
8
8
|
var redux = require('redux');
|
|
9
9
|
var createSideEffectsMiddleware = require('@livechat/side-effects-middleware');
|
|
10
|
-
var
|
|
11
|
-
var promiseTry = require('@livechat/promise-try');
|
|
10
|
+
var promiseUtils = require('@livechat/promise-utils');
|
|
12
11
|
var createBackoff = require('@livechat/backoff');
|
|
13
12
|
var storage = require('@livechat/isomorphic-storage');
|
|
14
13
|
var unfetch = require('unfetch');
|
|
@@ -21,8 +20,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
21
20
|
var createAuth__default = /*#__PURE__*/_interopDefaultLegacy(createAuth);
|
|
22
21
|
var mitt__default = /*#__PURE__*/_interopDefaultLegacy(mitt);
|
|
23
22
|
var createSideEffectsMiddleware__default = /*#__PURE__*/_interopDefaultLegacy(createSideEffectsMiddleware);
|
|
24
|
-
var deferred__default = /*#__PURE__*/_interopDefaultLegacy(deferred);
|
|
25
|
-
var promiseTry__default = /*#__PURE__*/_interopDefaultLegacy(promiseTry);
|
|
26
23
|
var createBackoff__default = /*#__PURE__*/_interopDefaultLegacy(createBackoff);
|
|
27
24
|
var storage__default = /*#__PURE__*/_interopDefaultLegacy(storage);
|
|
28
25
|
var unfetch__default = /*#__PURE__*/_interopDefaultLegacy(unfetch);
|
|
@@ -154,9 +151,26 @@ var DISCONNECTED = 'disconnected';
|
|
|
154
151
|
var PAUSED = 'paused';
|
|
155
152
|
var RECONNECTING = 'reconnecting';
|
|
156
153
|
|
|
154
|
+
var connectionStatuses = /*#__PURE__*/Object.freeze({
|
|
155
|
+
__proto__: null,
|
|
156
|
+
CONNECTED: CONNECTED,
|
|
157
|
+
DESTROYED: DESTROYED,
|
|
158
|
+
DISCONNECTED: DISCONNECTED,
|
|
159
|
+
PAUSED: PAUSED,
|
|
160
|
+
RECONNECTING: RECONNECTING
|
|
161
|
+
});
|
|
162
|
+
|
|
157
163
|
var AGENT = 'agent';
|
|
158
164
|
var CUSTOMER = 'customer';
|
|
159
165
|
|
|
166
|
+
var userTypes = /*#__PURE__*/Object.freeze({
|
|
167
|
+
__proto__: null,
|
|
168
|
+
AGENT: AGENT,
|
|
169
|
+
CUSTOMER: CUSTOMER
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
var LIVECHAT_ORGANIZATION_ID = 'feaf6c0e-9f43-48ff-9ad0-8e24e0350932';
|
|
173
|
+
|
|
160
174
|
var getAllRequests = function getAllRequests(state) {
|
|
161
175
|
return state.requests;
|
|
162
176
|
};
|
|
@@ -180,9 +194,9 @@ var isDestroyed = function isDestroyed(state) {
|
|
|
180
194
|
return getConnectionStatus(state) === DESTROYED;
|
|
181
195
|
};
|
|
182
196
|
var getEnvPart = function getEnvPart(_ref) {
|
|
183
|
-
var
|
|
197
|
+
var organizationId = _ref.organizationId,
|
|
184
198
|
env = _ref.env;
|
|
185
|
-
if (
|
|
199
|
+
if (organizationId === LIVECHAT_ORGANIZATION_ID) {
|
|
186
200
|
return '.staging';
|
|
187
201
|
}
|
|
188
202
|
if (env === 'production') {
|
|
@@ -196,12 +210,12 @@ var getApiOrigin = function getApiOrigin(state) {
|
|
|
196
210
|
return "https://api" + regionPart + getEnvPart(state) + ".livechatinc.com";
|
|
197
211
|
};
|
|
198
212
|
var getServerUrl = function getServerUrl(state) {
|
|
199
|
-
return getApiOrigin(state) + "/v3.
|
|
213
|
+
return getApiOrigin(state) + "/v3.5/customer";
|
|
200
214
|
};
|
|
201
215
|
var createInitialState = function createInitialState(initialStateData) {
|
|
202
216
|
var _initialStateData$app = initialStateData.application,
|
|
203
217
|
application = _initialStateData$app === void 0 ? {} : _initialStateData$app,
|
|
204
|
-
|
|
218
|
+
organizationId = initialStateData.organizationId,
|
|
205
219
|
_initialStateData$gro = initialStateData.groupId,
|
|
206
220
|
groupId = _initialStateData$gro === void 0 ? null : _initialStateData$gro,
|
|
207
221
|
env = initialStateData.env,
|
|
@@ -218,9 +232,9 @@ var createInitialState = function createInitialState(initialStateData) {
|
|
|
218
232
|
return {
|
|
219
233
|
application: _extends({}, application, {
|
|
220
234
|
name: "customer_sdk",
|
|
221
|
-
version: "
|
|
235
|
+
version: "4.0.0"
|
|
222
236
|
}),
|
|
223
|
-
|
|
237
|
+
organizationId: organizationId,
|
|
224
238
|
env: env,
|
|
225
239
|
groupId: groupId,
|
|
226
240
|
chats: {},
|
|
@@ -338,9 +352,12 @@ function createError(_ref) {
|
|
|
338
352
|
}
|
|
339
353
|
|
|
340
354
|
var ACCESS_TOKEN_EXPIRED = 'access_token_expired';
|
|
355
|
+
var CONNECTION_TIMEOUT = 'connection_timeout';
|
|
341
356
|
var CUSTOMER_BANNED = 'customer_banned';
|
|
342
357
|
// customer tried reconnecting too many times after they received too_many_connections error
|
|
343
358
|
var CUSTOMER_TEMPORARILY_BLOCKED = 'customer_temporarily_blocked';
|
|
359
|
+
var INACTIVITY_TIMEOUT = 'inactivity_timeout';
|
|
360
|
+
var INTERNAL_ERROR = 'internal_error';
|
|
344
361
|
var LICENSE_EXPIRED = 'license_expired';
|
|
345
362
|
var LICENSE_NOT_FOUND = 'license_not_found';
|
|
346
363
|
var MISDIRECTED_CONNECTION$1 = 'misdirected_connection';
|
|
@@ -354,6 +371,27 @@ var TOO_MANY_CONNECTIONS = 'too_many_connections';
|
|
|
354
371
|
// the limit of unauthorized connections is per IP
|
|
355
372
|
var TOO_MANY_UNAUTHORIZED_CONNECTIONS = 'too_many_unauthorized_connections';
|
|
356
373
|
var UNSUPPORTED_VERSION = 'unsupported_version';
|
|
374
|
+
// introduced in 3.5 meaning the customer was logged out by the server
|
|
375
|
+
var LOGGED_OUT_REMOTELY = 'logged_out_remotely';
|
|
376
|
+
|
|
377
|
+
var serverDisconnectionReasons = /*#__PURE__*/Object.freeze({
|
|
378
|
+
__proto__: null,
|
|
379
|
+
ACCESS_TOKEN_EXPIRED: ACCESS_TOKEN_EXPIRED,
|
|
380
|
+
CONNECTION_TIMEOUT: CONNECTION_TIMEOUT,
|
|
381
|
+
CUSTOMER_BANNED: CUSTOMER_BANNED,
|
|
382
|
+
CUSTOMER_TEMPORARILY_BLOCKED: CUSTOMER_TEMPORARILY_BLOCKED,
|
|
383
|
+
INACTIVITY_TIMEOUT: INACTIVITY_TIMEOUT,
|
|
384
|
+
INTERNAL_ERROR: INTERNAL_ERROR,
|
|
385
|
+
LICENSE_EXPIRED: LICENSE_EXPIRED,
|
|
386
|
+
LICENSE_NOT_FOUND: LICENSE_NOT_FOUND,
|
|
387
|
+
MISDIRECTED_CONNECTION: MISDIRECTED_CONNECTION$1,
|
|
388
|
+
PRODUCT_VERSION_CHANGED: PRODUCT_VERSION_CHANGED,
|
|
389
|
+
SERVICE_TEMPORARILY_UNAVAILABLE: SERVICE_TEMPORARILY_UNAVAILABLE$1,
|
|
390
|
+
TOO_MANY_CONNECTIONS: TOO_MANY_CONNECTIONS,
|
|
391
|
+
TOO_MANY_UNAUTHORIZED_CONNECTIONS: TOO_MANY_UNAUTHORIZED_CONNECTIONS,
|
|
392
|
+
UNSUPPORTED_VERSION: UNSUPPORTED_VERSION,
|
|
393
|
+
LOGGED_OUT_REMOTELY: LOGGED_OUT_REMOTELY
|
|
394
|
+
});
|
|
357
395
|
|
|
358
396
|
var CHAT_DEACTIVATED = 'chat_deactivated';
|
|
359
397
|
var CHAT_PROPERTIES_DELETED = 'chat_properties_deleted';
|
|
@@ -369,6 +407,7 @@ var EVENT_UPDATED = 'event_updated';
|
|
|
369
407
|
var EVENTS_MARKED_AS_SEEN = 'events_marked_as_seen';
|
|
370
408
|
var GREETING_ACCEPTED = 'greeting_accepted';
|
|
371
409
|
var GREETING_CANCELED = 'greeting_canceled';
|
|
410
|
+
var GROUPS_STATUS_UPDATED = 'groups_status_updated';
|
|
372
411
|
var INCOMING_CHAT = 'incoming_chat';
|
|
373
412
|
var INCOMING_EVENT = 'incoming_event';
|
|
374
413
|
var INCOMING_GREETING = 'incoming_greeting';
|
|
@@ -397,6 +436,7 @@ var serverPushActions = /*#__PURE__*/Object.freeze({
|
|
|
397
436
|
EVENTS_MARKED_AS_SEEN: EVENTS_MARKED_AS_SEEN,
|
|
398
437
|
GREETING_ACCEPTED: GREETING_ACCEPTED,
|
|
399
438
|
GREETING_CANCELED: GREETING_CANCELED,
|
|
439
|
+
GROUPS_STATUS_UPDATED: GROUPS_STATUS_UPDATED,
|
|
400
440
|
INCOMING_CHAT: INCOMING_CHAT,
|
|
401
441
|
INCOMING_EVENT: INCOMING_EVENT,
|
|
402
442
|
INCOMING_GREETING: INCOMING_GREETING,
|
|
@@ -418,6 +458,17 @@ var RICH_MESSAGE = 'rich_message';
|
|
|
418
458
|
var SYSTEM_MESSAGE = 'system_message';
|
|
419
459
|
var CUSTOM = 'custom';
|
|
420
460
|
|
|
461
|
+
var eventTypes = /*#__PURE__*/Object.freeze({
|
|
462
|
+
__proto__: null,
|
|
463
|
+
FILE: FILE,
|
|
464
|
+
FORM: FORM,
|
|
465
|
+
FILLED_FORM: FILLED_FORM,
|
|
466
|
+
MESSAGE: MESSAGE,
|
|
467
|
+
RICH_MESSAGE: RICH_MESSAGE,
|
|
468
|
+
SYSTEM_MESSAGE: SYSTEM_MESSAGE,
|
|
469
|
+
CUSTOM: CUSTOM
|
|
470
|
+
});
|
|
471
|
+
|
|
421
472
|
var createEventBase = function createEventBase(event) {
|
|
422
473
|
var base = {};
|
|
423
474
|
if (typeof event.customId === 'string') {
|
|
@@ -674,10 +725,10 @@ var socketDisconnected = function socketDisconnected() {
|
|
|
674
725
|
// TODO: this thing is not really well typed and should be improved
|
|
675
726
|
var sendRequestAction = function sendRequestAction(store, action) {
|
|
676
727
|
action.payload.id = dataUtils.generateUniqueId(store.getState().requests);
|
|
677
|
-
var
|
|
678
|
-
resolve =
|
|
679
|
-
reject =
|
|
680
|
-
promise =
|
|
728
|
+
var _promiseDeferred = promiseUtils.promiseDeferred(),
|
|
729
|
+
resolve = _promiseDeferred.resolve,
|
|
730
|
+
reject = _promiseDeferred.reject,
|
|
731
|
+
promise = _promiseDeferred.promise;
|
|
681
732
|
action.payload.promise = promise;
|
|
682
733
|
action.payload.resolve = resolve;
|
|
683
734
|
action.payload.reject = reject;
|
|
@@ -686,28 +737,88 @@ var sendRequestAction = function sendRequestAction(store, action) {
|
|
|
686
737
|
};
|
|
687
738
|
|
|
688
739
|
var AUTHENTICATION = 'AUTHENTICATION';
|
|
740
|
+
var AUTHORIZATION = 'AUTHORIZATION';
|
|
741
|
+
var CHAT_ALREADY_ACTIVE = 'CHAT_ALREADY_ACTIVE';
|
|
742
|
+
var CHAT_LIMIT_REACHED = 'CHAT_LIMIT_REACHED';
|
|
689
743
|
var CUSTOMER_BANNED$1 = 'CUSTOMER_BANNED';
|
|
744
|
+
var CUSTOMER_SESSION_FIELDS_LIMIT_REACHED = 'CUSTOMER_SESSION_FIELDS_LIMIT_REACHED';
|
|
745
|
+
var ENTITY_TOO_LARGE = 'ENTITY_TOO_LARGE';
|
|
746
|
+
var GREETING_NOT_FOUND = 'GREETING_NOT_FOUND';
|
|
747
|
+
var GROUP_OFFLINE = 'GROUP_OFFLINE';
|
|
748
|
+
var GROUPS_OFFLINE = 'GROUPS_OFFLINE';
|
|
749
|
+
var GROUP_NOT_FOUND = 'GROUP_NOT_FOUND';
|
|
750
|
+
var GROUP_UNAVAILABLE = 'GROUP_UNAVAILABLE';
|
|
751
|
+
var INTERNAL = 'INTERNAL';
|
|
752
|
+
var LICENSE_EXPIRED$1 = 'LICENSE_EXPIRED';
|
|
753
|
+
// actually this can happen only when using REST
|
|
754
|
+
var MISDIRECTED_REQUEST = 'MISDIRECTED_REQUEST';
|
|
755
|
+
var PENDING_REQUESTS_LIMIT_REACHED = 'PENDING_REQUESTS_LIMIT_REACHED';
|
|
756
|
+
var REQUEST_TIMEOUT$1 = 'REQUEST_TIMEOUT';
|
|
757
|
+
var SERVICE_UNAVAILABLE = 'SERVICE_UNAVAILABLE';
|
|
758
|
+
var UNSUPPORTED_VERSION$1 = 'UNSUPPORTED_VERSION';
|
|
690
759
|
var USERS_LIMIT_REACHED = 'USERS_LIMIT_REACHED';
|
|
760
|
+
var VALIDATION = 'VALIDATION';
|
|
691
761
|
var WRONG_PRODUCT_VERSION = 'WRONG_PRODUCT_VERSION';
|
|
692
762
|
|
|
693
|
-
var
|
|
763
|
+
var serverErrorCodes = /*#__PURE__*/Object.freeze({
|
|
764
|
+
__proto__: null,
|
|
765
|
+
AUTHENTICATION: AUTHENTICATION,
|
|
766
|
+
AUTHORIZATION: AUTHORIZATION,
|
|
767
|
+
CHAT_ALREADY_ACTIVE: CHAT_ALREADY_ACTIVE,
|
|
768
|
+
CHAT_LIMIT_REACHED: CHAT_LIMIT_REACHED,
|
|
769
|
+
CUSTOMER_BANNED: CUSTOMER_BANNED$1,
|
|
770
|
+
CUSTOMER_SESSION_FIELDS_LIMIT_REACHED: CUSTOMER_SESSION_FIELDS_LIMIT_REACHED,
|
|
771
|
+
ENTITY_TOO_LARGE: ENTITY_TOO_LARGE,
|
|
772
|
+
GREETING_NOT_FOUND: GREETING_NOT_FOUND,
|
|
773
|
+
GROUP_OFFLINE: GROUP_OFFLINE,
|
|
774
|
+
GROUPS_OFFLINE: GROUPS_OFFLINE,
|
|
775
|
+
GROUP_NOT_FOUND: GROUP_NOT_FOUND,
|
|
776
|
+
GROUP_UNAVAILABLE: GROUP_UNAVAILABLE,
|
|
777
|
+
INTERNAL: INTERNAL,
|
|
778
|
+
LICENSE_EXPIRED: LICENSE_EXPIRED$1,
|
|
779
|
+
MISDIRECTED_REQUEST: MISDIRECTED_REQUEST,
|
|
780
|
+
PENDING_REQUESTS_LIMIT_REACHED: PENDING_REQUESTS_LIMIT_REACHED,
|
|
781
|
+
REQUEST_TIMEOUT: REQUEST_TIMEOUT$1,
|
|
782
|
+
SERVICE_UNAVAILABLE: SERVICE_UNAVAILABLE,
|
|
783
|
+
UNSUPPORTED_VERSION: UNSUPPORTED_VERSION$1,
|
|
784
|
+
USERS_LIMIT_REACHED: USERS_LIMIT_REACHED,
|
|
785
|
+
VALIDATION: VALIDATION,
|
|
786
|
+
WRONG_PRODUCT_VERSION: WRONG_PRODUCT_VERSION
|
|
787
|
+
});
|
|
788
|
+
|
|
789
|
+
var getSideStorageKeyByLicense = function getSideStorageKeyByLicense(store, licenseId) {
|
|
694
790
|
var _store$getState = store.getState(),
|
|
695
|
-
licenseId = _store$getState.licenseId,
|
|
696
791
|
groupId = _store$getState.groupId,
|
|
697
792
|
uniqueGroups = _store$getState.uniqueGroups;
|
|
698
793
|
return "side_storage_" + licenseId + (uniqueGroups ? ":" + groupId : '');
|
|
699
794
|
};
|
|
700
|
-
var
|
|
701
|
-
|
|
702
|
-
|
|
795
|
+
var getSideStorageKeyByOrganization = function getSideStorageKeyByOrganization(store) {
|
|
796
|
+
var _store$getState2 = store.getState(),
|
|
797
|
+
organizationId = _store$getState2.organizationId,
|
|
798
|
+
groupId = _store$getState2.groupId,
|
|
799
|
+
uniqueGroups = _store$getState2.uniqueGroups;
|
|
800
|
+
return "side_storage_" + organizationId + (uniqueGroups ? ":" + groupId : '');
|
|
801
|
+
};
|
|
802
|
+
var getSideStorage = function getSideStorage(store, licenseId) {
|
|
803
|
+
var sideStorageLicenseKey = getSideStorageKeyByLicense(store, licenseId);
|
|
804
|
+
var sideStorageOrganizationKey = getSideStorageKeyByOrganization(store);
|
|
805
|
+
return storage__default['default'].getItem(sideStorageLicenseKey)["catch"](dataUtils.noop).then(function (sideStorage) {
|
|
806
|
+
if (!sideStorage) {
|
|
807
|
+
return storage__default['default'].getItem(sideStorageOrganizationKey)["catch"](dataUtils.noop).then(function (organizationSideStorage) {
|
|
808
|
+
return JSON.parse(organizationSideStorage || '{}');
|
|
809
|
+
})["catch"](dataUtils.noop);
|
|
810
|
+
}
|
|
811
|
+
return storage__default['default'].setItem(sideStorageOrganizationKey, sideStorage)["catch"](dataUtils.noop).then(function () {
|
|
812
|
+
return storage__default['default'].removeItem(sideStorageLicenseKey)["catch"](dataUtils.noop).then(function () {
|
|
813
|
+
return JSON.parse(sideStorage);
|
|
814
|
+
})["catch"](dataUtils.noop);
|
|
815
|
+
});
|
|
703
816
|
})
|
|
704
817
|
// shouldnt get triggered, just a defensive measure against malformed storage entries
|
|
705
|
-
["catch"](
|
|
706
|
-
return {};
|
|
707
|
-
});
|
|
818
|
+
["catch"](dataUtils.noop);
|
|
708
819
|
};
|
|
709
820
|
var saveSideStorage = function saveSideStorage(store, sideStorage) {
|
|
710
|
-
|
|
821
|
+
storage__default['default'].setItem(getSideStorageKeyByOrganization(store), JSON.stringify(sideStorage))["catch"](dataUtils.noop);
|
|
711
822
|
};
|
|
712
823
|
|
|
713
824
|
var taskChain = function taskChain(_ref, onSuccess, onError) {
|
|
@@ -715,7 +826,7 @@ var taskChain = function taskChain(_ref, onSuccess, onError) {
|
|
|
715
826
|
var cancelled = false;
|
|
716
827
|
var next = function next(intermediateResult) {
|
|
717
828
|
var step = steps.shift();
|
|
718
|
-
|
|
829
|
+
promiseUtils.promiseTry(function () {
|
|
719
830
|
return step(intermediateResult);
|
|
720
831
|
}).then(function (result) {
|
|
721
832
|
if (cancelled) {
|
|
@@ -748,7 +859,7 @@ var delay = function delay(ms) {
|
|
|
748
859
|
setTimeout(resolve, ms);
|
|
749
860
|
});
|
|
750
861
|
};
|
|
751
|
-
function createLoginTask(auth, customerDataProvider) {
|
|
862
|
+
function createLoginTask(auth, customerDataProvider, licenseId) {
|
|
752
863
|
var store;
|
|
753
864
|
var sentPage = null;
|
|
754
865
|
var task;
|
|
@@ -769,7 +880,7 @@ function createLoginTask(auth, customerDataProvider) {
|
|
|
769
880
|
return store.dispatch(reconnect(currentBackoffStrategy.duration()));
|
|
770
881
|
};
|
|
771
882
|
var getTokenAndSideStorage = function getTokenAndSideStorage() {
|
|
772
|
-
return Promise.all([auth.getToken(), getSideStorage(store)]);
|
|
883
|
+
return Promise.all([auth.getToken(), getSideStorage(store, licenseId)]);
|
|
773
884
|
};
|
|
774
885
|
var dispatchSelfId = function dispatchSelfId(_ref2) {
|
|
775
886
|
var token = _ref2[0],
|
|
@@ -909,7 +1020,7 @@ var checkGoals = function checkGoals(store, auth, sessionFields) {
|
|
|
909
1020
|
return;
|
|
910
1021
|
}
|
|
911
1022
|
var query = urlUtils.buildQueryString({
|
|
912
|
-
|
|
1023
|
+
organization_id: state.organizationId
|
|
913
1024
|
});
|
|
914
1025
|
var payload = {
|
|
915
1026
|
session_fields: parseCustomerSessionFields(sessionFields || {}),
|
|
@@ -1408,11 +1519,11 @@ var sendRequest$1 = function sendRequest(socket, _ref3) {
|
|
|
1408
1519
|
{
|
|
1409
1520
|
var upgradedPushes = [];
|
|
1410
1521
|
socket.emit(_extends({}, frame, {
|
|
1411
|
-
version: '3.
|
|
1522
|
+
version: '3.5',
|
|
1412
1523
|
payload: _extends({}, frame.payload, {
|
|
1413
1524
|
pushes: {
|
|
1414
|
-
// '3.
|
|
1415
|
-
'3.
|
|
1525
|
+
// '3.6': upgradedPushes,
|
|
1526
|
+
'3.5': dataUtils.values(serverPushActions).filter(function (pushAction) {
|
|
1416
1527
|
return (
|
|
1417
1528
|
// `customer_disconnected` can be sent immediately after opening the connection, before it even received login request
|
|
1418
1529
|
// therefore it's not possible to subscribe for a particular version of this push - the "connection version" is always used
|
|
@@ -1444,25 +1555,10 @@ var emitUsers = function emitUsers(emit, users) {
|
|
|
1444
1555
|
emit('user_data', user);
|
|
1445
1556
|
});
|
|
1446
1557
|
};
|
|
1447
|
-
var
|
|
1448
|
-
var
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
return;
|
|
1452
|
-
}
|
|
1453
|
-
if (content.name === 'groups_update' && 'groups' in content && !dataUtils.isEmpty(content.groups)) {
|
|
1454
|
-
var _content$groups = content.groups,
|
|
1455
|
-
group = _content$groups[0];
|
|
1456
|
-
var availability = parseGroupStatus(group.status);
|
|
1457
|
-
emit('availability_updated', {
|
|
1458
|
-
availability: availability
|
|
1459
|
-
});
|
|
1460
|
-
}
|
|
1461
|
-
};
|
|
1462
|
-
var handlePush = function handlePush(_ref5, _ref6) {
|
|
1463
|
-
var emit = _ref5.emit,
|
|
1464
|
-
store = _ref5.store;
|
|
1465
|
-
var payload = _ref6.payload;
|
|
1558
|
+
var handlePush = function handlePush(_ref4, _ref5) {
|
|
1559
|
+
var emit = _ref4.emit,
|
|
1560
|
+
store = _ref4.store;
|
|
1561
|
+
var payload = _ref5.payload;
|
|
1466
1562
|
switch (payload.action) {
|
|
1467
1563
|
case THREAD_PROPERTIES_UPDATED:
|
|
1468
1564
|
if (payload.payload.properties.lc2 && 'queue_pos' in payload.payload.properties.lc2) {
|
|
@@ -1502,6 +1598,7 @@ var handlePush = function handlePush(_ref5, _ref6) {
|
|
|
1502
1598
|
case PRODUCT_VERSION_CHANGED:
|
|
1503
1599
|
case TOO_MANY_CONNECTIONS:
|
|
1504
1600
|
case UNSUPPORTED_VERSION:
|
|
1601
|
+
case LOGGED_OUT_REMOTELY:
|
|
1505
1602
|
// this also emits `disconnected` event - but it's handled in response to this action by destroy handler
|
|
1506
1603
|
store.dispatch(destroy(payload.payload.reason));
|
|
1507
1604
|
break;
|
|
@@ -1524,6 +1621,16 @@ var handlePush = function handlePush(_ref5, _ref6) {
|
|
|
1524
1621
|
break;
|
|
1525
1622
|
}
|
|
1526
1623
|
return;
|
|
1624
|
+
case GROUPS_STATUS_UPDATED:
|
|
1625
|
+
{
|
|
1626
|
+
var _payload$payload$grou = payload.payload.groups,
|
|
1627
|
+
group = _payload$payload$grou[0];
|
|
1628
|
+
var availability = parseGroupStatus(group.status);
|
|
1629
|
+
emit('availability_updated', {
|
|
1630
|
+
availability: availability
|
|
1631
|
+
});
|
|
1632
|
+
return;
|
|
1633
|
+
}
|
|
1527
1634
|
case INCOMING_CHAT:
|
|
1528
1635
|
emitUsers(emit, payload.payload.chat.users);
|
|
1529
1636
|
emit(payload.action, payload.payload);
|
|
@@ -1537,11 +1644,6 @@ var handlePush = function handlePush(_ref5, _ref6) {
|
|
|
1537
1644
|
case INCOMING_TYPING_INDICATOR:
|
|
1538
1645
|
emit(payload.action, payload.payload);
|
|
1539
1646
|
return;
|
|
1540
|
-
case INCOMING_MULTICAST:
|
|
1541
|
-
handleMulticast(emit, payload.payload);
|
|
1542
|
-
// we passthrough this action even if it was already handled above
|
|
1543
|
-
emit(payload.action, payload.payload);
|
|
1544
|
-
return;
|
|
1545
1647
|
case USER_ADDED_TO_CHAT:
|
|
1546
1648
|
emitUsers(emit, [payload.payload.user]);
|
|
1547
1649
|
emit(payload.action, payload.payload);
|
|
@@ -1551,9 +1653,9 @@ var handlePush = function handlePush(_ref5, _ref6) {
|
|
|
1551
1653
|
return;
|
|
1552
1654
|
}
|
|
1553
1655
|
};
|
|
1554
|
-
var handleResponse = function handleResponse(
|
|
1555
|
-
var emit =
|
|
1556
|
-
var payload =
|
|
1656
|
+
var handleResponse = function handleResponse(_ref6, _ref7) {
|
|
1657
|
+
var emit = _ref6.emit;
|
|
1658
|
+
var payload = _ref7.payload;
|
|
1557
1659
|
switch (payload.action) {
|
|
1558
1660
|
case CHAT_DEACTIVATED:
|
|
1559
1661
|
payload.resolve(SUCCESS);
|
|
@@ -1578,13 +1680,14 @@ var handleResponse = function handleResponse(_ref7, _ref8) {
|
|
|
1578
1680
|
return;
|
|
1579
1681
|
}
|
|
1580
1682
|
};
|
|
1581
|
-
var createSideEffectsHandler = (function (
|
|
1582
|
-
var auth =
|
|
1583
|
-
customerDataProvider =
|
|
1584
|
-
emitter =
|
|
1585
|
-
socket =
|
|
1683
|
+
var createSideEffectsHandler = (function (_ref8) {
|
|
1684
|
+
var auth = _ref8.auth,
|
|
1685
|
+
customerDataProvider = _ref8.customerDataProvider,
|
|
1686
|
+
emitter = _ref8.emitter,
|
|
1687
|
+
socket = _ref8.socket,
|
|
1688
|
+
licenseId = _ref8.licenseId;
|
|
1586
1689
|
var emit = emitter.emit;
|
|
1587
|
-
var loginTask = createLoginTask(auth, customerDataProvider);
|
|
1690
|
+
var loginTask = createLoginTask(auth, customerDataProvider, licenseId);
|
|
1588
1691
|
|
|
1589
1692
|
// TODO: using Store type here is a lie, middleware only provides MiddlewareAPI here
|
|
1590
1693
|
return function (action, store) {
|
|
@@ -1607,6 +1710,7 @@ var createSideEffectsHandler = (function (_ref9) {
|
|
|
1607
1710
|
case CUSTOMER_BANNED:
|
|
1608
1711
|
case LICENSE_EXPIRED:
|
|
1609
1712
|
case PRODUCT_VERSION_CHANGED:
|
|
1713
|
+
case LOGGED_OUT_REMOTELY:
|
|
1610
1714
|
// normalize those to CONNECTION_LOST as the handling on the consumer's side should be the same
|
|
1611
1715
|
failAllRequests(store, CONNECTION_LOST);
|
|
1612
1716
|
emit('disconnected', payload);
|
|
@@ -1677,9 +1781,9 @@ var createSideEffectsHandler = (function (_ref9) {
|
|
|
1677
1781
|
if (!hasToken) {
|
|
1678
1782
|
return auth.getToken();
|
|
1679
1783
|
}
|
|
1680
|
-
return auth.getToken().then(function (
|
|
1681
|
-
var creationDate =
|
|
1682
|
-
expiresIn =
|
|
1784
|
+
return auth.getToken().then(function (_ref9) {
|
|
1785
|
+
var creationDate = _ref9.creationDate,
|
|
1786
|
+
expiresIn = _ref9.expiresIn;
|
|
1683
1787
|
var ONE_HOUR = 60 * 60 * 1000;
|
|
1684
1788
|
// check if the token is worth reusing
|
|
1685
1789
|
// we don't want to get disconnected in a moment because of expired token
|
|
@@ -1881,7 +1985,7 @@ var initialize = function initialize(store, emitter) {
|
|
|
1881
1985
|
var url = (getServerUrl(state) + "/rtm/ws").replace(/^https/, 'wss');
|
|
1882
1986
|
return createPlatformClient__default['default'](url, {
|
|
1883
1987
|
query: {
|
|
1884
|
-
|
|
1988
|
+
organization_id: state.organizationId
|
|
1885
1989
|
},
|
|
1886
1990
|
emitter: emitter
|
|
1887
1991
|
});
|
|
@@ -2173,16 +2277,17 @@ var parseListChatsResponse = function parseListChatsResponse(payload) {
|
|
|
2173
2277
|
var lastEventSummary = dataUtils.last(lastEventSummariesArray.sort(function (eventSummaryA, eventSummaryB) {
|
|
2174
2278
|
return eventSummaryA.thread_id === eventSummaryB.thread_id ? dataUtils.stringCompare(eventSummaryA.event.created_at, eventSummaryB.event.created_at) : dataUtils.stringCompare(eventSummaryA.thread_created_at, eventSummaryB.thread_created_at);
|
|
2175
2279
|
}));
|
|
2176
|
-
if (lastEventSummary) {
|
|
2280
|
+
if (lastEventSummary && chatSummary.lastEventsPerType) {
|
|
2177
2281
|
chatSummary.lastEvent = chatSummary.lastEventsPerType[lastEventSummary.event.type];
|
|
2178
2282
|
}
|
|
2179
2283
|
return chatSummary;
|
|
2180
2284
|
});
|
|
2181
2285
|
return {
|
|
2182
2286
|
chatsSummary: dataUtils.numericSortBy(function (_ref4) {
|
|
2287
|
+
var _ref5;
|
|
2183
2288
|
var lastEvent = _ref4.lastEvent,
|
|
2184
2289
|
order = _ref4.order;
|
|
2185
|
-
return -1 * (lastEvent !== undefined ? lastEvent.timestamp : order);
|
|
2290
|
+
return -1 * ((_ref5 = lastEvent !== undefined ? lastEvent.timestamp : order) != null ? _ref5 : 0);
|
|
2186
2291
|
}, chatsSummary),
|
|
2187
2292
|
totalChats: payload.total_chats,
|
|
2188
2293
|
users: dataUtils.uniqBy(function (user) {
|
|
@@ -2302,6 +2407,11 @@ var parsePush = function parsePush(push) {
|
|
|
2302
2407
|
// 'greeting_canceled' has the same payload as `greeting_accepted`
|
|
2303
2408
|
payload: parseGreetingAcceptedPush(push.payload)
|
|
2304
2409
|
};
|
|
2410
|
+
case GROUPS_STATUS_UPDATED:
|
|
2411
|
+
return {
|
|
2412
|
+
action: push.action,
|
|
2413
|
+
payload: push.payload
|
|
2414
|
+
};
|
|
2305
2415
|
case INCOMING_CHAT:
|
|
2306
2416
|
return {
|
|
2307
2417
|
action: push.action,
|
|
@@ -2359,9 +2469,9 @@ var parsePush = function parsePush(push) {
|
|
|
2359
2469
|
};
|
|
2360
2470
|
}
|
|
2361
2471
|
};
|
|
2362
|
-
var parseResponse = function parseResponse(
|
|
2363
|
-
var request =
|
|
2364
|
-
response =
|
|
2472
|
+
var parseResponse = function parseResponse(_ref6) {
|
|
2473
|
+
var request = _ref6.request,
|
|
2474
|
+
response = _ref6.response;
|
|
2365
2475
|
switch (response.action) {
|
|
2366
2476
|
case ACCEPT_GREETING:
|
|
2367
2477
|
return {
|
|
@@ -2606,150 +2716,6 @@ var socketListener = (function (store, socket) {
|
|
|
2606
2716
|
return socket.off;
|
|
2607
2717
|
});
|
|
2608
2718
|
|
|
2609
|
-
var INCORRECT_REQUESTER_STRUCTURE = 'incorrect requester structure';
|
|
2610
|
-
var appendString = function appendString(input, str) {
|
|
2611
|
-
return input.length ? input + "\n" + str : str;
|
|
2612
|
-
};
|
|
2613
|
-
var createTicketBody = function createTicketBody(state, _ref) {
|
|
2614
|
-
var fields = _ref.fields,
|
|
2615
|
-
customerId = _ref.customerId,
|
|
2616
|
-
_ref$groupId = _ref.groupId,
|
|
2617
|
-
groupId = _ref$groupId === void 0 ? state.groupId : _ref$groupId,
|
|
2618
|
-
timeZone = _ref.timeZone;
|
|
2619
|
-
var ticketBody = _extends({
|
|
2620
|
-
licence_id: state.licenseId,
|
|
2621
|
-
ticket_message: '',
|
|
2622
|
-
offline_message: '',
|
|
2623
|
-
visitor_id: customerId,
|
|
2624
|
-
requester: {}
|
|
2625
|
-
}, typeof groupId === 'number' && {
|
|
2626
|
-
group: groupId
|
|
2627
|
-
}, state.page && {
|
|
2628
|
-
source: {
|
|
2629
|
-
url: state.page.url
|
|
2630
|
-
}
|
|
2631
|
-
}, timeZone && {
|
|
2632
|
-
timezone: timeZone
|
|
2633
|
-
});
|
|
2634
|
-
return fields.reduce(function (body, field) {
|
|
2635
|
-
switch (field.type) {
|
|
2636
|
-
case 'subject':
|
|
2637
|
-
{
|
|
2638
|
-
var value = field.answer;
|
|
2639
|
-
var text = value ? field.label + " " + value : field.label;
|
|
2640
|
-
if (value) {
|
|
2641
|
-
body.subject = value;
|
|
2642
|
-
}
|
|
2643
|
-
body.offline_message = appendString(body.offline_message, text);
|
|
2644
|
-
return body;
|
|
2645
|
-
}
|
|
2646
|
-
case 'name':
|
|
2647
|
-
{
|
|
2648
|
-
var _value = field.answer;
|
|
2649
|
-
var _text = _value ? field.label + " " + _value : field.label;
|
|
2650
|
-
if (_value) {
|
|
2651
|
-
body.requester.name = _value;
|
|
2652
|
-
}
|
|
2653
|
-
body.offline_message = appendString(body.offline_message, _text);
|
|
2654
|
-
return body;
|
|
2655
|
-
}
|
|
2656
|
-
case 'email':
|
|
2657
|
-
{
|
|
2658
|
-
var _value2 = field.answer;
|
|
2659
|
-
var _text2 = _value2 ? field.label + " " + _value2 : field.label;
|
|
2660
|
-
body.requester.mail = _value2;
|
|
2661
|
-
body.offline_message = appendString(body.offline_message, _text2);
|
|
2662
|
-
return body;
|
|
2663
|
-
}
|
|
2664
|
-
case 'question':
|
|
2665
|
-
case 'textarea':
|
|
2666
|
-
{
|
|
2667
|
-
var _value3 = field.answer;
|
|
2668
|
-
var _text3 = _value3 ? field.label + " " + _value3 : field.label;
|
|
2669
|
-
body.offline_message = appendString(body.offline_message, _text3);
|
|
2670
|
-
body.ticket_message = appendString(body.ticket_message, _text3);
|
|
2671
|
-
return body;
|
|
2672
|
-
}
|
|
2673
|
-
case 'radio':
|
|
2674
|
-
case 'select':
|
|
2675
|
-
{
|
|
2676
|
-
var _value4 = field.answer && field.answer.label;
|
|
2677
|
-
var _text4 = _value4 ? field.label + " " + _value4 : field.label;
|
|
2678
|
-
body.offline_message = appendString(body.offline_message, _text4);
|
|
2679
|
-
body.ticket_message = appendString(body.ticket_message, _text4);
|
|
2680
|
-
return body;
|
|
2681
|
-
}
|
|
2682
|
-
case 'checkbox':
|
|
2683
|
-
{
|
|
2684
|
-
var _value5 = field.answers && field.answers.map(function (answer) {
|
|
2685
|
-
return answer.label;
|
|
2686
|
-
}).join(', ');
|
|
2687
|
-
var _text5 = _value5 ? field.label + " " + _value5 : field.label;
|
|
2688
|
-
body.offline_message = appendString(body.offline_message, _text5);
|
|
2689
|
-
body.ticket_message = appendString(body.ticket_message, _text5);
|
|
2690
|
-
return body;
|
|
2691
|
-
}
|
|
2692
|
-
default:
|
|
2693
|
-
return body;
|
|
2694
|
-
}
|
|
2695
|
-
}, ticketBody);
|
|
2696
|
-
};
|
|
2697
|
-
var sendTicketForm = function sendTicketForm(store, auth, _ref2) {
|
|
2698
|
-
var filledForm = _ref2.filledForm,
|
|
2699
|
-
groupId = _ref2.groupId,
|
|
2700
|
-
timeZone = _ref2.timeZone;
|
|
2701
|
-
return auth.getToken().then(function (token) {
|
|
2702
|
-
var state = store.getState();
|
|
2703
|
-
if (getSelfId(state) === null) {
|
|
2704
|
-
store.dispatch(setSelfId(token.entityId));
|
|
2705
|
-
}
|
|
2706
|
-
var url = getApiOrigin(state) + "/v2/tickets/new";
|
|
2707
|
-
var body = createTicketBody(state, {
|
|
2708
|
-
fields: filledForm.fields,
|
|
2709
|
-
customerId: token.entityId,
|
|
2710
|
-
groupId: groupId,
|
|
2711
|
-
timeZone: timeZone
|
|
2712
|
-
});
|
|
2713
|
-
return unfetch__default['default'](url, {
|
|
2714
|
-
method: 'POST',
|
|
2715
|
-
headers: {
|
|
2716
|
-
'Content-Type': 'application/json'
|
|
2717
|
-
},
|
|
2718
|
-
body: JSON.stringify(body)
|
|
2719
|
-
}).then(function (response) {
|
|
2720
|
-
if (response.ok) {
|
|
2721
|
-
return response.json().then(function (res) {
|
|
2722
|
-
return _extends({}, res, {
|
|
2723
|
-
text: body.ticket_message
|
|
2724
|
-
});
|
|
2725
|
-
});
|
|
2726
|
-
}
|
|
2727
|
-
|
|
2728
|
-
// we actually should normalize this somehow
|
|
2729
|
-
if (response.status === 400 || response.status === 422) {
|
|
2730
|
-
var errHandler = function errHandler(error) {
|
|
2731
|
-
if (!error || !error.errors) {
|
|
2732
|
-
// TODO: I honestly don't know if this can even be reached and even if it is - What error should be thrown here
|
|
2733
|
-
throw new Error();
|
|
2734
|
-
}
|
|
2735
|
-
// we receive some hardcore aggregate error here 😱
|
|
2736
|
-
var firstError = error.errors[0];
|
|
2737
|
-
var type = Object.keys(firstError)[0];
|
|
2738
|
-
if (type === INCORRECT_REQUESTER_STRUCTURE) {
|
|
2739
|
-
throw createError({
|
|
2740
|
-
message: firstError[INCORRECT_REQUESTER_STRUCTURE][0],
|
|
2741
|
-
code: 'VALIDATION'
|
|
2742
|
-
});
|
|
2743
|
-
}
|
|
2744
|
-
throw new Error();
|
|
2745
|
-
};
|
|
2746
|
-
return response.json().then(errHandler, errHandler);
|
|
2747
|
-
}
|
|
2748
|
-
throw new Error();
|
|
2749
|
-
});
|
|
2750
|
-
});
|
|
2751
|
-
};
|
|
2752
|
-
|
|
2753
2719
|
var KILOBYTE = 1024;
|
|
2754
2720
|
var MEGABYTE = 1024 * KILOBYTE;
|
|
2755
2721
|
var GIGABYTE = 1024 * MEGABYTE;
|
|
@@ -2792,7 +2758,7 @@ var uploadFile = function uploadFile(_ref, _ref2) {
|
|
|
2792
2758
|
validateFile(file);
|
|
2793
2759
|
var state = store.getState();
|
|
2794
2760
|
var query = urlUtils.buildQueryString({
|
|
2795
|
-
|
|
2761
|
+
organization_id: state.organizationId
|
|
2796
2762
|
});
|
|
2797
2763
|
var url = getServerUrl(state) + "/action/" + UPLOAD_FILE + "?" + query;
|
|
2798
2764
|
var payload = {
|
|
@@ -2858,7 +2824,7 @@ var makeGraylogRequest = function makeGraylogRequest(url, body) {
|
|
|
2858
2824
|
*/
|
|
2859
2825
|
var log = function log(_ref) {
|
|
2860
2826
|
var env = _ref.env,
|
|
2861
|
-
|
|
2827
|
+
organizationId = _ref.organizationId,
|
|
2862
2828
|
eventName = _ref.eventName;
|
|
2863
2829
|
if (env !== 'production' || "customer_sdk" !== 'customer_sdk') {
|
|
2864
2830
|
return Promise.resolve();
|
|
@@ -2866,10 +2832,10 @@ var log = function log(_ref) {
|
|
|
2866
2832
|
var message = {
|
|
2867
2833
|
event_name: eventName,
|
|
2868
2834
|
severity: 'Informational',
|
|
2869
|
-
sdkVersion: "
|
|
2835
|
+
sdkVersion: "4.0.0"
|
|
2870
2836
|
};
|
|
2871
2837
|
var body = {
|
|
2872
|
-
|
|
2838
|
+
organizationId: organizationId,
|
|
2873
2839
|
event_id: 'chat_widget_customer_sdk',
|
|
2874
2840
|
message: JSON.stringify(message)
|
|
2875
2841
|
};
|
|
@@ -2986,8 +2952,17 @@ var debug = (function (_sdk) {
|
|
|
2986
2952
|
}));
|
|
2987
2953
|
});
|
|
2988
2954
|
|
|
2955
|
+
var ASC = 'asc';
|
|
2956
|
+
var DESC = 'desc';
|
|
2957
|
+
|
|
2958
|
+
var sortOrders = /*#__PURE__*/Object.freeze({
|
|
2959
|
+
__proto__: null,
|
|
2960
|
+
ASC: ASC,
|
|
2961
|
+
DESC: DESC
|
|
2962
|
+
});
|
|
2963
|
+
|
|
2989
2964
|
var CHATS_PAGINATION_MAX_LIMIT = 25;
|
|
2990
|
-
var init = function init(config, env) {
|
|
2965
|
+
var init = function init(config, env, licenseId) {
|
|
2991
2966
|
if (env === void 0) {
|
|
2992
2967
|
env = 'production';
|
|
2993
2968
|
}
|
|
@@ -3002,12 +2977,13 @@ var init = function init(config, env) {
|
|
|
3002
2977
|
}));
|
|
3003
2978
|
var emitter = mitt__default['default']();
|
|
3004
2979
|
var socket = createSocketClient(store);
|
|
3005
|
-
var auth = typeof identityProvider === 'function' ? identityProvider() : createAuth__default['default'](instanceConfig, env);
|
|
2980
|
+
var auth = typeof identityProvider === 'function' ? identityProvider() : createAuth__default['default'](instanceConfig, licenseId, env);
|
|
3006
2981
|
store.addSideEffectsHandler(createSideEffectsHandler({
|
|
3007
2982
|
emitter: emitter,
|
|
3008
2983
|
socket: socket,
|
|
3009
2984
|
auth: auth,
|
|
3010
|
-
customerDataProvider: customerDataProvider
|
|
2985
|
+
customerDataProvider: customerDataProvider,
|
|
2986
|
+
licenseId: licenseId
|
|
3011
2987
|
}));
|
|
3012
2988
|
socketListener(store, socket);
|
|
3013
2989
|
var sendRequestAction$1 = sendRequestAction.bind(null, store);
|
|
@@ -3206,7 +3182,7 @@ var init = function init(config, env) {
|
|
|
3206
3182
|
resumeChat: function resumeChat(data) {
|
|
3207
3183
|
log({
|
|
3208
3184
|
env: env,
|
|
3209
|
-
|
|
3185
|
+
organizationId: config.organizationId,
|
|
3210
3186
|
eventName: 'chat_started'
|
|
3211
3187
|
});
|
|
3212
3188
|
return sendRequestAction$1(sendRequest(RESUME_CHAT, parseResumeChatData(data)));
|
|
@@ -3222,9 +3198,6 @@ var init = function init(config, env) {
|
|
|
3222
3198
|
}(function (params) {
|
|
3223
3199
|
return sendRequestAction$1(sendEvent(params));
|
|
3224
3200
|
}),
|
|
3225
|
-
sendTicketForm: function sendTicketForm$1(options) {
|
|
3226
|
-
return sendTicketForm(store, auth, options);
|
|
3227
|
-
},
|
|
3228
3201
|
sendRichMessagePostback: function sendRichMessagePostback(_ref15) {
|
|
3229
3202
|
var chatId = _ref15.chatId,
|
|
3230
3203
|
threadId = _ref15.threadId,
|
|
@@ -3261,7 +3234,7 @@ var init = function init(config, env) {
|
|
|
3261
3234
|
}
|
|
3262
3235
|
log({
|
|
3263
3236
|
env: env,
|
|
3264
|
-
|
|
3237
|
+
organizationId: config.organizationId,
|
|
3265
3238
|
eventName: 'chat_started'
|
|
3266
3239
|
});
|
|
3267
3240
|
return sendRequestAction$1(sendRequest(START_CHAT, parseStartChatData(data)));
|
|
@@ -3325,7 +3298,9 @@ var init = function init(config, env) {
|
|
|
3325
3298
|
return api;
|
|
3326
3299
|
};
|
|
3327
3300
|
|
|
3301
|
+
exports.connectionStatuses = connectionStatuses;
|
|
3328
3302
|
exports.debug = debug;
|
|
3303
|
+
exports.eventTypes = eventTypes;
|
|
3329
3304
|
exports.init = init;
|
|
3330
3305
|
exports.parseCustomEvent = parseCustomEvent;
|
|
3331
3306
|
exports.parseEvent = parseEvent$1;
|
|
@@ -3336,3 +3311,8 @@ exports.parseGreeting = parseGreeting;
|
|
|
3336
3311
|
exports.parseMessage = parseMessage;
|
|
3337
3312
|
exports.parseRichMessage = parseRichMessage;
|
|
3338
3313
|
exports.parseSystemMessage = parseSystemMessage;
|
|
3314
|
+
exports.serverDisconnectionReasons = serverDisconnectionReasons;
|
|
3315
|
+
exports.serverErrorCodes = serverErrorCodes;
|
|
3316
|
+
exports.serverPushActions = serverPushActions;
|
|
3317
|
+
exports.sortOrders = sortOrders;
|
|
3318
|
+
exports.userTypes = userTypes;
|