@open-loyalty/mcp-server 1.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/LICENSE +21 -0
- package/README.md +654 -0
- package/dist/client/http.d.ts +8 -0
- package/dist/client/http.js +69 -0
- package/dist/config.d.ts +17 -0
- package/dist/config.js +40 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +20 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.js +334 -0
- package/dist/tools/achievement.d.ts +983 -0
- package/dist/tools/achievement.js +311 -0
- package/dist/tools/admin.d.ts +153 -0
- package/dist/tools/admin.js +193 -0
- package/dist/tools/analytics.d.ts +162 -0
- package/dist/tools/analytics.js +245 -0
- package/dist/tools/apikey.d.ts +72 -0
- package/dist/tools/apikey.js +78 -0
- package/dist/tools/audit.d.ts +107 -0
- package/dist/tools/audit.js +90 -0
- package/dist/tools/badge.d.ts +135 -0
- package/dist/tools/badge.js +165 -0
- package/dist/tools/campaign.d.ts +1775 -0
- package/dist/tools/campaign.js +724 -0
- package/dist/tools/export.d.ts +110 -0
- package/dist/tools/export.js +147 -0
- package/dist/tools/import.d.ts +110 -0
- package/dist/tools/import.js +126 -0
- package/dist/tools/index.d.ts +22 -0
- package/dist/tools/index.js +527 -0
- package/dist/tools/member.d.ts +345 -0
- package/dist/tools/member.js +358 -0
- package/dist/tools/member.test.d.ts +1 -0
- package/dist/tools/member.test.js +213 -0
- package/dist/tools/points.d.ts +188 -0
- package/dist/tools/points.js +306 -0
- package/dist/tools/points.test.d.ts +1 -0
- package/dist/tools/points.test.js +292 -0
- package/dist/tools/reward.d.ts +261 -0
- package/dist/tools/reward.js +371 -0
- package/dist/tools/reward.test.d.ts +1 -0
- package/dist/tools/reward.test.js +240 -0
- package/dist/tools/role.d.ts +161 -0
- package/dist/tools/role.js +160 -0
- package/dist/tools/segment.d.ts +797 -0
- package/dist/tools/segment.js +299 -0
- package/dist/tools/store.d.ts +101 -0
- package/dist/tools/store.js +117 -0
- package/dist/tools/tierset.d.ts +288 -0
- package/dist/tools/tierset.js +244 -0
- package/dist/tools/transaction.d.ts +357 -0
- package/dist/tools/transaction.js +242 -0
- package/dist/tools/transaction.test.d.ts +1 -0
- package/dist/tools/transaction.test.js +235 -0
- package/dist/tools/wallet-type.d.ts +32 -0
- package/dist/tools/wallet-type.js +58 -0
- package/dist/tools/webhook.d.ts +179 -0
- package/dist/tools/webhook.js +171 -0
- package/dist/types/schemas/achievement.d.ts +1116 -0
- package/dist/types/schemas/achievement.js +172 -0
- package/dist/types/schemas/admin.d.ts +263 -0
- package/dist/types/schemas/admin.js +99 -0
- package/dist/types/schemas/analytics.d.ts +542 -0
- package/dist/types/schemas/analytics.js +130 -0
- package/dist/types/schemas/badge.d.ts +131 -0
- package/dist/types/schemas/badge.js +48 -0
- package/dist/types/schemas/campaign.d.ts +2005 -0
- package/dist/types/schemas/campaign.js +189 -0
- package/dist/types/schemas/common.d.ts +52 -0
- package/dist/types/schemas/common.js +26 -0
- package/dist/types/schemas/export.d.ts +127 -0
- package/dist/types/schemas/export.js +43 -0
- package/dist/types/schemas/import.d.ts +344 -0
- package/dist/types/schemas/import.js +68 -0
- package/dist/types/schemas/member.d.ts +443 -0
- package/dist/types/schemas/member.js +92 -0
- package/dist/types/schemas/points.d.ts +188 -0
- package/dist/types/schemas/points.js +54 -0
- package/dist/types/schemas/reward.d.ts +278 -0
- package/dist/types/schemas/reward.js +69 -0
- package/dist/types/schemas/role.d.ts +260 -0
- package/dist/types/schemas/role.js +75 -0
- package/dist/types/schemas/segment.d.ts +592 -0
- package/dist/types/schemas/segment.js +114 -0
- package/dist/types/schemas/tierset.d.ts +552 -0
- package/dist/types/schemas/tierset.js +87 -0
- package/dist/types/schemas/transaction.d.ts +1022 -0
- package/dist/types/schemas/transaction.js +63 -0
- package/dist/types/schemas/wallet-type.d.ts +99 -0
- package/dist/types/schemas/wallet-type.js +17 -0
- package/dist/types/schemas/webhook.d.ts +195 -0
- package/dist/types/schemas/webhook.js +39 -0
- package/dist/utils/cursor.d.ts +84 -0
- package/dist/utils/cursor.js +117 -0
- package/dist/utils/errors.d.ts +12 -0
- package/dist/utils/errors.js +69 -0
- package/dist/utils/pagination.d.ts +39 -0
- package/dist/utils/pagination.js +77 -0
- package/package.json +65 -0
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Date Range Schema for analytics queries.
|
|
4
|
+
*/
|
|
5
|
+
export declare const AnalyticsDateRangeSchema: z.ZodObject<{
|
|
6
|
+
dateFrom: z.ZodOptional<z.ZodString>;
|
|
7
|
+
dateTo: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
dateFrom?: string | undefined;
|
|
10
|
+
dateTo?: string | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
dateFrom?: string | undefined;
|
|
13
|
+
dateTo?: string | undefined;
|
|
14
|
+
}>;
|
|
15
|
+
export type AnalyticsDateRange = z.infer<typeof AnalyticsDateRangeSchema>;
|
|
16
|
+
/**
|
|
17
|
+
* Tier Analytics Schema.
|
|
18
|
+
* Response from GET /api/{storeCode}/analytics/levels
|
|
19
|
+
*/
|
|
20
|
+
export declare const TierAnalyticsItemSchema: z.ZodObject<{
|
|
21
|
+
levelId: z.ZodString;
|
|
22
|
+
name: z.ZodOptional<z.ZodString>;
|
|
23
|
+
conditionValue: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
store: z.ZodOptional<z.ZodString>;
|
|
25
|
+
customers: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNumber]>>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
levelId: string;
|
|
28
|
+
name?: string | undefined;
|
|
29
|
+
conditionValue?: number | undefined;
|
|
30
|
+
store?: string | undefined;
|
|
31
|
+
customers?: number | boolean | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
levelId: string;
|
|
34
|
+
name?: string | undefined;
|
|
35
|
+
conditionValue?: number | undefined;
|
|
36
|
+
store?: string | undefined;
|
|
37
|
+
customers?: number | boolean | undefined;
|
|
38
|
+
}>;
|
|
39
|
+
export type TierAnalyticsItem = z.infer<typeof TierAnalyticsItemSchema>;
|
|
40
|
+
export declare const TierAnalyticsSchema: z.ZodObject<{
|
|
41
|
+
items: z.ZodArray<z.ZodObject<{
|
|
42
|
+
levelId: z.ZodString;
|
|
43
|
+
name: z.ZodOptional<z.ZodString>;
|
|
44
|
+
conditionValue: z.ZodOptional<z.ZodNumber>;
|
|
45
|
+
store: z.ZodOptional<z.ZodString>;
|
|
46
|
+
customers: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodNumber]>>;
|
|
47
|
+
}, "strip", z.ZodTypeAny, {
|
|
48
|
+
levelId: string;
|
|
49
|
+
name?: string | undefined;
|
|
50
|
+
conditionValue?: number | undefined;
|
|
51
|
+
store?: string | undefined;
|
|
52
|
+
customers?: number | boolean | undefined;
|
|
53
|
+
}, {
|
|
54
|
+
levelId: string;
|
|
55
|
+
name?: string | undefined;
|
|
56
|
+
conditionValue?: number | undefined;
|
|
57
|
+
store?: string | undefined;
|
|
58
|
+
customers?: number | boolean | undefined;
|
|
59
|
+
}>, "many">;
|
|
60
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
}, "strip", z.ZodTypeAny, {
|
|
62
|
+
items: {
|
|
63
|
+
levelId: string;
|
|
64
|
+
name?: string | undefined;
|
|
65
|
+
conditionValue?: number | undefined;
|
|
66
|
+
store?: string | undefined;
|
|
67
|
+
customers?: number | boolean | undefined;
|
|
68
|
+
}[];
|
|
69
|
+
total?: number | undefined;
|
|
70
|
+
}, {
|
|
71
|
+
items: {
|
|
72
|
+
levelId: string;
|
|
73
|
+
name?: string | undefined;
|
|
74
|
+
conditionValue?: number | undefined;
|
|
75
|
+
store?: string | undefined;
|
|
76
|
+
customers?: number | boolean | undefined;
|
|
77
|
+
}[];
|
|
78
|
+
total?: number | undefined;
|
|
79
|
+
}>;
|
|
80
|
+
export type TierAnalytics = z.infer<typeof TierAnalyticsSchema>;
|
|
81
|
+
/**
|
|
82
|
+
* Member Analytics Schema.
|
|
83
|
+
* Response from GET /api/{storeCode}/analytics/members
|
|
84
|
+
*/
|
|
85
|
+
export declare const MemberAnalyticsIntervalSchema: z.ZodObject<{
|
|
86
|
+
in_1_days: z.ZodOptional<z.ZodNumber>;
|
|
87
|
+
in_7_days: z.ZodOptional<z.ZodNumber>;
|
|
88
|
+
in_30_days: z.ZodOptional<z.ZodNumber>;
|
|
89
|
+
in_365_days: z.ZodOptional<z.ZodNumber>;
|
|
90
|
+
}, "strip", z.ZodTypeAny, {
|
|
91
|
+
in_1_days?: number | undefined;
|
|
92
|
+
in_7_days?: number | undefined;
|
|
93
|
+
in_30_days?: number | undefined;
|
|
94
|
+
in_365_days?: number | undefined;
|
|
95
|
+
}, {
|
|
96
|
+
in_1_days?: number | undefined;
|
|
97
|
+
in_7_days?: number | undefined;
|
|
98
|
+
in_30_days?: number | undefined;
|
|
99
|
+
in_365_days?: number | undefined;
|
|
100
|
+
}>;
|
|
101
|
+
export type MemberAnalyticsInterval = z.infer<typeof MemberAnalyticsIntervalSchema>;
|
|
102
|
+
export declare const MemberAnalyticsSchema: z.ZodObject<{
|
|
103
|
+
intervals: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
104
|
+
in_1_days: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
in_7_days: z.ZodOptional<z.ZodNumber>;
|
|
106
|
+
in_30_days: z.ZodOptional<z.ZodNumber>;
|
|
107
|
+
in_365_days: z.ZodOptional<z.ZodNumber>;
|
|
108
|
+
}, "strip", z.ZodTypeAny, {
|
|
109
|
+
in_1_days?: number | undefined;
|
|
110
|
+
in_7_days?: number | undefined;
|
|
111
|
+
in_30_days?: number | undefined;
|
|
112
|
+
in_365_days?: number | undefined;
|
|
113
|
+
}, {
|
|
114
|
+
in_1_days?: number | undefined;
|
|
115
|
+
in_7_days?: number | undefined;
|
|
116
|
+
in_30_days?: number | undefined;
|
|
117
|
+
in_365_days?: number | undefined;
|
|
118
|
+
}>, "many">>;
|
|
119
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
120
|
+
}, "strip", z.ZodTypeAny, {
|
|
121
|
+
total?: number | undefined;
|
|
122
|
+
intervals?: {
|
|
123
|
+
in_1_days?: number | undefined;
|
|
124
|
+
in_7_days?: number | undefined;
|
|
125
|
+
in_30_days?: number | undefined;
|
|
126
|
+
in_365_days?: number | undefined;
|
|
127
|
+
}[] | undefined;
|
|
128
|
+
}, {
|
|
129
|
+
total?: number | undefined;
|
|
130
|
+
intervals?: {
|
|
131
|
+
in_1_days?: number | undefined;
|
|
132
|
+
in_7_days?: number | undefined;
|
|
133
|
+
in_30_days?: number | undefined;
|
|
134
|
+
in_365_days?: number | undefined;
|
|
135
|
+
}[] | undefined;
|
|
136
|
+
}>;
|
|
137
|
+
export type MemberAnalytics = z.infer<typeof MemberAnalyticsSchema>;
|
|
138
|
+
/**
|
|
139
|
+
* Points Analytics Schema.
|
|
140
|
+
* Response from GET /api/{storeCode}/analytics/points
|
|
141
|
+
*/
|
|
142
|
+
export declare const PointsAnalyticsItemSchema: z.ZodObject<{
|
|
143
|
+
totalPointsActive: z.ZodOptional<z.ZodNumber>;
|
|
144
|
+
totalPointsSpent: z.ZodOptional<z.ZodNumber>;
|
|
145
|
+
totalPointsAdded: z.ZodOptional<z.ZodNumber>;
|
|
146
|
+
totalPointsExpired: z.ZodOptional<z.ZodNumber>;
|
|
147
|
+
totalPointsPending: z.ZodOptional<z.ZodNumber>;
|
|
148
|
+
}, "strip", z.ZodTypeAny, {
|
|
149
|
+
totalPointsActive?: number | undefined;
|
|
150
|
+
totalPointsSpent?: number | undefined;
|
|
151
|
+
totalPointsAdded?: number | undefined;
|
|
152
|
+
totalPointsExpired?: number | undefined;
|
|
153
|
+
totalPointsPending?: number | undefined;
|
|
154
|
+
}, {
|
|
155
|
+
totalPointsActive?: number | undefined;
|
|
156
|
+
totalPointsSpent?: number | undefined;
|
|
157
|
+
totalPointsAdded?: number | undefined;
|
|
158
|
+
totalPointsExpired?: number | undefined;
|
|
159
|
+
totalPointsPending?: number | undefined;
|
|
160
|
+
}>;
|
|
161
|
+
export type PointsAnalyticsItem = z.infer<typeof PointsAnalyticsItemSchema>;
|
|
162
|
+
export declare const PointsAnalyticsSchema: z.ZodArray<z.ZodObject<{
|
|
163
|
+
totalPointsActive: z.ZodOptional<z.ZodNumber>;
|
|
164
|
+
totalPointsSpent: z.ZodOptional<z.ZodNumber>;
|
|
165
|
+
totalPointsAdded: z.ZodOptional<z.ZodNumber>;
|
|
166
|
+
totalPointsExpired: z.ZodOptional<z.ZodNumber>;
|
|
167
|
+
totalPointsPending: z.ZodOptional<z.ZodNumber>;
|
|
168
|
+
}, "strip", z.ZodTypeAny, {
|
|
169
|
+
totalPointsActive?: number | undefined;
|
|
170
|
+
totalPointsSpent?: number | undefined;
|
|
171
|
+
totalPointsAdded?: number | undefined;
|
|
172
|
+
totalPointsExpired?: number | undefined;
|
|
173
|
+
totalPointsPending?: number | undefined;
|
|
174
|
+
}, {
|
|
175
|
+
totalPointsActive?: number | undefined;
|
|
176
|
+
totalPointsSpent?: number | undefined;
|
|
177
|
+
totalPointsAdded?: number | undefined;
|
|
178
|
+
totalPointsExpired?: number | undefined;
|
|
179
|
+
totalPointsPending?: number | undefined;
|
|
180
|
+
}>, "many">;
|
|
181
|
+
export type PointsAnalytics = z.infer<typeof PointsAnalyticsSchema>;
|
|
182
|
+
/**
|
|
183
|
+
* Transaction Analytics Schema.
|
|
184
|
+
* Response from GET /api/{storeCode}/analytics/transactions
|
|
185
|
+
*/
|
|
186
|
+
export declare const TransactionAnalyticsIntervalSchema: z.ZodObject<{
|
|
187
|
+
in_1_days: z.ZodOptional<z.ZodNumber>;
|
|
188
|
+
in_7_days: z.ZodOptional<z.ZodNumber>;
|
|
189
|
+
in_30_days: z.ZodOptional<z.ZodNumber>;
|
|
190
|
+
in_365_days: z.ZodOptional<z.ZodNumber>;
|
|
191
|
+
}, "strip", z.ZodTypeAny, {
|
|
192
|
+
in_1_days?: number | undefined;
|
|
193
|
+
in_7_days?: number | undefined;
|
|
194
|
+
in_30_days?: number | undefined;
|
|
195
|
+
in_365_days?: number | undefined;
|
|
196
|
+
}, {
|
|
197
|
+
in_1_days?: number | undefined;
|
|
198
|
+
in_7_days?: number | undefined;
|
|
199
|
+
in_30_days?: number | undefined;
|
|
200
|
+
in_365_days?: number | undefined;
|
|
201
|
+
}>;
|
|
202
|
+
export type TransactionAnalyticsInterval = z.infer<typeof TransactionAnalyticsIntervalSchema>;
|
|
203
|
+
export declare const TransactionAnalyticsItemSchema: z.ZodObject<{
|
|
204
|
+
countIntervals: z.ZodOptional<z.ZodObject<{
|
|
205
|
+
in_1_days: z.ZodOptional<z.ZodNumber>;
|
|
206
|
+
in_7_days: z.ZodOptional<z.ZodNumber>;
|
|
207
|
+
in_30_days: z.ZodOptional<z.ZodNumber>;
|
|
208
|
+
in_365_days: z.ZodOptional<z.ZodNumber>;
|
|
209
|
+
}, "strip", z.ZodTypeAny, {
|
|
210
|
+
in_1_days?: number | undefined;
|
|
211
|
+
in_7_days?: number | undefined;
|
|
212
|
+
in_30_days?: number | undefined;
|
|
213
|
+
in_365_days?: number | undefined;
|
|
214
|
+
}, {
|
|
215
|
+
in_1_days?: number | undefined;
|
|
216
|
+
in_7_days?: number | undefined;
|
|
217
|
+
in_30_days?: number | undefined;
|
|
218
|
+
in_365_days?: number | undefined;
|
|
219
|
+
}>>;
|
|
220
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
221
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
222
|
+
amountWithoutDeliveryCosts: z.ZodOptional<z.ZodNumber>;
|
|
223
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
224
|
+
}, "strip", z.ZodTypeAny, {
|
|
225
|
+
total?: number | undefined;
|
|
226
|
+
countIntervals?: {
|
|
227
|
+
in_1_days?: number | undefined;
|
|
228
|
+
in_7_days?: number | undefined;
|
|
229
|
+
in_30_days?: number | undefined;
|
|
230
|
+
in_365_days?: number | undefined;
|
|
231
|
+
} | undefined;
|
|
232
|
+
amount?: number | undefined;
|
|
233
|
+
amountWithoutDeliveryCosts?: number | undefined;
|
|
234
|
+
currency?: string | undefined;
|
|
235
|
+
}, {
|
|
236
|
+
total?: number | undefined;
|
|
237
|
+
countIntervals?: {
|
|
238
|
+
in_1_days?: number | undefined;
|
|
239
|
+
in_7_days?: number | undefined;
|
|
240
|
+
in_30_days?: number | undefined;
|
|
241
|
+
in_365_days?: number | undefined;
|
|
242
|
+
} | undefined;
|
|
243
|
+
amount?: number | undefined;
|
|
244
|
+
amountWithoutDeliveryCosts?: number | undefined;
|
|
245
|
+
currency?: string | undefined;
|
|
246
|
+
}>;
|
|
247
|
+
export type TransactionAnalyticsItem = z.infer<typeof TransactionAnalyticsItemSchema>;
|
|
248
|
+
export declare const TransactionAnalyticsSchema: z.ZodArray<z.ZodObject<{
|
|
249
|
+
countIntervals: z.ZodOptional<z.ZodObject<{
|
|
250
|
+
in_1_days: z.ZodOptional<z.ZodNumber>;
|
|
251
|
+
in_7_days: z.ZodOptional<z.ZodNumber>;
|
|
252
|
+
in_30_days: z.ZodOptional<z.ZodNumber>;
|
|
253
|
+
in_365_days: z.ZodOptional<z.ZodNumber>;
|
|
254
|
+
}, "strip", z.ZodTypeAny, {
|
|
255
|
+
in_1_days?: number | undefined;
|
|
256
|
+
in_7_days?: number | undefined;
|
|
257
|
+
in_30_days?: number | undefined;
|
|
258
|
+
in_365_days?: number | undefined;
|
|
259
|
+
}, {
|
|
260
|
+
in_1_days?: number | undefined;
|
|
261
|
+
in_7_days?: number | undefined;
|
|
262
|
+
in_30_days?: number | undefined;
|
|
263
|
+
in_365_days?: number | undefined;
|
|
264
|
+
}>>;
|
|
265
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
266
|
+
amount: z.ZodOptional<z.ZodNumber>;
|
|
267
|
+
amountWithoutDeliveryCosts: z.ZodOptional<z.ZodNumber>;
|
|
268
|
+
currency: z.ZodOptional<z.ZodString>;
|
|
269
|
+
}, "strip", z.ZodTypeAny, {
|
|
270
|
+
total?: number | undefined;
|
|
271
|
+
countIntervals?: {
|
|
272
|
+
in_1_days?: number | undefined;
|
|
273
|
+
in_7_days?: number | undefined;
|
|
274
|
+
in_30_days?: number | undefined;
|
|
275
|
+
in_365_days?: number | undefined;
|
|
276
|
+
} | undefined;
|
|
277
|
+
amount?: number | undefined;
|
|
278
|
+
amountWithoutDeliveryCosts?: number | undefined;
|
|
279
|
+
currency?: string | undefined;
|
|
280
|
+
}, {
|
|
281
|
+
total?: number | undefined;
|
|
282
|
+
countIntervals?: {
|
|
283
|
+
in_1_days?: number | undefined;
|
|
284
|
+
in_7_days?: number | undefined;
|
|
285
|
+
in_30_days?: number | undefined;
|
|
286
|
+
in_365_days?: number | undefined;
|
|
287
|
+
} | undefined;
|
|
288
|
+
amount?: number | undefined;
|
|
289
|
+
amountWithoutDeliveryCosts?: number | undefined;
|
|
290
|
+
currency?: string | undefined;
|
|
291
|
+
}>, "many">;
|
|
292
|
+
export type TransactionAnalytics = z.infer<typeof TransactionAnalyticsSchema>;
|
|
293
|
+
/**
|
|
294
|
+
* Referral Analytics Schema.
|
|
295
|
+
* Response from GET /api/{storeCode}/analytics/referrals
|
|
296
|
+
*/
|
|
297
|
+
export declare const ReferralAnalyticsSchema: z.ZodObject<{
|
|
298
|
+
total: z.ZodOptional<z.ZodNumber>;
|
|
299
|
+
}, "strip", z.ZodTypeAny, {
|
|
300
|
+
total?: number | undefined;
|
|
301
|
+
}, {
|
|
302
|
+
total?: number | undefined;
|
|
303
|
+
}>;
|
|
304
|
+
export type ReferralAnalytics = z.infer<typeof ReferralAnalyticsSchema>;
|
|
305
|
+
/**
|
|
306
|
+
* Campaign Analytics Schema.
|
|
307
|
+
* Response from GET /api/{storeCode}/analytics/campaigns
|
|
308
|
+
*/
|
|
309
|
+
export declare const CampaignAnalyticsItemSchema: z.ZodObject<{
|
|
310
|
+
campaignId: z.ZodString;
|
|
311
|
+
name: z.ZodOptional<z.ZodString>;
|
|
312
|
+
executions: z.ZodOptional<z.ZodNumber>;
|
|
313
|
+
}, "strip", z.ZodTypeAny, {
|
|
314
|
+
campaignId: string;
|
|
315
|
+
name?: string | undefined;
|
|
316
|
+
executions?: number | undefined;
|
|
317
|
+
}, {
|
|
318
|
+
campaignId: string;
|
|
319
|
+
name?: string | undefined;
|
|
320
|
+
executions?: number | undefined;
|
|
321
|
+
}>;
|
|
322
|
+
export type CampaignAnalyticsItem = z.infer<typeof CampaignAnalyticsItemSchema>;
|
|
323
|
+
export declare const CampaignAnalyticsSchema: z.ZodObject<{
|
|
324
|
+
items: z.ZodArray<z.ZodObject<{
|
|
325
|
+
campaignId: z.ZodString;
|
|
326
|
+
name: z.ZodOptional<z.ZodString>;
|
|
327
|
+
executions: z.ZodOptional<z.ZodNumber>;
|
|
328
|
+
}, "strip", z.ZodTypeAny, {
|
|
329
|
+
campaignId: string;
|
|
330
|
+
name?: string | undefined;
|
|
331
|
+
executions?: number | undefined;
|
|
332
|
+
}, {
|
|
333
|
+
campaignId: string;
|
|
334
|
+
name?: string | undefined;
|
|
335
|
+
executions?: number | undefined;
|
|
336
|
+
}>, "many">;
|
|
337
|
+
total: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
338
|
+
}, "strip", z.ZodTypeAny, {
|
|
339
|
+
items: {
|
|
340
|
+
campaignId: string;
|
|
341
|
+
name?: string | undefined;
|
|
342
|
+
executions?: number | undefined;
|
|
343
|
+
}[];
|
|
344
|
+
total?: Record<string, unknown> | undefined;
|
|
345
|
+
}, {
|
|
346
|
+
items: {
|
|
347
|
+
campaignId: string;
|
|
348
|
+
name?: string | undefined;
|
|
349
|
+
executions?: number | undefined;
|
|
350
|
+
}[];
|
|
351
|
+
total?: Record<string, unknown> | undefined;
|
|
352
|
+
}>;
|
|
353
|
+
export type CampaignAnalytics = z.infer<typeof CampaignAnalyticsSchema>;
|
|
354
|
+
/**
|
|
355
|
+
* Dashboard General Overview Schema.
|
|
356
|
+
* Response from GET /api/{storeCode}/analytics/dashboard/general-overview
|
|
357
|
+
*/
|
|
358
|
+
export declare const DashboardHeaderSchema: z.ZodObject<{
|
|
359
|
+
registeredMembers: z.ZodOptional<z.ZodNumber>;
|
|
360
|
+
activeMembers: z.ZodOptional<z.ZodNumber>;
|
|
361
|
+
revenue: z.ZodOptional<z.ZodNumber>;
|
|
362
|
+
avgSpending: z.ZodOptional<z.ZodNumber>;
|
|
363
|
+
transactions: z.ZodOptional<z.ZodNumber>;
|
|
364
|
+
avgTransactionValue: z.ZodOptional<z.ZodNumber>;
|
|
365
|
+
avgNumberOfTransactions: z.ZodOptional<z.ZodNumber>;
|
|
366
|
+
}, "strip", z.ZodTypeAny, {
|
|
367
|
+
transactions?: number | undefined;
|
|
368
|
+
registeredMembers?: number | undefined;
|
|
369
|
+
activeMembers?: number | undefined;
|
|
370
|
+
revenue?: number | undefined;
|
|
371
|
+
avgSpending?: number | undefined;
|
|
372
|
+
avgTransactionValue?: number | undefined;
|
|
373
|
+
avgNumberOfTransactions?: number | undefined;
|
|
374
|
+
}, {
|
|
375
|
+
transactions?: number | undefined;
|
|
376
|
+
registeredMembers?: number | undefined;
|
|
377
|
+
activeMembers?: number | undefined;
|
|
378
|
+
revenue?: number | undefined;
|
|
379
|
+
avgSpending?: number | undefined;
|
|
380
|
+
avgTransactionValue?: number | undefined;
|
|
381
|
+
avgNumberOfTransactions?: number | undefined;
|
|
382
|
+
}>;
|
|
383
|
+
export type DashboardHeader = z.infer<typeof DashboardHeaderSchema>;
|
|
384
|
+
export declare const DashboardOverviewSchema: z.ZodObject<{
|
|
385
|
+
intervalStartDate: z.ZodOptional<z.ZodString>;
|
|
386
|
+
intervalEndDate: z.ZodOptional<z.ZodString>;
|
|
387
|
+
header: z.ZodOptional<z.ZodObject<{
|
|
388
|
+
registeredMembers: z.ZodOptional<z.ZodNumber>;
|
|
389
|
+
activeMembers: z.ZodOptional<z.ZodNumber>;
|
|
390
|
+
revenue: z.ZodOptional<z.ZodNumber>;
|
|
391
|
+
avgSpending: z.ZodOptional<z.ZodNumber>;
|
|
392
|
+
transactions: z.ZodOptional<z.ZodNumber>;
|
|
393
|
+
avgTransactionValue: z.ZodOptional<z.ZodNumber>;
|
|
394
|
+
avgNumberOfTransactions: z.ZodOptional<z.ZodNumber>;
|
|
395
|
+
}, "strip", z.ZodTypeAny, {
|
|
396
|
+
transactions?: number | undefined;
|
|
397
|
+
registeredMembers?: number | undefined;
|
|
398
|
+
activeMembers?: number | undefined;
|
|
399
|
+
revenue?: number | undefined;
|
|
400
|
+
avgSpending?: number | undefined;
|
|
401
|
+
avgTransactionValue?: number | undefined;
|
|
402
|
+
avgNumberOfTransactions?: number | undefined;
|
|
403
|
+
}, {
|
|
404
|
+
transactions?: number | undefined;
|
|
405
|
+
registeredMembers?: number | undefined;
|
|
406
|
+
activeMembers?: number | undefined;
|
|
407
|
+
revenue?: number | undefined;
|
|
408
|
+
avgSpending?: number | undefined;
|
|
409
|
+
avgTransactionValue?: number | undefined;
|
|
410
|
+
avgNumberOfTransactions?: number | undefined;
|
|
411
|
+
}>>;
|
|
412
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
413
|
+
aggregationType: z.ZodOptional<z.ZodEnum<["day", "week", "month"]>>;
|
|
414
|
+
dataType: z.ZodOptional<z.ZodString>;
|
|
415
|
+
}, "strip", z.ZodTypeAny, {
|
|
416
|
+
data?: Record<string, unknown> | undefined;
|
|
417
|
+
header?: {
|
|
418
|
+
transactions?: number | undefined;
|
|
419
|
+
registeredMembers?: number | undefined;
|
|
420
|
+
activeMembers?: number | undefined;
|
|
421
|
+
revenue?: number | undefined;
|
|
422
|
+
avgSpending?: number | undefined;
|
|
423
|
+
avgTransactionValue?: number | undefined;
|
|
424
|
+
avgNumberOfTransactions?: number | undefined;
|
|
425
|
+
} | undefined;
|
|
426
|
+
intervalStartDate?: string | undefined;
|
|
427
|
+
intervalEndDate?: string | undefined;
|
|
428
|
+
aggregationType?: "day" | "week" | "month" | undefined;
|
|
429
|
+
dataType?: string | undefined;
|
|
430
|
+
}, {
|
|
431
|
+
data?: Record<string, unknown> | undefined;
|
|
432
|
+
header?: {
|
|
433
|
+
transactions?: number | undefined;
|
|
434
|
+
registeredMembers?: number | undefined;
|
|
435
|
+
activeMembers?: number | undefined;
|
|
436
|
+
revenue?: number | undefined;
|
|
437
|
+
avgSpending?: number | undefined;
|
|
438
|
+
avgTransactionValue?: number | undefined;
|
|
439
|
+
avgNumberOfTransactions?: number | undefined;
|
|
440
|
+
} | undefined;
|
|
441
|
+
intervalStartDate?: string | undefined;
|
|
442
|
+
intervalEndDate?: string | undefined;
|
|
443
|
+
aggregationType?: "day" | "week" | "month" | undefined;
|
|
444
|
+
dataType?: string | undefined;
|
|
445
|
+
}>;
|
|
446
|
+
export type DashboardOverview = z.infer<typeof DashboardOverviewSchema>;
|
|
447
|
+
/**
|
|
448
|
+
* Units Overview Schema.
|
|
449
|
+
* Response from GET /api/{storeCode}/analytics/units-overview/{walletTypeCode}
|
|
450
|
+
*/
|
|
451
|
+
export declare const UnitsOverviewHeaderSchema: z.ZodObject<{
|
|
452
|
+
unitsIssued: z.ZodOptional<z.ZodNumber>;
|
|
453
|
+
unitsSpent: z.ZodOptional<z.ZodNumber>;
|
|
454
|
+
unitsExpired: z.ZodOptional<z.ZodNumber>;
|
|
455
|
+
unitsPending: z.ZodOptional<z.ZodNumber>;
|
|
456
|
+
unitsActive: z.ZodOptional<z.ZodNumber>;
|
|
457
|
+
redemptionRate: z.ZodOptional<z.ZodNumber>;
|
|
458
|
+
breakageRate: z.ZodOptional<z.ZodNumber>;
|
|
459
|
+
}, "strip", z.ZodTypeAny, {
|
|
460
|
+
unitsIssued?: number | undefined;
|
|
461
|
+
unitsSpent?: number | undefined;
|
|
462
|
+
unitsExpired?: number | undefined;
|
|
463
|
+
unitsPending?: number | undefined;
|
|
464
|
+
unitsActive?: number | undefined;
|
|
465
|
+
redemptionRate?: number | undefined;
|
|
466
|
+
breakageRate?: number | undefined;
|
|
467
|
+
}, {
|
|
468
|
+
unitsIssued?: number | undefined;
|
|
469
|
+
unitsSpent?: number | undefined;
|
|
470
|
+
unitsExpired?: number | undefined;
|
|
471
|
+
unitsPending?: number | undefined;
|
|
472
|
+
unitsActive?: number | undefined;
|
|
473
|
+
redemptionRate?: number | undefined;
|
|
474
|
+
breakageRate?: number | undefined;
|
|
475
|
+
}>;
|
|
476
|
+
export type UnitsOverviewHeader = z.infer<typeof UnitsOverviewHeaderSchema>;
|
|
477
|
+
export declare const UnitsOverviewSchema: z.ZodObject<{
|
|
478
|
+
intervalStartDate: z.ZodOptional<z.ZodString>;
|
|
479
|
+
intervalEndDate: z.ZodOptional<z.ZodString>;
|
|
480
|
+
walletTypeCode: z.ZodOptional<z.ZodString>;
|
|
481
|
+
header: z.ZodOptional<z.ZodObject<{
|
|
482
|
+
unitsIssued: z.ZodOptional<z.ZodNumber>;
|
|
483
|
+
unitsSpent: z.ZodOptional<z.ZodNumber>;
|
|
484
|
+
unitsExpired: z.ZodOptional<z.ZodNumber>;
|
|
485
|
+
unitsPending: z.ZodOptional<z.ZodNumber>;
|
|
486
|
+
unitsActive: z.ZodOptional<z.ZodNumber>;
|
|
487
|
+
redemptionRate: z.ZodOptional<z.ZodNumber>;
|
|
488
|
+
breakageRate: z.ZodOptional<z.ZodNumber>;
|
|
489
|
+
}, "strip", z.ZodTypeAny, {
|
|
490
|
+
unitsIssued?: number | undefined;
|
|
491
|
+
unitsSpent?: number | undefined;
|
|
492
|
+
unitsExpired?: number | undefined;
|
|
493
|
+
unitsPending?: number | undefined;
|
|
494
|
+
unitsActive?: number | undefined;
|
|
495
|
+
redemptionRate?: number | undefined;
|
|
496
|
+
breakageRate?: number | undefined;
|
|
497
|
+
}, {
|
|
498
|
+
unitsIssued?: number | undefined;
|
|
499
|
+
unitsSpent?: number | undefined;
|
|
500
|
+
unitsExpired?: number | undefined;
|
|
501
|
+
unitsPending?: number | undefined;
|
|
502
|
+
unitsActive?: number | undefined;
|
|
503
|
+
redemptionRate?: number | undefined;
|
|
504
|
+
breakageRate?: number | undefined;
|
|
505
|
+
}>>;
|
|
506
|
+
data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
507
|
+
aggregationType: z.ZodOptional<z.ZodEnum<["day", "week", "month"]>>;
|
|
508
|
+
dataType: z.ZodOptional<z.ZodString>;
|
|
509
|
+
}, "strip", z.ZodTypeAny, {
|
|
510
|
+
data?: Record<string, unknown> | undefined;
|
|
511
|
+
header?: {
|
|
512
|
+
unitsIssued?: number | undefined;
|
|
513
|
+
unitsSpent?: number | undefined;
|
|
514
|
+
unitsExpired?: number | undefined;
|
|
515
|
+
unitsPending?: number | undefined;
|
|
516
|
+
unitsActive?: number | undefined;
|
|
517
|
+
redemptionRate?: number | undefined;
|
|
518
|
+
breakageRate?: number | undefined;
|
|
519
|
+
} | undefined;
|
|
520
|
+
intervalStartDate?: string | undefined;
|
|
521
|
+
intervalEndDate?: string | undefined;
|
|
522
|
+
aggregationType?: "day" | "week" | "month" | undefined;
|
|
523
|
+
dataType?: string | undefined;
|
|
524
|
+
walletTypeCode?: string | undefined;
|
|
525
|
+
}, {
|
|
526
|
+
data?: Record<string, unknown> | undefined;
|
|
527
|
+
header?: {
|
|
528
|
+
unitsIssued?: number | undefined;
|
|
529
|
+
unitsSpent?: number | undefined;
|
|
530
|
+
unitsExpired?: number | undefined;
|
|
531
|
+
unitsPending?: number | undefined;
|
|
532
|
+
unitsActive?: number | undefined;
|
|
533
|
+
redemptionRate?: number | undefined;
|
|
534
|
+
breakageRate?: number | undefined;
|
|
535
|
+
} | undefined;
|
|
536
|
+
intervalStartDate?: string | undefined;
|
|
537
|
+
intervalEndDate?: string | undefined;
|
|
538
|
+
aggregationType?: "day" | "week" | "month" | undefined;
|
|
539
|
+
dataType?: string | undefined;
|
|
540
|
+
walletTypeCode?: string | undefined;
|
|
541
|
+
}>;
|
|
542
|
+
export type UnitsOverview = z.infer<typeof UnitsOverviewSchema>;
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Date Range Schema for analytics queries.
|
|
4
|
+
*/
|
|
5
|
+
export const AnalyticsDateRangeSchema = z.object({
|
|
6
|
+
dateFrom: z.string().optional().describe("Start date for analytics (ISO date format: YYYY-MM-DD)."),
|
|
7
|
+
dateTo: z.string().optional().describe("End date for analytics (ISO date format: YYYY-MM-DD)."),
|
|
8
|
+
});
|
|
9
|
+
/**
|
|
10
|
+
* Tier Analytics Schema.
|
|
11
|
+
* Response from GET /api/{storeCode}/analytics/levels
|
|
12
|
+
*/
|
|
13
|
+
export const TierAnalyticsItemSchema = z.object({
|
|
14
|
+
levelId: z.string().describe("Tier level ID."),
|
|
15
|
+
name: z.string().optional().describe("Tier name."),
|
|
16
|
+
conditionValue: z.number().optional().describe("Condition threshold value."),
|
|
17
|
+
store: z.string().optional().describe("Store code."),
|
|
18
|
+
customers: z.union([z.boolean(), z.number()]).optional().describe("Customer count or flag."),
|
|
19
|
+
});
|
|
20
|
+
export const TierAnalyticsSchema = z.object({
|
|
21
|
+
items: z.array(TierAnalyticsItemSchema).describe("Tier analytics data."),
|
|
22
|
+
total: z.number().optional().describe("Total count."),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Member Analytics Schema.
|
|
26
|
+
* Response from GET /api/{storeCode}/analytics/members
|
|
27
|
+
*/
|
|
28
|
+
export const MemberAnalyticsIntervalSchema = z.object({
|
|
29
|
+
in_1_days: z.number().optional().describe("Members in last 1 day."),
|
|
30
|
+
in_7_days: z.number().optional().describe("Members in last 7 days."),
|
|
31
|
+
in_30_days: z.number().optional().describe("Members in last 30 days."),
|
|
32
|
+
in_365_days: z.number().optional().describe("Members in last 365 days."),
|
|
33
|
+
});
|
|
34
|
+
export const MemberAnalyticsSchema = z.object({
|
|
35
|
+
intervals: z.array(MemberAnalyticsIntervalSchema).optional().describe("Member registration intervals."),
|
|
36
|
+
total: z.number().optional().describe("Total member count."),
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Points Analytics Schema.
|
|
40
|
+
* Response from GET /api/{storeCode}/analytics/points
|
|
41
|
+
*/
|
|
42
|
+
export const PointsAnalyticsItemSchema = z.object({
|
|
43
|
+
totalPointsActive: z.number().optional().describe("Total active points balance."),
|
|
44
|
+
totalPointsSpent: z.number().optional().describe("Total points spent."),
|
|
45
|
+
totalPointsAdded: z.number().optional().describe("Total points added/issued."),
|
|
46
|
+
totalPointsExpired: z.number().optional().describe("Total points expired."),
|
|
47
|
+
totalPointsPending: z.number().optional().describe("Total pending/locked points."),
|
|
48
|
+
});
|
|
49
|
+
export const PointsAnalyticsSchema = z.array(PointsAnalyticsItemSchema);
|
|
50
|
+
/**
|
|
51
|
+
* Transaction Analytics Schema.
|
|
52
|
+
* Response from GET /api/{storeCode}/analytics/transactions
|
|
53
|
+
*/
|
|
54
|
+
export const TransactionAnalyticsIntervalSchema = z.object({
|
|
55
|
+
in_1_days: z.number().optional().describe("Transactions in last 1 day."),
|
|
56
|
+
in_7_days: z.number().optional().describe("Transactions in last 7 days."),
|
|
57
|
+
in_30_days: z.number().optional().describe("Transactions in last 30 days."),
|
|
58
|
+
in_365_days: z.number().optional().describe("Transactions in last 365 days."),
|
|
59
|
+
});
|
|
60
|
+
export const TransactionAnalyticsItemSchema = z.object({
|
|
61
|
+
countIntervals: TransactionAnalyticsIntervalSchema.optional().describe("Transaction count intervals."),
|
|
62
|
+
total: z.number().optional().describe("Total transaction count."),
|
|
63
|
+
amount: z.number().optional().describe("Total transaction amount."),
|
|
64
|
+
amountWithoutDeliveryCosts: z.number().optional().describe("Amount excluding delivery."),
|
|
65
|
+
currency: z.string().optional().describe("Currency code."),
|
|
66
|
+
});
|
|
67
|
+
export const TransactionAnalyticsSchema = z.array(TransactionAnalyticsItemSchema);
|
|
68
|
+
/**
|
|
69
|
+
* Referral Analytics Schema.
|
|
70
|
+
* Response from GET /api/{storeCode}/analytics/referrals
|
|
71
|
+
*/
|
|
72
|
+
export const ReferralAnalyticsSchema = z.object({
|
|
73
|
+
total: z.number().optional().describe("Total referral count."),
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* Campaign Analytics Schema.
|
|
77
|
+
* Response from GET /api/{storeCode}/analytics/campaigns
|
|
78
|
+
*/
|
|
79
|
+
export const CampaignAnalyticsItemSchema = z.object({
|
|
80
|
+
campaignId: z.string().describe("Campaign ID."),
|
|
81
|
+
name: z.string().optional().describe("Campaign name."),
|
|
82
|
+
executions: z.number().optional().describe("Number of campaign executions."),
|
|
83
|
+
});
|
|
84
|
+
export const CampaignAnalyticsSchema = z.object({
|
|
85
|
+
items: z.array(CampaignAnalyticsItemSchema).describe("Campaign execution data."),
|
|
86
|
+
total: z.record(z.string(), z.unknown()).optional().describe("Total counts."),
|
|
87
|
+
});
|
|
88
|
+
/**
|
|
89
|
+
* Dashboard General Overview Schema.
|
|
90
|
+
* Response from GET /api/{storeCode}/analytics/dashboard/general-overview
|
|
91
|
+
*/
|
|
92
|
+
export const DashboardHeaderSchema = z.object({
|
|
93
|
+
registeredMembers: z.number().optional().describe("Total registered members."),
|
|
94
|
+
activeMembers: z.number().optional().describe("Active members count."),
|
|
95
|
+
revenue: z.number().optional().describe("Total revenue."),
|
|
96
|
+
avgSpending: z.number().optional().describe("Average spending per member."),
|
|
97
|
+
transactions: z.number().optional().describe("Total transactions."),
|
|
98
|
+
avgTransactionValue: z.number().optional().describe("Average transaction value."),
|
|
99
|
+
avgNumberOfTransactions: z.number().optional().describe("Average number of transactions per member."),
|
|
100
|
+
});
|
|
101
|
+
export const DashboardOverviewSchema = z.object({
|
|
102
|
+
intervalStartDate: z.string().optional().describe("Start date of data interval."),
|
|
103
|
+
intervalEndDate: z.string().optional().describe("End date of data interval."),
|
|
104
|
+
header: DashboardHeaderSchema.optional().describe("Summary header metrics."),
|
|
105
|
+
data: z.record(z.string(), z.unknown()).optional().describe("Time-series data points."),
|
|
106
|
+
aggregationType: z.enum(["day", "week", "month"]).optional().describe("Aggregation granularity."),
|
|
107
|
+
dataType: z.string().optional().describe("Type of data returned."),
|
|
108
|
+
});
|
|
109
|
+
/**
|
|
110
|
+
* Units Overview Schema.
|
|
111
|
+
* Response from GET /api/{storeCode}/analytics/units-overview/{walletTypeCode}
|
|
112
|
+
*/
|
|
113
|
+
export const UnitsOverviewHeaderSchema = z.object({
|
|
114
|
+
unitsIssued: z.number().optional().describe("Total units issued."),
|
|
115
|
+
unitsSpent: z.number().optional().describe("Total units spent."),
|
|
116
|
+
unitsExpired: z.number().optional().describe("Total units expired."),
|
|
117
|
+
unitsPending: z.number().optional().describe("Total pending units."),
|
|
118
|
+
unitsActive: z.number().optional().describe("Total active units."),
|
|
119
|
+
redemptionRate: z.number().optional().describe("Redemption rate percentage."),
|
|
120
|
+
breakageRate: z.number().optional().describe("Breakage rate percentage."),
|
|
121
|
+
});
|
|
122
|
+
export const UnitsOverviewSchema = z.object({
|
|
123
|
+
intervalStartDate: z.string().optional().describe("Start date of data interval."),
|
|
124
|
+
intervalEndDate: z.string().optional().describe("End date of data interval."),
|
|
125
|
+
walletTypeCode: z.string().optional().describe("Wallet type code."),
|
|
126
|
+
header: UnitsOverviewHeaderSchema.optional().describe("Summary header metrics."),
|
|
127
|
+
data: z.record(z.string(), z.unknown()).optional().describe("Time-series data points."),
|
|
128
|
+
aggregationType: z.enum(["day", "week", "month"]).optional().describe("Aggregation granularity."),
|
|
129
|
+
dataType: z.string().optional().describe("Type of data returned."),
|
|
130
|
+
});
|