@whitewall/blip-sdk 0.0.18 → 0.0.20

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.
Files changed (179) hide show
  1. package/dist/cjs/client.js +36 -0
  2. package/dist/cjs/client.js.map +1 -0
  3. package/dist/cjs/index.js +24 -0
  4. package/dist/cjs/index.js.map +1 -0
  5. package/dist/cjs/namespaces/account.js +217 -0
  6. package/dist/cjs/namespaces/account.js.map +1 -0
  7. package/dist/cjs/namespaces/analytics.js +27 -0
  8. package/dist/cjs/namespaces/analytics.js.map +1 -0
  9. package/dist/cjs/namespaces/builder.js +27 -0
  10. package/dist/cjs/namespaces/builder.js.map +1 -0
  11. package/dist/cjs/namespaces/desk.js +194 -0
  12. package/dist/cjs/namespaces/desk.js.map +1 -0
  13. package/dist/cjs/namespaces/media.js +18 -0
  14. package/dist/cjs/namespaces/media.js.map +1 -0
  15. package/dist/cjs/namespaces/namespace.js +64 -0
  16. package/dist/cjs/namespaces/namespace.js.map +1 -0
  17. package/dist/cjs/namespaces/scheduler.js +41 -0
  18. package/dist/cjs/namespaces/scheduler.js.map +1 -0
  19. package/dist/cjs/namespaces/whatsapp.js +114 -0
  20. package/dist/cjs/namespaces/whatsapp.js.map +1 -0
  21. package/dist/cjs/sender/bliperror.js +14 -0
  22. package/dist/cjs/sender/bliperror.js.map +1 -0
  23. package/dist/cjs/sender/httpsender.js +56 -0
  24. package/dist/cjs/sender/httpsender.js.map +1 -0
  25. package/dist/cjs/sender/sender.js +3 -0
  26. package/dist/{sender → cjs/sender}/sender.js.map +1 -1
  27. package/dist/cjs/types/account.js +3 -0
  28. package/dist/{types → cjs/types}/account.js.map +1 -1
  29. package/dist/cjs/types/command.js +3 -0
  30. package/dist/{types → cjs/types}/command.js.map +1 -1
  31. package/dist/cjs/types/desk.js +14 -0
  32. package/dist/cjs/types/desk.js.map +1 -0
  33. package/dist/cjs/types/envelope.js +3 -0
  34. package/dist/{types → cjs/types}/envelope.js.map +1 -1
  35. package/dist/cjs/types/index.js +23 -0
  36. package/dist/cjs/types/index.js.map +1 -0
  37. package/dist/cjs/types/message.js +13 -0
  38. package/dist/cjs/types/message.js.map +1 -0
  39. package/dist/cjs/types/node.js +33 -0
  40. package/dist/cjs/types/node.js.map +1 -0
  41. package/dist/cjs/utils/odata.js +85 -0
  42. package/dist/cjs/utils/odata.js.map +1 -0
  43. package/dist/cjs/utils/random.js +8 -0
  44. package/dist/cjs/utils/random.js.map +1 -0
  45. package/dist/cjs/utils/uri.js +45 -0
  46. package/dist/cjs/utils/uri.js.map +1 -0
  47. package/dist/esm/client.js +32 -0
  48. package/dist/esm/client.js.map +1 -0
  49. package/dist/{index.d.ts → esm/index.js} +1 -0
  50. package/dist/esm/index.js.map +1 -0
  51. package/dist/esm/namespaces/account.js +213 -0
  52. package/dist/esm/namespaces/account.js.map +1 -0
  53. package/dist/esm/namespaces/analytics.js +23 -0
  54. package/dist/esm/namespaces/analytics.js.map +1 -0
  55. package/dist/esm/namespaces/builder.js +23 -0
  56. package/dist/esm/namespaces/builder.js.map +1 -0
  57. package/dist/esm/namespaces/desk.js +190 -0
  58. package/dist/esm/namespaces/desk.js.map +1 -0
  59. package/dist/esm/namespaces/media.js +14 -0
  60. package/dist/esm/namespaces/media.js.map +1 -0
  61. package/dist/esm/namespaces/namespace.js +60 -0
  62. package/dist/esm/namespaces/namespace.js.map +1 -0
  63. package/dist/esm/namespaces/scheduler.js +37 -0
  64. package/dist/esm/namespaces/scheduler.js.map +1 -0
  65. package/dist/esm/namespaces/whatsapp.js +110 -0
  66. package/dist/esm/namespaces/whatsapp.js.map +1 -0
  67. package/dist/esm/sender/bliperror.js +10 -0
  68. package/dist/esm/sender/bliperror.js.map +1 -0
  69. package/dist/esm/sender/httpsender.js +52 -0
  70. package/dist/esm/sender/httpsender.js.map +1 -0
  71. package/dist/esm/sender/sender.js +2 -0
  72. package/dist/esm/sender/sender.js.map +1 -0
  73. package/dist/esm/types/account.js +2 -0
  74. package/dist/esm/types/account.js.map +1 -0
  75. package/dist/esm/types/command.js +2 -0
  76. package/dist/esm/types/command.js.map +1 -0
  77. package/dist/esm/types/desk.js +11 -0
  78. package/dist/esm/types/desk.js.map +1 -0
  79. package/dist/esm/types/envelope.js +2 -0
  80. package/dist/esm/types/envelope.js.map +1 -0
  81. package/dist/esm/types/index.js +7 -0
  82. package/dist/esm/types/index.js.map +1 -0
  83. package/dist/esm/types/message.js +7 -0
  84. package/dist/esm/types/message.js.map +1 -0
  85. package/dist/esm/types/node.js +29 -0
  86. package/dist/esm/types/node.js.map +1 -0
  87. package/dist/esm/utils/odata.js +80 -0
  88. package/dist/esm/utils/odata.js.map +1 -0
  89. package/dist/esm/utils/random.js +4 -0
  90. package/dist/esm/utils/random.js.map +1 -0
  91. package/dist/esm/utils/uri.js +40 -0
  92. package/dist/esm/utils/uri.js.map +1 -0
  93. package/dist/{client.d.ts → types/client.d.ts} +3 -0
  94. package/dist/types/client.d.ts.map +1 -0
  95. package/dist/types/index.d.ts +8 -6
  96. package/dist/types/index.d.ts.map +1 -0
  97. package/dist/{namespaces → types/namespaces}/account.d.ts +1 -0
  98. package/dist/types/namespaces/account.d.ts.map +1 -0
  99. package/dist/types/namespaces/analytics.d.ts +8 -0
  100. package/dist/types/namespaces/analytics.d.ts.map +1 -0
  101. package/dist/{namespaces → types/namespaces}/builder.d.ts +1 -0
  102. package/dist/types/namespaces/builder.d.ts.map +1 -0
  103. package/dist/{namespaces → types/namespaces}/desk.d.ts +7 -1
  104. package/dist/types/namespaces/desk.d.ts.map +1 -0
  105. package/dist/{namespaces → types/namespaces}/media.d.ts +1 -0
  106. package/dist/types/namespaces/media.d.ts.map +1 -0
  107. package/dist/{namespaces → types/namespaces}/namespace.d.ts +4 -2
  108. package/dist/types/namespaces/namespace.d.ts.map +1 -0
  109. package/dist/{namespaces → types/namespaces}/scheduler.d.ts +1 -0
  110. package/dist/types/namespaces/scheduler.d.ts.map +1 -0
  111. package/dist/{namespaces → types/namespaces}/whatsapp.d.ts +1 -0
  112. package/dist/types/namespaces/whatsapp.d.ts.map +1 -0
  113. package/dist/{sender → types/sender}/bliperror.d.ts +1 -0
  114. package/dist/types/sender/bliperror.d.ts.map +1 -0
  115. package/dist/{sender → types/sender}/httpsender.d.ts +1 -0
  116. package/dist/types/sender/httpsender.d.ts.map +1 -0
  117. package/dist/{sender → types/sender}/sender.d.ts +1 -0
  118. package/dist/types/sender/sender.d.ts.map +1 -0
  119. package/dist/types/{account.d.ts → types/account.d.ts} +1 -0
  120. package/dist/types/types/account.d.ts.map +1 -0
  121. package/dist/types/{command.d.ts → types/command.d.ts} +2 -0
  122. package/dist/types/types/command.d.ts.map +1 -0
  123. package/dist/types/{desk.d.ts → types/desk.d.ts} +1 -0
  124. package/dist/types/types/desk.d.ts.map +1 -0
  125. package/dist/types/{envelope.d.ts → types/envelope.d.ts} +1 -0
  126. package/dist/types/types/envelope.d.ts.map +1 -0
  127. package/dist/types/types/index.d.ts +7 -0
  128. package/dist/types/types/index.d.ts.map +1 -0
  129. package/dist/types/{message.d.ts → types/message.d.ts} +1 -0
  130. package/dist/types/types/message.d.ts.map +1 -0
  131. package/dist/types/{node.d.ts → types/node.d.ts} +1 -0
  132. package/dist/types/types/node.d.ts.map +1 -0
  133. package/dist/{utils → types/utils}/odata.d.ts +1 -0
  134. package/dist/types/utils/odata.d.ts.map +1 -0
  135. package/dist/{utils → types/utils}/random.d.ts +1 -0
  136. package/dist/types/utils/random.d.ts.map +1 -0
  137. package/dist/{utils → types/utils}/uri.d.ts +1 -0
  138. package/dist/types/utils/uri.d.ts.map +1 -0
  139. package/package.json +13 -7
  140. package/dist/client.js +0 -43
  141. package/dist/client.js.map +0 -1
  142. package/dist/index.js +0 -34
  143. package/dist/index.js.map +0 -1
  144. package/dist/namespaces/account.js +0 -227
  145. package/dist/namespaces/account.js.map +0 -1
  146. package/dist/namespaces/builder.js +0 -37
  147. package/dist/namespaces/builder.js.map +0 -1
  148. package/dist/namespaces/desk.js +0 -184
  149. package/dist/namespaces/desk.js.map +0 -1
  150. package/dist/namespaces/media.js +0 -28
  151. package/dist/namespaces/media.js.map +0 -1
  152. package/dist/namespaces/namespace.js +0 -72
  153. package/dist/namespaces/namespace.js.map +0 -1
  154. package/dist/namespaces/scheduler.js +0 -51
  155. package/dist/namespaces/scheduler.js.map +0 -1
  156. package/dist/namespaces/whatsapp.js +0 -124
  157. package/dist/namespaces/whatsapp.js.map +0 -1
  158. package/dist/sender/bliperror.js +0 -24
  159. package/dist/sender/bliperror.js.map +0 -1
  160. package/dist/sender/httpsender.js +0 -66
  161. package/dist/sender/httpsender.js.map +0 -1
  162. package/dist/sender/sender.js +0 -13
  163. package/dist/types/account.js +0 -13
  164. package/dist/types/command.js +0 -13
  165. package/dist/types/desk.js +0 -24
  166. package/dist/types/desk.js.map +0 -1
  167. package/dist/types/envelope.js +0 -13
  168. package/dist/types/index.js +0 -33
  169. package/dist/types/index.js.map +0 -1
  170. package/dist/types/message.js +0 -23
  171. package/dist/types/message.js.map +0 -1
  172. package/dist/types/node.js +0 -43
  173. package/dist/types/node.js.map +0 -1
  174. package/dist/utils/odata.js +0 -95
  175. package/dist/utils/odata.js.map +0 -1
  176. package/dist/utils/random.js +0 -18
  177. package/dist/utils/random.js.map +0 -1
  178. package/dist/utils/uri.js +0 -55
  179. package/dist/utils/uri.js.map +0 -1
@@ -0,0 +1,213 @@
1
+ import { BlipError } from '../sender/bliperror.js';
2
+ import { uri } from '../utils/uri.js';
3
+ import { Namespace } from './namespace.js';
4
+ export class AccountNamespace extends Namespace {
5
+ constructor(sender) {
6
+ super(sender, '');
7
+ }
8
+ async getAccount(opts) {
9
+ return this.sendCommand({
10
+ method: 'get',
11
+ uri: uri `/account`,
12
+ }, opts);
13
+ }
14
+ async getContexts(contact, opts) {
15
+ return this.sendCommand({
16
+ method: 'get',
17
+ uri: uri `/contexts/${contact}`,
18
+ }, {
19
+ collection: true,
20
+ ...opts,
21
+ });
22
+ }
23
+ async getContextsWithValues(contact, opts) {
24
+ return this.sendCommand({
25
+ method: 'get',
26
+ uri: uri `/contexts/${contact}?withContextValues=true`,
27
+ }, {
28
+ collection: true,
29
+ ...opts,
30
+ });
31
+ }
32
+ async getContext(contact, key, opts) {
33
+ try {
34
+ return await this.sendCommand({
35
+ method: 'get',
36
+ uri: uri `/contexts/${contact}/${key}`,
37
+ }, opts);
38
+ }
39
+ catch (err) {
40
+ if (err instanceof BlipError && err.code === 67) {
41
+ return undefined;
42
+ }
43
+ throw err;
44
+ }
45
+ }
46
+ async setContext(contact, key, value, ttlSeconds, opts) {
47
+ return this.sendCommand({
48
+ method: 'set',
49
+ uri: uri `/contexts/${contact}/${key}?${{
50
+ expiration: ttlSeconds ? ttlSeconds * 1000 : undefined,
51
+ }}`,
52
+ type: 'text/plain',
53
+ resource: value,
54
+ }, opts);
55
+ }
56
+ async deleteContext(contact, key, opts) {
57
+ return this.sendCommand({
58
+ method: 'delete',
59
+ uri: uri `/contexts/${contact}/${key}`,
60
+ }, opts);
61
+ }
62
+ async getContacts(filter, opts) {
63
+ return this.sendCommand({
64
+ method: 'get',
65
+ uri: uri `/contacts?${{ $filter: filter?.toString() }}`,
66
+ }, {
67
+ collection: true,
68
+ ...opts,
69
+ });
70
+ }
71
+ async getContact(contact, opts) {
72
+ return this.sendCommand({
73
+ method: 'get',
74
+ uri: uri `/contacts/${contact}`,
75
+ }, opts);
76
+ }
77
+ async setContact(contact, opts) {
78
+ return this.sendCommand({
79
+ method: 'set',
80
+ uri: uri `/contacts`,
81
+ type: 'application/vnd.lime.contact+json',
82
+ resource: contact,
83
+ }, opts);
84
+ }
85
+ async mergeContact(contact, opts) {
86
+ return this.sendCommand({
87
+ method: 'merge',
88
+ uri: uri `/contacts`,
89
+ type: 'application/vnd.lime.contact+json',
90
+ resource: contact,
91
+ }, opts);
92
+ }
93
+ async deleteContact(contact, opts) {
94
+ return this.sendCommand({
95
+ method: 'delete',
96
+ uri: uri `/contacts/${contact}`,
97
+ }, opts);
98
+ }
99
+ async getBuckets(opts) {
100
+ return this.sendCommand({
101
+ method: 'get',
102
+ uri: uri `/buckets`,
103
+ }, {
104
+ collection: true,
105
+ ...opts,
106
+ });
107
+ }
108
+ async getBucket(key, opts) {
109
+ try {
110
+ return await this.sendCommand({
111
+ method: 'get',
112
+ uri: uri `/buckets/${key}`,
113
+ }, opts);
114
+ }
115
+ catch (err) {
116
+ if (err instanceof BlipError && err.code === 67) {
117
+ return undefined;
118
+ }
119
+ throw err;
120
+ }
121
+ }
122
+ async setBucket(key, value, ttlSeconds, opts) {
123
+ return this.sendCommand({
124
+ method: 'set',
125
+ uri: uri `/buckets/${key}?${{
126
+ expiration: ttlSeconds ? ttlSeconds * 1000 : undefined,
127
+ }}`,
128
+ type: typeof value === 'string' ? 'text/plain' : 'application/json',
129
+ resource: value,
130
+ }, opts);
131
+ }
132
+ async deleteBucket(key, opts) {
133
+ return this.sendCommand({
134
+ method: 'delete',
135
+ uri: uri `/buckets/${key}`,
136
+ }, opts);
137
+ }
138
+ async getCallerConfigurations(opts) {
139
+ return this.sendCommand({
140
+ method: 'get',
141
+ uri: uri `/configuration/caller`,
142
+ }, {
143
+ collection: true,
144
+ ...opts,
145
+ });
146
+ }
147
+ async getConfigurations(opts) {
148
+ return this.sendCommand({
149
+ method: 'get',
150
+ uri: uri `/configuration`,
151
+ }, opts);
152
+ }
153
+ async setConfigurations(caller, configuration, opts) {
154
+ return this.sendCommand({
155
+ method: 'set',
156
+ type: 'application/json',
157
+ uri: uri `/configuration?${{ caller }}`,
158
+ resource: configuration,
159
+ }, opts);
160
+ }
161
+ async getThread(contact, query, opts) {
162
+ let thread = [];
163
+ let lastMessage = query?.messageId;
164
+ let hasMore = true;
165
+ do {
166
+ const take = Math.min(opts?.take ?? 100, opts?.max ? opts.max - thread.length : Infinity);
167
+ const threadItems = await this.sendCommand({
168
+ method: 'get',
169
+ uri: uri `/threads/${contact}?${{
170
+ ...query,
171
+ messageId: lastMessage,
172
+ direction: 'desc',
173
+ }}`,
174
+ }, {
175
+ collection: true,
176
+ ...opts,
177
+ take,
178
+ fetchall: false,
179
+ });
180
+ thread = [...thread, ...threadItems];
181
+ hasMore = threadItems.length === take;
182
+ lastMessage = threadItems[threadItems.length - 1]?.id;
183
+ } while (hasMore && opts?.fetchall && (!opts?.max || thread.length < opts.max));
184
+ return thread;
185
+ }
186
+ async getMergedThreads(contact, query, opts) {
187
+ let thread = [];
188
+ let lastMessage = query?.messageId;
189
+ let hasMore = true;
190
+ do {
191
+ const take = Math.min(opts?.take ?? 100, opts?.max ? opts.max - thread.length : Infinity);
192
+ const threadItems = await this.sendCommand({
193
+ method: 'get',
194
+ uri: uri `/threads-merged/${contact}?${{
195
+ ...query,
196
+ messageId: lastMessage,
197
+ getFromOriginator: true,
198
+ direction: 'desc',
199
+ }}`,
200
+ }, {
201
+ collection: true,
202
+ ...opts,
203
+ take,
204
+ fetchall: false,
205
+ });
206
+ thread = [...thread, ...threadItems];
207
+ hasMore = threadItems.length === take;
208
+ lastMessage = threadItems[threadItems.length - 1]?.id;
209
+ } while (hasMore && opts?.fetchall && (!opts?.max || thread.length < opts.max));
210
+ return thread;
211
+ }
212
+ }
213
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/namespaces/account.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { uri } from '../utils/uri.js';
2
+ import { Namespace } from './namespace.js';
3
+ export class AnalyticsNamespace extends Namespace {
4
+ constructor(sender) {
5
+ super(sender, 'analytics');
6
+ }
7
+ async track(contact, category, action, extras = {}, opts) {
8
+ return this.sendCommand({
9
+ method: 'observe',
10
+ uri: uri `/event-track`,
11
+ type: 'application/vnd.iris.eventTrack+json',
12
+ resource: {
13
+ category,
14
+ action,
15
+ contact: {
16
+ identity: contact,
17
+ },
18
+ ...extras,
19
+ },
20
+ }, opts);
21
+ }
22
+ }
23
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../src/namespaces/analytics.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAkB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC7C,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC9B,CAAC;IAEM,KAAK,CAAC,KAAK,CACd,OAAiB,EACjB,QAAgB,EAChB,MAAc,EACd,SAAiC,EAAE,EACnC,IAAqB;QAErB,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,GAAG,CAAA,cAAc;YACtB,IAAI,EAAE,sCAAsC;YAC5C,QAAQ,EAAE;gBACN,QAAQ;gBACR,MAAM;gBACN,OAAO,EAAE;oBACL,QAAQ,EAAE,OAAO;iBACpB;gBACD,GAAG,MAAM;aACZ;SACJ,EACD,IAAI,CACP,CAAA;IACL,CAAC;CACJ"}
@@ -0,0 +1,23 @@
1
+ import { uri } from '../utils/uri.js';
2
+ import { Namespace } from './namespace.js';
3
+ export class BuilderNamespace extends Namespace {
4
+ constructor(sender) {
5
+ super(sender, 'builder');
6
+ }
7
+ async getFlowId(botIdentifier, opts) {
8
+ return this.sendCommand({
9
+ method: 'get',
10
+ uri: uri `/flow-id?${{ shortName: botIdentifier }}`,
11
+ }, opts);
12
+ }
13
+ async getFlowStates(botIdentifier, opts) {
14
+ return this.sendCommand({
15
+ method: 'get',
16
+ uri: uri `/flow/states?${{ shortName: botIdentifier }}`,
17
+ }, {
18
+ collection: true,
19
+ ...opts,
20
+ });
21
+ }
22
+ }
23
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../../src/namespaces/builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAkB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1D,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC3C,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IAC5B,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,aAAsB,EAAE,IAAqB;QAChE,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE;SACrD,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,aAAqB,EAAE,IAAqB;QACnE,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE;SACzD,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;CACJ"}
@@ -0,0 +1,190 @@
1
+ import { BlipError } from '../sender/bliperror.js';
2
+ import { uri } from '../utils/uri.js';
3
+ import { Namespace } from './namespace.js';
4
+ export class DeskNamespace extends Namespace {
5
+ constructor(sender) {
6
+ super(sender, 'desk');
7
+ }
8
+ async getTicket(ticket, opts) {
9
+ return this.sendCommand({
10
+ method: 'get',
11
+ uri: uri `/ticket/${ticket}`,
12
+ }, opts);
13
+ }
14
+ async getTicketsMetrics(opts) {
15
+ return this.sendCommand({
16
+ method: 'get',
17
+ uri: uri `/monitoring/ticket-metrics?${{ version: 2 }}`,
18
+ }, opts);
19
+ }
20
+ async getWaitingTicketsMetrics(opts) {
21
+ return this.sendCommand({
22
+ method: 'get',
23
+ uri: uri `/monitoring/waiting-tickets?${{ version: 2 }}`,
24
+ }, {
25
+ collection: true,
26
+ ...opts,
27
+ });
28
+ }
29
+ async getTickets(filter, opts) {
30
+ return this.sendCommand({
31
+ method: 'get',
32
+ uri: uri `/tickets?${{ $filter: filter?.toString() }}`,
33
+ }, {
34
+ collection: true,
35
+ ...opts,
36
+ });
37
+ }
38
+ async changeTicketStatus(ticket, status, settings, opts) {
39
+ try {
40
+ return await this.sendCommand({
41
+ method: 'set',
42
+ uri: uri `/tickets/change-status`,
43
+ type: 'application/vnd.iris.ticket+json',
44
+ resource: {
45
+ id: ticket,
46
+ status,
47
+ tags: settings?.tags,
48
+ agentIdentity: settings?.agent,
49
+ },
50
+ }, opts);
51
+ }
52
+ catch (err) {
53
+ if (err instanceof BlipError && err.code === 64) {
54
+ return;
55
+ }
56
+ throw err;
57
+ }
58
+ }
59
+ async isOnAttendanceTime(queueIdOrName = 'Default', timezone = -3) {
60
+ const attendanceHours = await this.sendCommand({
61
+ method: 'get',
62
+ uri: uri `/attendance-hour`,
63
+ }, { collection: true });
64
+ const orderedAttendanceHours = attendanceHours
65
+ .sort((a, b) => Number(a.isMain) - Number(b.isMain));
66
+ for (const attendanceHour of orderedAttendanceHours) {
67
+ const detailedAttendanceHour = await this.sendCommand({
68
+ method: 'get',
69
+ uri: uri `/attendance-hour-container/${attendanceHour.id}`,
70
+ });
71
+ if (detailedAttendanceHour.queues.every((queue) => queue.id !== queueIdOrName && queue.description !== queueIdOrName) &&
72
+ !detailedAttendanceHour.attendanceHour.isMain) {
73
+ continue;
74
+ }
75
+ const now = new Date(Date.now() + timezone * 60 * 60 * 1000);
76
+ const isInsideOffTime = detailedAttendanceHour.attendanceHourOffItems.some((offItem) => {
77
+ const startDate = new Date(offItem.startDate);
78
+ const endDate = new Date(offItem.endDate);
79
+ return now.getTime() >= startDate.getTime() && now.getTime() <= endDate.getTime();
80
+ });
81
+ if (isInsideOffTime) {
82
+ return false;
83
+ }
84
+ const nowDayOfWeek = now.getDay();
85
+ const daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
86
+ const todaySchedule = detailedAttendanceHour.attendanceHourScheduleItems.find((schedule) => schedule.dayOfWeek === daysOfWeek[nowDayOfWeek]);
87
+ if (!todaySchedule) {
88
+ return false;
89
+ }
90
+ const startTime = new Date(now);
91
+ const endTime = new Date(now);
92
+ const [startHours, startMinutes] = todaySchedule.startTime.split(':');
93
+ startTime.setHours(Number(startHours));
94
+ startTime.setMinutes(Number(startMinutes));
95
+ const [endHours, endMinutes] = todaySchedule.endTime.split(':');
96
+ endTime.setHours(Number(endHours));
97
+ endTime.setMinutes(Number(endMinutes));
98
+ if (now.getTime() >= startTime.getTime() && now.getTime() <= endTime.getTime()) {
99
+ return true;
100
+ }
101
+ }
102
+ return false;
103
+ }
104
+ async getAttendants(opts) {
105
+ return this.sendCommand({
106
+ method: 'get',
107
+ uri: uri `/attendants`,
108
+ }, {
109
+ collection: true,
110
+ ...opts,
111
+ });
112
+ }
113
+ async getApprovedMessageTemplates(opts) {
114
+ return this.sendCommand({
115
+ method: 'get',
116
+ uri: uri `/active-message/approved-message-templates`,
117
+ }, {
118
+ collection: true,
119
+ ...opts,
120
+ });
121
+ }
122
+ async getMessageTemplateParams(opts) {
123
+ const params = await this.sendCommand({
124
+ method: 'get',
125
+ uri: uri `/active-message/message-templates-params`,
126
+ }, {
127
+ collection: true,
128
+ ...opts,
129
+ });
130
+ return params.map((param) => ({
131
+ template: param.template.Name,
132
+ category: param.template.Category,
133
+ language: param.template.Language,
134
+ status: param.template.Status,
135
+ ownerIdentity: param.params?.ownerIdentity,
136
+ stateId: param.params?.stateId,
137
+ isEnabled: param.params?.isEnabled,
138
+ components: param.template.Components.map((c) => ({
139
+ type: c.Type,
140
+ text: c.Text,
141
+ })),
142
+ }));
143
+ }
144
+ async sendIndividualActiveMessage(phoneNumber, message, sender, opts) {
145
+ await this.sendCommand({
146
+ method: 'set',
147
+ uri: uri `/active-message/send-active-message`,
148
+ type: 'application/vnd.iris.activecampaign.full-campaign+json',
149
+ resource: {
150
+ campaign: {
151
+ campaignType: 'Individual',
152
+ CampaignSender: sender,
153
+ attendanceRedirect: sender,
154
+ },
155
+ audience: {
156
+ recipient: phoneNumber,
157
+ recipientType: 'phoneNumber',
158
+ channelType: 'whatsApp',
159
+ messageParams: { ...message.variables },
160
+ },
161
+ message: {
162
+ messageTemplate: message.template,
163
+ channelType: 'whatsapp',
164
+ messageParams: message.variables.length ? Object.keys(message.variables).map(Number) : '',
165
+ messageTemplateLanguage: message.language,
166
+ },
167
+ },
168
+ }, opts);
169
+ }
170
+ async getTeamsAgentsOnline(opts) {
171
+ return this.sendCommand({
172
+ method: 'get',
173
+ uri: uri `/teams/agents-online`,
174
+ }, {
175
+ collection: true,
176
+ ...opts,
177
+ });
178
+ }
179
+ async transferTicket(ticket, team, opts) {
180
+ return this.sendCommand({
181
+ method: 'set',
182
+ uri: uri `/tickets/${ticket}/transfer`,
183
+ type: 'application/vnd.iris.ticket+json',
184
+ resource: {
185
+ team,
186
+ },
187
+ }, opts);
188
+ }
189
+ }
190
+ //# sourceMappingURL=desk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"desk.js","sourceRoot":"","sources":["../../../src/namespaces/desk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { uri } from '../utils/uri.js';
2
+ import { Namespace } from './namespace.js';
3
+ export class MediaNamespace extends Namespace {
4
+ constructor(sender) {
5
+ super(sender, 'media');
6
+ }
7
+ async getMediaUploadUrl() {
8
+ return this.sendCommand({
9
+ method: 'get',
10
+ uri: uri `/upload-media-uri`,
11
+ });
12
+ }
13
+ }
14
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/namespaces/media.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,OAAO,cAAe,SAAQ,SAAS;IACzC,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1B,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC1B,OAAO,IAAI,CAAC,WAAW,CAAC;YACpB,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,mBAAmB;SAC9B,CAAC,CAAA;IACN,CAAC;CACJ"}
@@ -0,0 +1,60 @@
1
+ import { randomId } from '../utils/random.js';
2
+ import { mapToQuery } from '../utils/uri.js';
3
+ import { Node } from '../types/index.js';
4
+ export class Namespace {
5
+ sender;
6
+ ownerSubdomain;
7
+ constructor(sender, ownerSubdomain) {
8
+ this.sender = sender;
9
+ this.ownerSubdomain = ownerSubdomain;
10
+ }
11
+ async sendCommand(command, opts) {
12
+ let uri = command.uri.path;
13
+ let query = command.uri.query;
14
+ const take = opts?.take || 100;
15
+ if (opts?.collection) {
16
+ query.set('$take', take.toString());
17
+ }
18
+ if (opts?.ownerIdentity) {
19
+ uri = `lime://${opts.ownerIdentity}${uri}`;
20
+ }
21
+ if (uri.endsWith('?')) {
22
+ uri = uri.slice(0, -1);
23
+ }
24
+ const buildUri = () => (query.size > 0 ? uri + '?' + mapToQuery(query) : uri);
25
+ const owner = new Node('postmaster', `${this.ownerSubdomain ? `${this.ownerSubdomain}.` : ''}${opts?.domain || 'msging.net'}`);
26
+ const send = async (acc = [], skip = 0) => {
27
+ if (opts?.collection) {
28
+ query.set('$skip', skip.toString());
29
+ const commandToSend = {
30
+ id: randomId(),
31
+ to: owner,
32
+ ...command,
33
+ uri: buildUri(),
34
+ };
35
+ const response = (await this.sender.sendCommand(commandToSend));
36
+ const items = 'items' in response ? response.items : response.data;
37
+ acc = acc.concat(items);
38
+ if (!opts.fetchall || items.length < take || (opts.max && acc.length >= opts.max)) {
39
+ return acc;
40
+ }
41
+ else {
42
+ return send(acc, skip + take);
43
+ }
44
+ }
45
+ else {
46
+ const commandToSend = {
47
+ id: randomId(),
48
+ to: owner,
49
+ ...command,
50
+ uri: buildUri(),
51
+ };
52
+ const response = await this.sender.sendCommand(commandToSend);
53
+ return [response];
54
+ }
55
+ };
56
+ const items = await send([], opts?.skip || 0);
57
+ return opts?.collection ? items : items[0];
58
+ }
59
+ }
60
+ //# sourceMappingURL=namespace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../src/namespaces/namespace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { uri } from '../utils/uri.js';
2
+ import { Namespace } from './namespace.js';
3
+ export class SchedulerNamespace extends Namespace {
4
+ constructor(sender) {
5
+ super(sender, 'scheduler');
6
+ }
7
+ async scheduleMessage(schedule, opts) {
8
+ return this.sendCommand({
9
+ method: 'set',
10
+ uri: uri `/schedules`,
11
+ type: 'application/vnd.iris.schedule+json',
12
+ resource: schedule,
13
+ }, opts);
14
+ }
15
+ async getSchedule(id, opts) {
16
+ return this.sendCommand({
17
+ method: 'get',
18
+ uri: uri `/schedules/${id}`,
19
+ }, opts);
20
+ }
21
+ async getSchedules(opts) {
22
+ return this.sendCommand({
23
+ method: 'get',
24
+ uri: uri `/schedules`,
25
+ }, {
26
+ collection: true,
27
+ ...opts,
28
+ });
29
+ }
30
+ async cancelSchedule(id, opts) {
31
+ return this.sendCommand({
32
+ method: 'delete',
33
+ uri: uri `/schedules/${id}`,
34
+ }, opts);
35
+ }
36
+ }
37
+ //# sourceMappingURL=scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/namespaces/scheduler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAA;AACrC,OAAO,EAAkB,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1D,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC7C,YAAY,MAAc;QACtB,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAC9B,CAAC;IAEM,KAAK,CAAC,eAAe,CACxB,QAIC,EACD,IAAqB;QAErB,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,YAAY;YACpB,IAAI,EAAE,oCAAoC;YAC1C,QAAQ,EAAE,QAAQ;SACrB,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,EAAU,EACV,IAAqB;QAMrB,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,cAAc,EAAE,EAAE;SAC7B,EACD,IAAI,CACP,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,IAAqB;QAQ3C,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,GAAG,CAAA,YAAY;SACvB,EACD;YACI,UAAU,EAAE,IAAI;YAChB,GAAG,IAAI;SACV,CACJ,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,EAAU,EAAE,IAAqB;QACzD,OAAO,IAAI,CAAC,WAAW,CACnB;YACI,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,GAAG,CAAA,cAAc,EAAE,EAAE;SAC7B,EACD,IAAI,CACP,CAAA;IACL,CAAC;CACJ"}