@adtrackify/at-service-common 4.0.28 → 4.0.31
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/dist/cjs/__tests__/services/events/collect-queue-tracking-service.spec.js +56 -4
- package/dist/cjs/__tests__/services/events/collect-queue-tracking-service.spec.js.map +1 -1
- package/dist/cjs/__tests__/services/events/tracking-event-sqs-service.spec.js +32 -12
- package/dist/cjs/__tests__/services/events/tracking-event-sqs-service.spec.js.map +1 -1
- package/dist/cjs/clients/third-party/shopify/graphql-analytics-queries.d.ts +18 -0
- package/dist/cjs/clients/third-party/shopify/graphql-analytics-queries.js +23 -0
- package/dist/cjs/clients/third-party/shopify/graphql-analytics-queries.js.map +1 -0
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +32 -0
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +191 -0
- package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js.map +1 -1
- package/dist/cjs/services/events/build-collect-queue-tracking-event.d.ts +0 -3
- package/dist/cjs/services/events/build-collect-queue-tracking-event.js +1 -3
- package/dist/cjs/services/events/build-collect-queue-tracking-event.js.map +1 -1
- package/dist/cjs/services/events/collect-queue-tracking-service.d.ts +5 -2
- package/dist/cjs/services/events/collect-queue-tracking-service.js +4 -4
- package/dist/cjs/services/events/collect-queue-tracking-service.js.map +1 -1
- package/dist/cjs/services/events/tracking-event-sqs-service.d.ts +1 -1
- package/dist/cjs/services/events/tracking-event-sqs-service.js +3 -3
- package/dist/cjs/services/events/tracking-event-sqs-service.js.map +1 -1
- package/dist/esm/__tests__/services/events/collect-queue-tracking-service.spec.js +56 -4
- package/dist/esm/__tests__/services/events/collect-queue-tracking-service.spec.js.map +1 -1
- package/dist/esm/__tests__/services/events/tracking-event-sqs-service.spec.js +33 -13
- package/dist/esm/__tests__/services/events/tracking-event-sqs-service.spec.js.map +1 -1
- package/dist/esm/clients/third-party/shopify/graphql-analytics-queries.d.ts +18 -0
- package/dist/esm/clients/third-party/shopify/graphql-analytics-queries.js +20 -0
- package/dist/esm/clients/third-party/shopify/graphql-analytics-queries.js.map +1 -0
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +32 -0
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +191 -0
- package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js.map +1 -1
- package/dist/esm/services/events/build-collect-queue-tracking-event.d.ts +0 -3
- package/dist/esm/services/events/build-collect-queue-tracking-event.js +0 -2
- package/dist/esm/services/events/build-collect-queue-tracking-event.js.map +1 -1
- package/dist/esm/services/events/collect-queue-tracking-service.d.ts +5 -2
- package/dist/esm/services/events/collect-queue-tracking-service.js +4 -4
- package/dist/esm/services/events/collect-queue-tracking-service.js.map +1 -1
- package/dist/esm/services/events/tracking-event-sqs-service.d.ts +1 -1
- package/dist/esm/services/events/tracking-event-sqs-service.js +3 -3
- package/dist/esm/services/events/tracking-event-sqs-service.js.map +1 -1
- package/package.json +4 -3
|
@@ -91,7 +91,7 @@ describe('CollectQueueTrackingService', () => {
|
|
|
91
91
|
});
|
|
92
92
|
const result = await service.send(event);
|
|
93
93
|
expect(result).toBe(true);
|
|
94
|
-
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(event);
|
|
94
|
+
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(event, 0);
|
|
95
95
|
});
|
|
96
96
|
it('returns false when SQS fails', async () => {
|
|
97
97
|
mockSendTrackingEventSqsMessage.mockResolvedValue(false);
|
|
@@ -103,6 +103,28 @@ describe('CollectQueueTrackingService', () => {
|
|
|
103
103
|
const result = await service.send(event);
|
|
104
104
|
expect(result).toBe(false);
|
|
105
105
|
});
|
|
106
|
+
it('passes delaySeconds to SQS service', async () => {
|
|
107
|
+
mockSendTrackingEventSqsMessage.mockResolvedValue(true);
|
|
108
|
+
const service = createService();
|
|
109
|
+
const event = service.buildEvent({
|
|
110
|
+
...baseEventParams,
|
|
111
|
+
context: { identity: { traits: { emails: ['user@example.com'] } } },
|
|
112
|
+
});
|
|
113
|
+
const result = await service.send(event, { delaySeconds: 600 });
|
|
114
|
+
expect(result).toBe(true);
|
|
115
|
+
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(event, 600);
|
|
116
|
+
});
|
|
117
|
+
it('passes 900 second delay to SQS service', async () => {
|
|
118
|
+
mockSendTrackingEventSqsMessage.mockResolvedValue(true);
|
|
119
|
+
const service = createService();
|
|
120
|
+
const event = service.buildEvent({
|
|
121
|
+
...baseEventParams,
|
|
122
|
+
context: { identity: { traits: { emails: ['user@example.com'] } } },
|
|
123
|
+
});
|
|
124
|
+
const result = await service.send(event, { delaySeconds: 900 });
|
|
125
|
+
expect(result).toBe(true);
|
|
126
|
+
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(event, 900);
|
|
127
|
+
});
|
|
106
128
|
});
|
|
107
129
|
describe('emit', () => {
|
|
108
130
|
it('builds and sends in one call', async () => {
|
|
@@ -121,7 +143,7 @@ describe('CollectQueueTrackingService', () => {
|
|
|
121
143
|
id: 'evt_1',
|
|
122
144
|
pixelId: 'pixel-1',
|
|
123
145
|
context: { identity: { traits: { emails: ['test@example.com'] } } },
|
|
124
|
-
}));
|
|
146
|
+
}), 0);
|
|
125
147
|
});
|
|
126
148
|
it('returns true when emit succeeds without context', async () => {
|
|
127
149
|
mockSendTrackingEventSqsMessage.mockResolvedValue(true);
|
|
@@ -138,7 +160,7 @@ describe('CollectQueueTrackingService', () => {
|
|
|
138
160
|
id: 'evt_2',
|
|
139
161
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.SUBSCRIPTION_CREATED,
|
|
140
162
|
data: { plan: 'enterprise' },
|
|
141
|
-
}));
|
|
163
|
+
}), 0);
|
|
142
164
|
});
|
|
143
165
|
it('returns false when SQS send fails', async () => {
|
|
144
166
|
mockSendTrackingEventSqsMessage.mockResolvedValue(false);
|
|
@@ -171,7 +193,37 @@ describe('CollectQueueTrackingService', () => {
|
|
|
171
193
|
expect(result).toBe(true);
|
|
172
194
|
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(expect.objectContaining({
|
|
173
195
|
context,
|
|
174
|
-
}));
|
|
196
|
+
}), 0);
|
|
197
|
+
});
|
|
198
|
+
it('emit with no delay passes 0 to SQS (existing behavior)', async () => {
|
|
199
|
+
mockSendTrackingEventSqsMessage.mockResolvedValue(true);
|
|
200
|
+
const service = createService();
|
|
201
|
+
const result = await service.emit({
|
|
202
|
+
...baseEventParams,
|
|
203
|
+
context: { identity: { traits: { emails: ['test@example.com'] } } },
|
|
204
|
+
});
|
|
205
|
+
expect(result).toBe(true);
|
|
206
|
+
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(expect.objectContaining({ id: 'evt_1' }), 0);
|
|
207
|
+
});
|
|
208
|
+
it('emit with 600 second delay passes delay to SQS', async () => {
|
|
209
|
+
mockSendTrackingEventSqsMessage.mockResolvedValue(true);
|
|
210
|
+
const service = createService();
|
|
211
|
+
const result = await service.emit({
|
|
212
|
+
...baseEventParams,
|
|
213
|
+
context: { identity: { traits: { emails: ['test@example.com'] } } },
|
|
214
|
+
}, { delaySeconds: 600 });
|
|
215
|
+
expect(result).toBe(true);
|
|
216
|
+
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(expect.objectContaining({ id: 'evt_1' }), 600);
|
|
217
|
+
});
|
|
218
|
+
it('emit with 900 second delay passes delay to SQS', async () => {
|
|
219
|
+
mockSendTrackingEventSqsMessage.mockResolvedValue(true);
|
|
220
|
+
const service = createService();
|
|
221
|
+
const result = await service.emit({
|
|
222
|
+
...baseEventParams,
|
|
223
|
+
context: { identity: { traits: { emails: ['test@example.com'] } } },
|
|
224
|
+
}, { delaySeconds: 900 });
|
|
225
|
+
expect(result).toBe(true);
|
|
226
|
+
expect(mockSendTrackingEventSqsMessage).toHaveBeenCalledWith(expect.objectContaining({ id: 'evt_1' }), 900);
|
|
175
227
|
});
|
|
176
228
|
});
|
|
177
229
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collect-queue-tracking-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/events/collect-queue-tracking-service.spec.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"collect-queue-tracking-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/events/collect-queue-tracking-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,14 +22,14 @@ const createTrackingEvent = () => ({
|
|
|
22
22
|
type: at_tracking_event_types_1.INTERNAL_EVENT_TYPE.TRACKING,
|
|
23
23
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.ACCOUNT_CREATED,
|
|
24
24
|
pixelId: 'pixel-1',
|
|
25
|
-
version: events_1.
|
|
25
|
+
version: events_1.TRACKING_EVENT_VERSION,
|
|
26
26
|
source: 'lifecycle',
|
|
27
27
|
collectedAt: '2026-07-14T00:00:00.000Z',
|
|
28
28
|
collectedAtEpoch: 1,
|
|
29
29
|
sentAtEpoch: 1,
|
|
30
30
|
data: { plan: 'pro' },
|
|
31
31
|
});
|
|
32
|
-
describe('
|
|
32
|
+
describe('buildTrackingEvent', () => {
|
|
33
33
|
beforeEach(() => {
|
|
34
34
|
jest.spyOn(Date, 'now').mockReturnValue(1700000000000);
|
|
35
35
|
});
|
|
@@ -45,7 +45,7 @@ describe('buildCollectQueueTrackingEvent', () => {
|
|
|
45
45
|
},
|
|
46
46
|
},
|
|
47
47
|
};
|
|
48
|
-
const event = (0, events_1.
|
|
48
|
+
const event = (0, events_1.buildTrackingEvent)({
|
|
49
49
|
eventId: 'evt_1',
|
|
50
50
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.ACCOUNT_CREATED,
|
|
51
51
|
pixelId: 'pixel-1',
|
|
@@ -58,7 +58,7 @@ describe('buildCollectQueueTrackingEvent', () => {
|
|
|
58
58
|
type: at_tracking_event_types_1.INTERNAL_EVENT_TYPE.TRACKING,
|
|
59
59
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.ACCOUNT_CREATED,
|
|
60
60
|
pixelId: 'pixel-1',
|
|
61
|
-
version: events_1.
|
|
61
|
+
version: events_1.TRACKING_EVENT_VERSION,
|
|
62
62
|
source: 'lifecycle',
|
|
63
63
|
collectedAtEpoch: 1700000000000,
|
|
64
64
|
sentAtEpoch: 1700000000000,
|
|
@@ -68,7 +68,7 @@ describe('buildCollectQueueTrackingEvent', () => {
|
|
|
68
68
|
expect(event.collectedAt).toEqual(expect.any(String));
|
|
69
69
|
});
|
|
70
70
|
it('builds envelope without context when not provided', () => {
|
|
71
|
-
const event = (0, events_1.
|
|
71
|
+
const event = (0, events_1.buildTrackingEvent)({
|
|
72
72
|
eventId: 'evt_2',
|
|
73
73
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.ACCOUNT_CREATED,
|
|
74
74
|
pixelId: 'pixel-1',
|
|
@@ -80,7 +80,7 @@ describe('buildCollectQueueTrackingEvent', () => {
|
|
|
80
80
|
expect(event.data).toEqual({ plan: 'pro' });
|
|
81
81
|
});
|
|
82
82
|
it('builds envelope with identity only (no properties)', () => {
|
|
83
|
-
const event = (0, events_1.
|
|
83
|
+
const event = (0, events_1.buildTrackingEvent)({
|
|
84
84
|
eventId: 'evt_3',
|
|
85
85
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.ACCOUNT_CREATED,
|
|
86
86
|
pixelId: 'pixel-1',
|
|
@@ -94,7 +94,7 @@ describe('buildCollectQueueTrackingEvent', () => {
|
|
|
94
94
|
expect(event.context?.properties).toBeUndefined();
|
|
95
95
|
});
|
|
96
96
|
it('builds envelope with context properties only (no identity)', () => {
|
|
97
|
-
const event = (0, events_1.
|
|
97
|
+
const event = (0, events_1.buildTrackingEvent)({
|
|
98
98
|
eventId: 'evt_4',
|
|
99
99
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.ACCOUNT_CREATED,
|
|
100
100
|
pixelId: 'pixel-1',
|
|
@@ -120,7 +120,7 @@ describe('buildCollectQueueTrackingEvent', () => {
|
|
|
120
120
|
sessionId: 'sess_456',
|
|
121
121
|
},
|
|
122
122
|
};
|
|
123
|
-
const event = (0, events_1.
|
|
123
|
+
const event = (0, events_1.buildTrackingEvent)({
|
|
124
124
|
eventId: 'evt_5',
|
|
125
125
|
name: at_tracking_event_types_1.TRACKING_EVENT_NAME.SUBSCRIPTION_CREATED,
|
|
126
126
|
pixelId: 'pixel-1',
|
|
@@ -131,9 +131,7 @@ describe('buildCollectQueueTrackingEvent', () => {
|
|
|
131
131
|
expect(event.context).toEqual(context);
|
|
132
132
|
expect(event.name).toBe(at_tracking_event_types_1.TRACKING_EVENT_NAME.SUBSCRIPTION_CREATED);
|
|
133
133
|
});
|
|
134
|
-
it('exports
|
|
135
|
-
expect(events_1.buildCollectQueueTrackingEvent).toBe(events_1.buildTrackingEvent);
|
|
136
|
-
expect(events_1.COLLECT_QUEUE_TRACKING_EVENT_VERSION).toBe(events_1.TRACKING_EVENT_VERSION);
|
|
134
|
+
it('exports correct version constant', () => {
|
|
137
135
|
expect(events_1.TRACKING_EVENT_VERSION).toBe('1.1.6');
|
|
138
136
|
});
|
|
139
137
|
});
|
|
@@ -150,7 +148,29 @@ describe('TrackingEventSqsService', () => {
|
|
|
150
148
|
expect(mockSendMessage).toHaveBeenCalledWith({
|
|
151
149
|
pixelId: 'pixel-1',
|
|
152
150
|
trackingEvent,
|
|
153
|
-
});
|
|
151
|
+
}, 0);
|
|
152
|
+
});
|
|
153
|
+
it('passes delaySeconds to SQS sendMessage', async () => {
|
|
154
|
+
mockSendMessage.mockResolvedValue(undefined);
|
|
155
|
+
const service = new events_1.TrackingEventSqsService('us-east-2', '123456789012', 'collect-queue');
|
|
156
|
+
const trackingEvent = createTrackingEvent();
|
|
157
|
+
const result = await service.sendTrackingEventSqsMessage(trackingEvent, 600);
|
|
158
|
+
expect(result).toBe(true);
|
|
159
|
+
expect(mockSendMessage).toHaveBeenCalledWith({
|
|
160
|
+
pixelId: 'pixel-1',
|
|
161
|
+
trackingEvent,
|
|
162
|
+
}, 600);
|
|
163
|
+
});
|
|
164
|
+
it('passes 900 second delay to SQS sendMessage', async () => {
|
|
165
|
+
mockSendMessage.mockResolvedValue(undefined);
|
|
166
|
+
const service = new events_1.TrackingEventSqsService('us-east-2', '123456789012', 'collect-queue');
|
|
167
|
+
const trackingEvent = createTrackingEvent();
|
|
168
|
+
const result = await service.sendTrackingEventSqsMessage(trackingEvent, 900);
|
|
169
|
+
expect(result).toBe(true);
|
|
170
|
+
expect(mockSendMessage).toHaveBeenCalledWith({
|
|
171
|
+
pixelId: 'pixel-1',
|
|
172
|
+
trackingEvent,
|
|
173
|
+
}, 900);
|
|
154
174
|
});
|
|
155
175
|
it('returns false and logs pixelId and errorMessage when SQS send fails', async () => {
|
|
156
176
|
const sendError = new Error('SQS unavailable');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-event-sqs-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/events/tracking-event-sqs-service.spec.ts"],"names":[],"mappings":";;AAGA,iFAK6C;AAC7C,oEAAyD;AAEzD,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAElC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;IACnC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,WAAW,EAAE,eAAe;KAC7B,CAAC,CAAC;CACJ,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,EAAE;QACN,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;QAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE;KACjB;CACF,CAAC,CAAC,CAAC;AAEJ,
|
|
1
|
+
{"version":3,"file":"tracking-event-sqs-service.spec.js","sourceRoot":"","sources":["../../../../../src/__tests__/services/events/tracking-event-sqs-service.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const graphqlShopifyQLQuery = "\nquery ExecuteShopifyQL($query: String!) {\n shopifyqlQuery(query: $query) {\n tableData {\n columns {\n name\n dataType\n }\n rowData\n rows\n }\n parseErrors\n }\n}\n";
|
|
2
|
+
export interface ShopifyQLQueryResult {
|
|
3
|
+
shopifyqlQuery?: {
|
|
4
|
+
tableData?: {
|
|
5
|
+
columns?: Array<{
|
|
6
|
+
name: string;
|
|
7
|
+
dataType: string;
|
|
8
|
+
}>;
|
|
9
|
+
rowData?: string[][];
|
|
10
|
+
rows?: Array<Record<string, string>>;
|
|
11
|
+
};
|
|
12
|
+
parseErrors?: string[];
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export declare const SHOPIFYQL_QUERIES: {
|
|
16
|
+
SALES_MONTHLY: (monthsBack: number) => string;
|
|
17
|
+
SESSIONS_MONTHLY: (monthsBack: number) => string;
|
|
18
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SHOPIFYQL_QUERIES = exports.graphqlShopifyQLQuery = void 0;
|
|
4
|
+
exports.graphqlShopifyQLQuery = `
|
|
5
|
+
query ExecuteShopifyQL($query: String!) {
|
|
6
|
+
shopifyqlQuery(query: $query) {
|
|
7
|
+
tableData {
|
|
8
|
+
columns {
|
|
9
|
+
name
|
|
10
|
+
dataType
|
|
11
|
+
}
|
|
12
|
+
rowData
|
|
13
|
+
rows
|
|
14
|
+
}
|
|
15
|
+
parseErrors
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
exports.SHOPIFYQL_QUERIES = {
|
|
20
|
+
SALES_MONTHLY: (monthsBack) => `FROM sales SHOW total_sales, orders, average_order_value GROUP BY month SINCE -${monthsBack}m ORDER BY month ASC`,
|
|
21
|
+
SESSIONS_MONTHLY: (monthsBack) => `FROM sessions SHOW sessions, online_store_visitors WHERE human_or_bot_session = 'human' GROUP BY month SINCE -${monthsBack}m ORDER BY month ASC`,
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=graphql-analytics-queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql-analytics-queries.js","sourceRoot":"","sources":["../../../../../src/clients/third-party/shopify/graphql-analytics-queries.ts"],"names":[],"mappings":";;;AAYa,QAAA,qBAAqB,GAAG;;;;;;;;;;;;;;CAcpC,CAAC;AAsBW,QAAA,iBAAiB,GAAG;IAK/B,aAAa,EAAE,CAAC,UAAkB,EAAE,EAAE,CACpC,kFAAkF,UAAU,sBAAsB;IAMpH,gBAAgB,EAAE,CAAC,UAAkB,EAAE,EAAE,CACvC,iHAAiH,UAAU,sBAAsB;CACpJ,CAAC"}
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { AdminApiClient, ClientResponse } from '@shopify/admin-api-client';
|
|
2
2
|
import type { GetProductQuery } from '../../../types/shopify-graphql-types/admin.generated';
|
|
3
|
+
declare enum SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS {
|
|
4
|
+
SUCCESS = "success",
|
|
5
|
+
PARTIAL = "partial",
|
|
6
|
+
FAILED = "failed"
|
|
7
|
+
}
|
|
8
|
+
interface ShopifyMonthlyMetrics {
|
|
9
|
+
month: string;
|
|
10
|
+
totalSales?: number;
|
|
11
|
+
orderCount?: number;
|
|
12
|
+
averageOrderValue?: number;
|
|
13
|
+
visitorCount?: number;
|
|
14
|
+
sessionCount?: number;
|
|
15
|
+
}
|
|
16
|
+
interface ShopifyHistoricalMetrics {
|
|
17
|
+
fetchedAt: string;
|
|
18
|
+
currency?: string;
|
|
19
|
+
months: ShopifyMonthlyMetrics[];
|
|
20
|
+
fetchStatus?: SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS;
|
|
21
|
+
}
|
|
3
22
|
export declare class ShopifyGraphQLClient {
|
|
4
23
|
static _shopify_api_version: string;
|
|
5
24
|
static getClient: (shop: string, accessToken: string) => AdminApiClient;
|
|
@@ -7,4 +26,17 @@ export declare class ShopifyGraphQLClient {
|
|
|
7
26
|
private static executePagedProductQuery;
|
|
8
27
|
private static executeProductQuery;
|
|
9
28
|
static getOrderLineItemsSellingPlan: (shop: string, accessToken: string, orderId: string) => Promise<Map<string, string> | null>;
|
|
29
|
+
static safeGetHistoricalMetrics: (shop: string, accessToken: string, monthsBack?: number) => Promise<ShopifyHistoricalMetrics>;
|
|
30
|
+
private static executeSafeShopifyQLQuery;
|
|
31
|
+
private static parseSalesMetrics;
|
|
32
|
+
private static parseSessionsMetrics;
|
|
33
|
+
private static extractRowData;
|
|
34
|
+
private static mergeMonthlyMetrics;
|
|
35
|
+
private static determineFetchStatus;
|
|
36
|
+
private static extractCurrency;
|
|
37
|
+
private static formatMonthKey;
|
|
38
|
+
private static safeParseFloat;
|
|
39
|
+
private static safeParseInt;
|
|
40
|
+
private static buildEmptyMetrics;
|
|
10
41
|
}
|
|
42
|
+
export {};
|
|
@@ -5,6 +5,13 @@ const admin_api_client_1 = require("@shopify/admin-api-client");
|
|
|
5
5
|
const helpers_1 = require("../../../helpers");
|
|
6
6
|
const graphql_product_queries_1 = require("./graphql-product-queries");
|
|
7
7
|
const graphql_order_queries_1 = require("./graphql-order-queries");
|
|
8
|
+
const graphql_analytics_queries_1 = require("./graphql-analytics-queries");
|
|
9
|
+
var SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS;
|
|
10
|
+
(function (SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS) {
|
|
11
|
+
SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS["SUCCESS"] = "success";
|
|
12
|
+
SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS["PARTIAL"] = "partial";
|
|
13
|
+
SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS["FAILED"] = "failed";
|
|
14
|
+
})(SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS || (SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS = {}));
|
|
8
15
|
class ShopifyGraphQLClient {
|
|
9
16
|
static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
|
|
10
17
|
static getClient = (shop, accessToken) => {
|
|
@@ -157,6 +164,190 @@ class ShopifyGraphQLClient {
|
|
|
157
164
|
return null;
|
|
158
165
|
}
|
|
159
166
|
};
|
|
167
|
+
static safeGetHistoricalMetrics = async (shop, accessToken, monthsBack = 12) => {
|
|
168
|
+
const logMeta = { shop, monthsBack };
|
|
169
|
+
try {
|
|
170
|
+
if (!shop || !accessToken) {
|
|
171
|
+
helpers_1.Logger.warn('safeGetHistoricalMetrics: missing shop or accessToken', logMeta);
|
|
172
|
+
return this.buildEmptyMetrics();
|
|
173
|
+
}
|
|
174
|
+
const client = this.getClient(shop, accessToken);
|
|
175
|
+
const [salesResult, sessionsResult] = await Promise.all([
|
|
176
|
+
this.executeSafeShopifyQLQuery(client, graphql_analytics_queries_1.SHOPIFYQL_QUERIES.SALES_MONTHLY(monthsBack), shop, 'sales'),
|
|
177
|
+
this.executeSafeShopifyQLQuery(client, graphql_analytics_queries_1.SHOPIFYQL_QUERIES.SESSIONS_MONTHLY(monthsBack), shop, 'sessions'),
|
|
178
|
+
]);
|
|
179
|
+
const salesByMonth = this.parseSalesMetrics(salesResult);
|
|
180
|
+
const sessionsByMonth = this.parseSessionsMetrics(sessionsResult);
|
|
181
|
+
const months = this.mergeMonthlyMetrics(salesByMonth, sessionsByMonth);
|
|
182
|
+
const fetchStatus = this.determineFetchStatus(salesResult, sessionsResult);
|
|
183
|
+
const currency = this.extractCurrency();
|
|
184
|
+
const metrics = {
|
|
185
|
+
fetchedAt: new Date().toISOString(),
|
|
186
|
+
currency,
|
|
187
|
+
months,
|
|
188
|
+
fetchStatus,
|
|
189
|
+
};
|
|
190
|
+
helpers_1.Logger.info('safeGetHistoricalMetrics: completed', {
|
|
191
|
+
...logMeta,
|
|
192
|
+
fetchStatus,
|
|
193
|
+
monthsCount: months.length,
|
|
194
|
+
hasSalesData: salesByMonth.size > 0,
|
|
195
|
+
hasSessionsData: sessionsByMonth.size > 0,
|
|
196
|
+
});
|
|
197
|
+
return metrics;
|
|
198
|
+
}
|
|
199
|
+
catch (error) {
|
|
200
|
+
helpers_1.Logger.warn('safeGetHistoricalMetrics: failed, returning empty metrics', {
|
|
201
|
+
error,
|
|
202
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
203
|
+
...logMeta,
|
|
204
|
+
});
|
|
205
|
+
return this.buildEmptyMetrics();
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
static executeSafeShopifyQLQuery = async (client, query, shop, queryType) => {
|
|
209
|
+
try {
|
|
210
|
+
const result = await client.request(graphql_analytics_queries_1.graphqlShopifyQLQuery, {
|
|
211
|
+
variables: { query },
|
|
212
|
+
});
|
|
213
|
+
if (result?.errors) {
|
|
214
|
+
helpers_1.Logger.warn('executeSafeShopifyQLQuery: GraphQL errors', {
|
|
215
|
+
errors: result.errors,
|
|
216
|
+
shop,
|
|
217
|
+
queryType,
|
|
218
|
+
});
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
const parseErrors = result?.data?.shopifyqlQuery?.parseErrors;
|
|
222
|
+
if (parseErrors && parseErrors.length > 0) {
|
|
223
|
+
helpers_1.Logger.warn('executeSafeShopifyQLQuery: ShopifyQL parse errors', {
|
|
224
|
+
parseErrors,
|
|
225
|
+
shop,
|
|
226
|
+
queryType,
|
|
227
|
+
});
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
return result?.data ?? null;
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
helpers_1.Logger.warn('executeSafeShopifyQLQuery: failed', {
|
|
234
|
+
error,
|
|
235
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
236
|
+
shop,
|
|
237
|
+
queryType,
|
|
238
|
+
});
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
static parseSalesMetrics = (result) => {
|
|
243
|
+
const metricsMap = new Map();
|
|
244
|
+
const tableData = result?.shopifyqlQuery?.tableData;
|
|
245
|
+
if (!tableData)
|
|
246
|
+
return metricsMap;
|
|
247
|
+
const columns = tableData.columns ?? [];
|
|
248
|
+
const rows = tableData.rowData ?? tableData.rows ?? [];
|
|
249
|
+
const monthIdx = columns.findIndex((c) => c.name === 'month');
|
|
250
|
+
const totalSalesIdx = columns.findIndex((c) => c.name === 'total_sales');
|
|
251
|
+
const ordersIdx = columns.findIndex((c) => c.name === 'orders');
|
|
252
|
+
const aovIdx = columns.findIndex((c) => c.name === 'average_order_value');
|
|
253
|
+
for (const row of rows) {
|
|
254
|
+
const rowData = this.extractRowData(row, columns);
|
|
255
|
+
const month = this.formatMonthKey(rowData[monthIdx]);
|
|
256
|
+
if (!month)
|
|
257
|
+
continue;
|
|
258
|
+
metricsMap.set(month, {
|
|
259
|
+
month,
|
|
260
|
+
totalSales: this.safeParseFloat(rowData[totalSalesIdx]),
|
|
261
|
+
orderCount: this.safeParseInt(rowData[ordersIdx]),
|
|
262
|
+
averageOrderValue: this.safeParseFloat(rowData[aovIdx]),
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
return metricsMap;
|
|
266
|
+
};
|
|
267
|
+
static parseSessionsMetrics = (result) => {
|
|
268
|
+
const metricsMap = new Map();
|
|
269
|
+
const tableData = result?.shopifyqlQuery?.tableData;
|
|
270
|
+
if (!tableData)
|
|
271
|
+
return metricsMap;
|
|
272
|
+
const columns = tableData.columns ?? [];
|
|
273
|
+
const rows = tableData.rowData ?? tableData.rows ?? [];
|
|
274
|
+
const monthIdx = columns.findIndex((c) => c.name === 'month');
|
|
275
|
+
const sessionsIdx = columns.findIndex((c) => c.name === 'sessions');
|
|
276
|
+
const visitorsIdx = columns.findIndex((c) => c.name === 'online_store_visitors');
|
|
277
|
+
for (const row of rows) {
|
|
278
|
+
const rowData = this.extractRowData(row, columns);
|
|
279
|
+
const month = this.formatMonthKey(rowData[monthIdx]);
|
|
280
|
+
if (!month)
|
|
281
|
+
continue;
|
|
282
|
+
metricsMap.set(month, {
|
|
283
|
+
month,
|
|
284
|
+
sessionCount: this.safeParseInt(rowData[sessionsIdx]),
|
|
285
|
+
visitorCount: this.safeParseInt(rowData[visitorsIdx]),
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
return metricsMap;
|
|
289
|
+
};
|
|
290
|
+
static extractRowData = (row, columns) => {
|
|
291
|
+
if (Array.isArray(row)) {
|
|
292
|
+
return row;
|
|
293
|
+
}
|
|
294
|
+
return columns.map((col) => row[col.name] ?? '');
|
|
295
|
+
};
|
|
296
|
+
static mergeMonthlyMetrics = (salesByMonth, sessionsByMonth) => {
|
|
297
|
+
const allMonths = new Set([...salesByMonth.keys(), ...sessionsByMonth.keys()]);
|
|
298
|
+
return Array.from(allMonths)
|
|
299
|
+
.sort()
|
|
300
|
+
.map((month) => {
|
|
301
|
+
const sales = salesByMonth.get(month) ?? {};
|
|
302
|
+
const sessions = sessionsByMonth.get(month) ?? {};
|
|
303
|
+
return {
|
|
304
|
+
month,
|
|
305
|
+
totalSales: sales.totalSales,
|
|
306
|
+
orderCount: sales.orderCount,
|
|
307
|
+
averageOrderValue: sales.averageOrderValue,
|
|
308
|
+
sessionCount: sessions.sessionCount,
|
|
309
|
+
visitorCount: sessions.visitorCount,
|
|
310
|
+
};
|
|
311
|
+
});
|
|
312
|
+
};
|
|
313
|
+
static determineFetchStatus = (salesResult, sessionsResult) => {
|
|
314
|
+
const hasSales = !!salesResult?.shopifyqlQuery?.tableData;
|
|
315
|
+
const hasSessions = !!sessionsResult?.shopifyqlQuery?.tableData;
|
|
316
|
+
if (hasSales && hasSessions) {
|
|
317
|
+
return SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS.SUCCESS;
|
|
318
|
+
}
|
|
319
|
+
if (hasSales || hasSessions) {
|
|
320
|
+
return SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS.PARTIAL;
|
|
321
|
+
}
|
|
322
|
+
return SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS.FAILED;
|
|
323
|
+
};
|
|
324
|
+
static extractCurrency = () => {
|
|
325
|
+
return undefined;
|
|
326
|
+
};
|
|
327
|
+
static formatMonthKey = (value) => {
|
|
328
|
+
if (!value)
|
|
329
|
+
return undefined;
|
|
330
|
+
const match = value.match(/^(\d{4}-\d{2})/);
|
|
331
|
+
return match?.[1];
|
|
332
|
+
};
|
|
333
|
+
static safeParseFloat = (value) => {
|
|
334
|
+
if (!value)
|
|
335
|
+
return undefined;
|
|
336
|
+
const parsed = parseFloat(value);
|
|
337
|
+
return Number.isNaN(parsed) ? undefined : parsed;
|
|
338
|
+
};
|
|
339
|
+
static safeParseInt = (value) => {
|
|
340
|
+
if (!value)
|
|
341
|
+
return undefined;
|
|
342
|
+
const parsed = parseInt(value, 10);
|
|
343
|
+
return Number.isNaN(parsed) ? undefined : parsed;
|
|
344
|
+
};
|
|
345
|
+
static buildEmptyMetrics = () => ({
|
|
346
|
+
fetchedAt: new Date().toISOString(),
|
|
347
|
+
currency: undefined,
|
|
348
|
+
months: [],
|
|
349
|
+
fetchStatus: SHOPIFY_HISTORICAL_METRICS_FETCH_STATUS.FAILED,
|
|
350
|
+
});
|
|
160
351
|
}
|
|
161
352
|
exports.ShopifyGraphQLClient = ShopifyGraphQLClient;
|
|
162
353
|
//# sourceMappingURL=shopify-graphql-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shopify-graphql-client.js","sourceRoot":"","sources":["../../../../../src/clients/third-party/shopify/shopify-graphql-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shopify-graphql-client.js","sourceRoot":"","sources":["../../../../../src/clients/third-party/shopify/shopify-graphql-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,3 @@ export interface BuildTrackingEventParams<TData extends TrackingEventData = Trac
|
|
|
9
9
|
context?: EventContext;
|
|
10
10
|
}
|
|
11
11
|
export declare function buildTrackingEvent<TData extends TrackingEventData = TrackingEventData>(params: BuildTrackingEventParams<TData>): TrackingEvent;
|
|
12
|
-
export { buildTrackingEvent as buildCollectQueueTrackingEvent };
|
|
13
|
-
export type { BuildTrackingEventParams as BuildCollectQueueTrackingEventParams };
|
|
14
|
-
export { TRACKING_EVENT_VERSION as COLLECT_QUEUE_TRACKING_EVENT_VERSION };
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.buildTrackingEvent = exports.TRACKING_EVENT_VERSION = void 0;
|
|
4
4
|
const at_tracking_event_types_1 = require("@adtrackify/at-tracking-event-types");
|
|
5
5
|
const index_js_1 = require("../../libs/index.js");
|
|
6
6
|
exports.TRACKING_EVENT_VERSION = '1.1.6';
|
|
7
|
-
exports.COLLECT_QUEUE_TRACKING_EVENT_VERSION = exports.TRACKING_EVENT_VERSION;
|
|
8
7
|
function buildTrackingEvent(params) {
|
|
9
8
|
const now = Date.now();
|
|
10
9
|
return {
|
|
@@ -22,5 +21,4 @@ function buildTrackingEvent(params) {
|
|
|
22
21
|
};
|
|
23
22
|
}
|
|
24
23
|
exports.buildTrackingEvent = buildTrackingEvent;
|
|
25
|
-
exports.buildCollectQueueTrackingEvent = buildTrackingEvent;
|
|
26
24
|
//# sourceMappingURL=build-collect-queue-tracking-event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-collect-queue-tracking-event.js","sourceRoot":"","sources":["../../../../src/services/events/build-collect-queue-tracking-event.ts"],"names":[],"mappings":";;;AAAA,iFAM6C;AAC7C,kDAA0D;AAE7C,QAAA,sBAAsB,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"build-collect-queue-tracking-event.js","sourceRoot":"","sources":["../../../../src/services/events/build-collect-queue-tracking-event.ts"],"names":[],"mappings":";;;AAAA,iFAM6C;AAC7C,kDAA0D;AAE7C,QAAA,sBAAsB,GAAG,OAAO,CAAC;AAe9C,SAAgB,kBAAkB,CAEhC,MAAuC;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,OAAO;QAClB,IAAI,EAAE,6CAAmB,CAAC,QAAQ;QAClC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,8BAAsB;QAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,IAAA,8BAAmB,GAAE;QAClC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,GAAG;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC;AAjBD,gDAiBC"}
|