@vrplatform/log 2.0.24 → 2.0.26

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.
@@ -86,7 +86,7 @@ declare module 'intercom-client' {
86
86
  }
87
87
  }
88
88
  import { Analytics } from '@june-so/analytics-node';
89
- import { IntercomClient } from 'intercom-client';
89
+ import { Intercom } from 'intercom-client';
90
90
  import { PostHog } from 'posthog-node';
91
91
  import { type LogBindings, type WorkerLog } from '../log';
92
92
  import type { GroupProps, IdentifyProps, TrackProps, TrackingEvent } from './types';
@@ -113,6 +113,6 @@ export declare const useTracking: ({ dataset, env, name }: UseTracking, isDev?:
113
113
  shutdown: () => Promise<any>;
114
114
  log: WorkerLog;
115
115
  june?: Analytics;
116
- intercom?: IntercomClient;
116
+ intercom?: Intercom;
117
117
  posthog?: PostHog;
118
118
  };
@@ -18,7 +18,6 @@ exports.useTracking = void 0;
18
18
  const graphql_1 = require("@finalytic/graphql");
19
19
  const analytics_node_1 = require("@june-so/analytics-node");
20
20
  const intercom_client_1 = require("intercom-client");
21
- const Fetcher_1 = require("intercom-client/core/fetcher/Fetcher");
22
21
  const posthog_node_1 = require("posthog-node");
23
22
  const log_1 = require("../log");
24
23
  const utils_1 = require("../utils");
@@ -34,12 +33,13 @@ const useTracking = ({ dataset, env, name }, isDev) => {
34
33
  : undefined;
35
34
  const log = (0, log_1.useLog)({ name, dataset, env });
36
35
  const intercom = env.INTERCOM_TOKEN
37
- ? new intercom_client_1.IntercomClient({
38
- token: env.INTERCOM_TOKEN,
39
- fetcher: (args) => (0, Fetcher_1.fetcher)({
40
- ...args,
41
- headers: { ...args.headers, accept: 'application/json' },
42
- }),
36
+ ? new intercom_client_1.Intercom({
37
+ accessToken: env.INTERCOM_TOKEN,
38
+ // fetcher: (args) =>
39
+ // fetcher({
40
+ // ...args,
41
+ // headers: { ...args.headers, accept: 'application/json' },
42
+ // }),
43
43
  })
44
44
  : undefined;
45
45
  const june = env.JUNESO_TOKEN ? new analytics_node_1.Analytics(env.JUNESO_TOKEN) : undefined;
@@ -53,19 +53,16 @@ const useTracking = ({ dataset, env, name }, isDev) => {
53
53
  track: async ({ userId, anonymousId, groupId, event, packageName, properties, timestamp = new Date(), }) => {
54
54
  if (isDev || (0, utils_1.isTest)(userId || anonymousId || '', groupId))
55
55
  return;
56
- await client?.mutate((q) => {
57
- const e = q.insert_tracking_event_one({
58
- object: {
59
- name: event,
60
- tenantId: groupId,
61
- userId: userId,
62
- props: properties,
63
- createdAt: timestamp,
64
- packageName,
65
- },
66
- });
67
- return { id: e.id };
68
- });
56
+ await client?.mutate((q) => q.insert_tracking_event_one({
57
+ object: {
58
+ name: event,
59
+ tenantId: groupId,
60
+ userId: userId,
61
+ props: properties,
62
+ createdAt: timestamp,
63
+ packageName,
64
+ },
65
+ }).id);
69
66
  if (anonymousId) {
70
67
  posthog?.capture({
71
68
  distinctId: anonymousId,
@@ -109,11 +106,13 @@ const useTracking = ({ dataset, env, name }, isDev) => {
109
106
  console.error(err);
110
107
  });
111
108
  try {
112
- await intercom?.events.create({
113
- user_id: userId,
114
- event_name: event,
115
- metadata: (0, convertValuesToString_1.convertValuesToString)(properties),
116
- created_at: Math.floor(timestamp.getTime() / 1000),
109
+ await intercom?.dataEvents.create({
110
+ body: {
111
+ user_id: userId,
112
+ event_name: event,
113
+ metadata: (0, convertValuesToString_1.convertValuesToString)(properties),
114
+ created_at: Math.floor(timestamp.getTime() / 1000),
115
+ },
117
116
  });
118
117
  }
119
118
  catch (e) {
@@ -157,14 +156,14 @@ const useTracking = ({ dataset, env, name }, isDev) => {
157
156
  const intercomUser = (await intercom?.contacts.search({
158
157
  query: {
159
158
  field: 'external_id',
160
- operator: intercom_client_1.Intercom.SingleFilterSearchRequestOperator.Equals,
159
+ operator: '=',
161
160
  value: userId,
162
161
  },
163
- }))?.data.at(0);
162
+ }))?.data?.at(0);
164
163
  if (intercomUser?.id)
165
164
  await intercom?.contacts.update(intercomUser?.id, data);
166
165
  else
167
- await intercom?.contacts.create(data);
166
+ await intercom?.contacts.create({ body: data });
168
167
  }
169
168
  catch (e) {
170
169
  console.error(e);
@@ -179,6 +178,35 @@ const useTracking = ({ dataset, env, name }, isDev) => {
179
178
  let intercomCompany;
180
179
  try {
181
180
  const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
181
+ const partner = traits?.partner || traits?.accountingPartner;
182
+ const billingPartner = traits?.billingPartner ||
183
+ traits?.partner ||
184
+ traits?.accountingPartner;
185
+ const custom_attributes = { teamId: groupId };
186
+ if (traits?.name)
187
+ custom_attributes.team = traits?.name;
188
+ if (traits?.type)
189
+ custom_attributes.type = traits?.type;
190
+ if (traits?.status)
191
+ custom_attributes.status = traits?.status;
192
+ if (traits?.pms)
193
+ custom_attributes.pms = traits?.pms;
194
+ if (traits?.accountingSoftware)
195
+ custom_attributes.accountingSoftware = traits?.accountingSoftware;
196
+ if (traits?.activeListings)
197
+ custom_attributes.activeListings = `${traits?.activeListings}`;
198
+ if (traits?.paymentMethodType)
199
+ custom_attributes.paymentMethodType = traits?.paymentMethodType;
200
+ if (partner)
201
+ custom_attributes.partner = partner;
202
+ if (cid)
203
+ custom_attributes.billingPortalUrl = `https://billing.vrplatform.app/portal/${cid}`;
204
+ if (traits?.subscriptionStatus)
205
+ custom_attributes.billingStatus = traits?.subscriptionStatus;
206
+ if (billingPartner)
207
+ custom_attributes.billingPartner = billingPartner;
208
+ if (traits.trialUntil)
209
+ custom_attributes.trialUntil = traits.trialUntil;
182
210
  intercomCompany = await intercom?.companies.create({
183
211
  name: traits?.name,
184
212
  company_id: groupId,
@@ -187,25 +215,8 @@ const useTracking = ({ dataset, env, name }, isDev) => {
187
215
  ? Math.floor(new Date(traits.createdAt).getTime() / 1000)
188
216
  : undefined,
189
217
  monthly_spend: traits?.mrr,
190
- custom_attributes: {
191
- teamId: groupId,
192
- team: traits?.name,
193
- type: traits?.type,
194
- status: traits?.status,
195
- pms: traits?.pms,
196
- accountingSoftware: traits?.accountingSoftware,
197
- activeListings: traits?.activeListings,
198
- paymentMethodType: traits?.paymentMethodType,
199
- partnerName: traits?.partner || traits?.accountingPartner,
200
- billingPortalUrl: cid
201
- ? `https://billing.vrplatform.app/portal/${cid}`
202
- : undefined,
203
- billingStatus: traits?.subscriptionStatus,
204
- billingPartner: traits?.billingPartner ||
205
- traits?.partner ||
206
- traits?.accountingPartner,
207
- },
208
- });
218
+ custom_attributes,
219
+ }, {});
209
220
  }
210
221
  catch (e) {
211
222
  console.error(e);
@@ -232,13 +243,13 @@ const useTracking = ({ dataset, env, name }, isDev) => {
232
243
  const intercomUser = (await intercom?.contacts.search({
233
244
  query: {
234
245
  field: 'external_id',
235
- operator: intercom_client_1.Intercom.SingleFilterSearchRequestOperator.Equals,
246
+ operator: '=',
236
247
  value: userId,
237
248
  },
238
- }))?.data.at(0);
249
+ }))?.data?.at(0);
239
250
  if (intercomUser?.id && intercomCompany?.id)
240
- intercom?.companies.attachContact(intercomUser?.id, {
241
- id: intercomCompany?.id,
251
+ intercom?.contacts.companies.create(intercomUser?.id, {
252
+ company_id: intercomCompany?.id,
242
253
  });
243
254
  }
244
255
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export type GroupProps = OptionalUser<{
49
49
  mrr?: number;
50
50
  plan?: string;
51
51
  paymentMethodType?: string;
52
+ trialUntil?: string;
52
53
  [key: string]: string | number | boolean | null | undefined;
53
54
  };
54
55
  timestamp?: Date;
@@ -137,7 +138,6 @@ export type TenantType = 'admin' | 'partner' | 'propertyManager';
137
138
  export type TenantStatus = 'active' | 'inactive';
138
139
  export type SubscriptionStatus = 'active' | 'cancelled' | 'draft' | 'errored' | 'paused' | 'pending' | 'voided';
139
140
  export type PaymentMethodType = 'card' | 'direct_debit_sepa' | 'direct_debit_ach' | 'direct_debit_bacs';
140
- export type WebhookEventType = 'customer.created' | 'customer.updated' | 'subscription.activated' | 'subscription.cancelled' | 'subscription.created' | 'subscription.errored' | 'subscription.paused' | 'subscription.voided' | 'subscription.charged' | 'payment_method.created' | 'payment_method.errored' | 'payment_method.deleted';
141
141
  type AccountInvitationAcceptedProps = Partial<{
142
142
  userId: string;
143
143
  userEmail: string;
@@ -257,7 +257,6 @@ type GlOwnerStatementPreviewOpenedProps = Partial<{
257
257
  userType: 'owner' | 'property_manager';
258
258
  }>;
259
259
  type HyperlineCustomerCreatedProps = Partial<{
260
- userId: string;
261
260
  tenantId: string;
262
261
  customerId: string;
263
262
  billingEmail: string;
@@ -268,7 +267,6 @@ type HyperlineCustomerCreatedProps = Partial<{
268
267
  webhookEventType: 'customer.created';
269
268
  }>;
270
269
  type HyperlineCustomerUpdatedProps = Partial<{
271
- userId: string;
272
270
  tenantId: string;
273
271
  customerId: string;
274
272
  billingEmail: string;
@@ -301,7 +299,6 @@ type HyperlineInvoiceSettledProps = Partial<{
301
299
  settledAt: string;
302
300
  }>;
303
301
  type HyperlinePaymentMethodCreatedProps = Partial<{
304
- userId: string;
305
302
  tenantId: string;
306
303
  subscriptionStartDate: string;
307
304
  paymentMethodType: PaymentMethodType;
@@ -311,7 +308,6 @@ type HyperlinePaymentMethodCreatedProps = Partial<{
311
308
  webhookEventType: 'payment_method.created';
312
309
  }>;
313
310
  type HyperlinePaymentMethodDeletedProps = Partial<{
314
- userId: string;
315
311
  tenantId: string;
316
312
  subscriptionStartDate: string;
317
313
  paymentMethodType: PaymentMethodType;
@@ -321,7 +317,6 @@ type HyperlinePaymentMethodDeletedProps = Partial<{
321
317
  webhookEventType: 'payment_method.deleted';
322
318
  }>;
323
319
  type HyperlinePaymentMethodErroredProps = Partial<{
324
- userId: string;
325
320
  tenantId: string;
326
321
  subscriptionStartDate: string;
327
322
  paymentMethodType: PaymentMethodType;
@@ -331,20 +326,20 @@ type HyperlinePaymentMethodErroredProps = Partial<{
331
326
  webhookEventType: 'payment_method.errored';
332
327
  }>;
333
328
  type HyperlineSubscriptionActivatedProps = Partial<{
334
- userId: string;
335
- tenantId: string;
329
+ subscriptionId: string;
336
330
  subscriptionStatus: SubscriptionStatus;
331
+ plan: string;
332
+ tenantId: string;
337
333
  webhookEventType: 'subscription.activated';
338
334
  }>;
339
335
  type HyperlineSubscriptionCancelledProps = Partial<{
340
- trialEndAt: string;
341
- plan: string;
342
336
  subscriptionId: string;
343
- subscriptionStartDate: string;
344
337
  subscriptionStatus: SubscriptionStatus;
338
+ plan: string;
339
+ trialEndAt: string;
340
+ subscriptionStartDate: string;
345
341
  paymentMethodType: string;
346
342
  customerId: string;
347
- userId: string;
348
343
  tenantId: string;
349
344
  webhookEventType: 'subscription.cancelled';
350
345
  }>;
@@ -366,21 +361,25 @@ type HyperlineSubscriptionCreatedProps = Partial<{
366
361
  customerId: string;
367
362
  }>;
368
363
  type HyperlineSubscriptionErroredProps = Partial<{
364
+ subscriptionId: string;
365
+ subscriptionStatus: SubscriptionStatus;
366
+ plan: string;
369
367
  userId: string;
370
368
  tenantId: string;
371
- subscriptionStatus: SubscriptionStatus;
372
369
  webhookEventType: 'subscription.errored';
373
370
  }>;
374
371
  type HyperlineSubscriptionPausedProps = Partial<{
375
- userId: string;
376
- tenantId: string;
372
+ subscriptionId: string;
377
373
  subscriptionStatus: SubscriptionStatus;
374
+ plan: string;
375
+ tenantId: string;
378
376
  webhookEventType: 'subscription.paused';
379
377
  }>;
380
378
  type HyperlineSubscriptionVoidedProps = Partial<{
381
- userId: string;
382
- tenantId: string;
379
+ subscriptionId: string;
383
380
  subscriptionStatus: SubscriptionStatus;
381
+ plan: string;
382
+ tenantId: string;
384
383
  webhookEventType: 'subscription.voided';
385
384
  }>;
386
385
  type HyperlineTrialEndedProps = Partial<{
@@ -394,7 +393,6 @@ type HyperlineTrialEndedProps = Partial<{
394
393
  }>;
395
394
  type HyperlineTrialStartedProps = Partial<{
396
395
  tenantId: string;
397
- userId: string;
398
396
  subscriptionStatus: SubscriptionStatus;
399
397
  trialUntil: string;
400
398
  webhookEventType: 'payment_method.created';
@@ -86,7 +86,7 @@ declare module 'intercom-client' {
86
86
  }
87
87
  }
88
88
  import { Analytics } from '@june-so/analytics-node';
89
- import { IntercomClient } from 'intercom-client';
89
+ import { Intercom } from 'intercom-client';
90
90
  import { PostHog } from 'posthog-node';
91
91
  import { type LogBindings, type WorkerLog } from '../log';
92
92
  import type { GroupProps, IdentifyProps, TrackProps, TrackingEvent } from './types';
@@ -113,6 +113,6 @@ export declare const useTracking: ({ dataset, env, name }: UseTracking, isDev?:
113
113
  shutdown: () => Promise<any>;
114
114
  log: WorkerLog;
115
115
  june?: Analytics;
116
- intercom?: IntercomClient;
116
+ intercom?: Intercom;
117
117
  posthog?: PostHog;
118
118
  };
@@ -1,7 +1,6 @@
1
1
  import { createClientV2 } from '@finalytic/graphql';
2
2
  import { Analytics } from '@june-so/analytics-node';
3
- import { Intercom, IntercomClient } from 'intercom-client';
4
- import { fetcher } from 'intercom-client/core/fetcher/Fetcher';
3
+ import { Intercom } from 'intercom-client';
5
4
  import { PostHog } from 'posthog-node';
6
5
  import { useLog } from '../log';
7
6
  import { convertKeysToSnakeCase, isTest } from '../utils';
@@ -17,12 +16,13 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
17
16
  : undefined;
18
17
  const log = useLog({ name, dataset, env });
19
18
  const intercom = env.INTERCOM_TOKEN
20
- ? new IntercomClient({
21
- token: env.INTERCOM_TOKEN,
22
- fetcher: (args) => fetcher({
23
- ...args,
24
- headers: { ...args.headers, accept: 'application/json' },
25
- }),
19
+ ? new Intercom({
20
+ accessToken: env.INTERCOM_TOKEN,
21
+ // fetcher: (args) =>
22
+ // fetcher({
23
+ // ...args,
24
+ // headers: { ...args.headers, accept: 'application/json' },
25
+ // }),
26
26
  })
27
27
  : undefined;
28
28
  const june = env.JUNESO_TOKEN ? new Analytics(env.JUNESO_TOKEN) : undefined;
@@ -36,19 +36,16 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
36
36
  track: async ({ userId, anonymousId, groupId, event, packageName, properties, timestamp = new Date(), }) => {
37
37
  if (isDev || isTest(userId || anonymousId || '', groupId))
38
38
  return;
39
- await client?.mutate((q) => {
40
- const e = q.insert_tracking_event_one({
41
- object: {
42
- name: event,
43
- tenantId: groupId,
44
- userId: userId,
45
- props: properties,
46
- createdAt: timestamp,
47
- packageName,
48
- },
49
- });
50
- return { id: e.id };
51
- });
39
+ await client?.mutate((q) => q.insert_tracking_event_one({
40
+ object: {
41
+ name: event,
42
+ tenantId: groupId,
43
+ userId: userId,
44
+ props: properties,
45
+ createdAt: timestamp,
46
+ packageName,
47
+ },
48
+ }).id);
52
49
  if (anonymousId) {
53
50
  posthog?.capture({
54
51
  distinctId: anonymousId,
@@ -92,11 +89,13 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
92
89
  console.error(err);
93
90
  });
94
91
  try {
95
- await intercom?.events.create({
96
- user_id: userId,
97
- event_name: event,
98
- metadata: convertValuesToString(properties),
99
- created_at: Math.floor(timestamp.getTime() / 1000),
92
+ await intercom?.dataEvents.create({
93
+ body: {
94
+ user_id: userId,
95
+ event_name: event,
96
+ metadata: convertValuesToString(properties),
97
+ created_at: Math.floor(timestamp.getTime() / 1000),
98
+ },
100
99
  });
101
100
  }
102
101
  catch (e) {
@@ -140,14 +139,14 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
140
139
  const intercomUser = (await intercom?.contacts.search({
141
140
  query: {
142
141
  field: 'external_id',
143
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
142
+ operator: '=',
144
143
  value: userId,
145
144
  },
146
- }))?.data.at(0);
145
+ }))?.data?.at(0);
147
146
  if (intercomUser?.id)
148
147
  await intercom?.contacts.update(intercomUser?.id, data);
149
148
  else
150
- await intercom?.contacts.create(data);
149
+ await intercom?.contacts.create({ body: data });
151
150
  }
152
151
  catch (e) {
153
152
  console.error(e);
@@ -162,6 +161,35 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
162
161
  let intercomCompany;
163
162
  try {
164
163
  const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
164
+ const partner = traits?.partner || traits?.accountingPartner;
165
+ const billingPartner = traits?.billingPartner ||
166
+ traits?.partner ||
167
+ traits?.accountingPartner;
168
+ const custom_attributes = { teamId: groupId };
169
+ if (traits?.name)
170
+ custom_attributes.team = traits?.name;
171
+ if (traits?.type)
172
+ custom_attributes.type = traits?.type;
173
+ if (traits?.status)
174
+ custom_attributes.status = traits?.status;
175
+ if (traits?.pms)
176
+ custom_attributes.pms = traits?.pms;
177
+ if (traits?.accountingSoftware)
178
+ custom_attributes.accountingSoftware = traits?.accountingSoftware;
179
+ if (traits?.activeListings)
180
+ custom_attributes.activeListings = `${traits?.activeListings}`;
181
+ if (traits?.paymentMethodType)
182
+ custom_attributes.paymentMethodType = traits?.paymentMethodType;
183
+ if (partner)
184
+ custom_attributes.partner = partner;
185
+ if (cid)
186
+ custom_attributes.billingPortalUrl = `https://billing.vrplatform.app/portal/${cid}`;
187
+ if (traits?.subscriptionStatus)
188
+ custom_attributes.billingStatus = traits?.subscriptionStatus;
189
+ if (billingPartner)
190
+ custom_attributes.billingPartner = billingPartner;
191
+ if (traits.trialUntil)
192
+ custom_attributes.trialUntil = traits.trialUntil;
165
193
  intercomCompany = await intercom?.companies.create({
166
194
  name: traits?.name,
167
195
  company_id: groupId,
@@ -170,25 +198,8 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
170
198
  ? Math.floor(new Date(traits.createdAt).getTime() / 1000)
171
199
  : undefined,
172
200
  monthly_spend: traits?.mrr,
173
- custom_attributes: {
174
- teamId: groupId,
175
- team: traits?.name,
176
- type: traits?.type,
177
- status: traits?.status,
178
- pms: traits?.pms,
179
- accountingSoftware: traits?.accountingSoftware,
180
- activeListings: traits?.activeListings,
181
- paymentMethodType: traits?.paymentMethodType,
182
- partnerName: traits?.partner || traits?.accountingPartner,
183
- billingPortalUrl: cid
184
- ? `https://billing.vrplatform.app/portal/${cid}`
185
- : undefined,
186
- billingStatus: traits?.subscriptionStatus,
187
- billingPartner: traits?.billingPartner ||
188
- traits?.partner ||
189
- traits?.accountingPartner,
190
- },
191
- });
201
+ custom_attributes,
202
+ }, {});
192
203
  }
193
204
  catch (e) {
194
205
  console.error(e);
@@ -215,13 +226,13 @@ export const useTracking = ({ dataset, env, name }, isDev) => {
215
226
  const intercomUser = (await intercom?.contacts.search({
216
227
  query: {
217
228
  field: 'external_id',
218
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
229
+ operator: '=',
219
230
  value: userId,
220
231
  },
221
- }))?.data.at(0);
232
+ }))?.data?.at(0);
222
233
  if (intercomUser?.id && intercomCompany?.id)
223
- intercom?.companies.attachContact(intercomUser?.id, {
224
- id: intercomCompany?.id,
234
+ intercom?.contacts.companies.create(intercomUser?.id, {
235
+ company_id: intercomCompany?.id,
225
236
  });
226
237
  }
227
238
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"src/","sources":["tracking/index.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export type GroupProps = OptionalUser<{
49
49
  mrr?: number;
50
50
  plan?: string;
51
51
  paymentMethodType?: string;
52
+ trialUntil?: string;
52
53
  [key: string]: string | number | boolean | null | undefined;
53
54
  };
54
55
  timestamp?: Date;
@@ -137,7 +138,6 @@ export type TenantType = 'admin' | 'partner' | 'propertyManager';
137
138
  export type TenantStatus = 'active' | 'inactive';
138
139
  export type SubscriptionStatus = 'active' | 'cancelled' | 'draft' | 'errored' | 'paused' | 'pending' | 'voided';
139
140
  export type PaymentMethodType = 'card' | 'direct_debit_sepa' | 'direct_debit_ach' | 'direct_debit_bacs';
140
- export type WebhookEventType = 'customer.created' | 'customer.updated' | 'subscription.activated' | 'subscription.cancelled' | 'subscription.created' | 'subscription.errored' | 'subscription.paused' | 'subscription.voided' | 'subscription.charged' | 'payment_method.created' | 'payment_method.errored' | 'payment_method.deleted';
141
141
  type AccountInvitationAcceptedProps = Partial<{
142
142
  userId: string;
143
143
  userEmail: string;
@@ -257,7 +257,6 @@ type GlOwnerStatementPreviewOpenedProps = Partial<{
257
257
  userType: 'owner' | 'property_manager';
258
258
  }>;
259
259
  type HyperlineCustomerCreatedProps = Partial<{
260
- userId: string;
261
260
  tenantId: string;
262
261
  customerId: string;
263
262
  billingEmail: string;
@@ -268,7 +267,6 @@ type HyperlineCustomerCreatedProps = Partial<{
268
267
  webhookEventType: 'customer.created';
269
268
  }>;
270
269
  type HyperlineCustomerUpdatedProps = Partial<{
271
- userId: string;
272
270
  tenantId: string;
273
271
  customerId: string;
274
272
  billingEmail: string;
@@ -301,7 +299,6 @@ type HyperlineInvoiceSettledProps = Partial<{
301
299
  settledAt: string;
302
300
  }>;
303
301
  type HyperlinePaymentMethodCreatedProps = Partial<{
304
- userId: string;
305
302
  tenantId: string;
306
303
  subscriptionStartDate: string;
307
304
  paymentMethodType: PaymentMethodType;
@@ -311,7 +308,6 @@ type HyperlinePaymentMethodCreatedProps = Partial<{
311
308
  webhookEventType: 'payment_method.created';
312
309
  }>;
313
310
  type HyperlinePaymentMethodDeletedProps = Partial<{
314
- userId: string;
315
311
  tenantId: string;
316
312
  subscriptionStartDate: string;
317
313
  paymentMethodType: PaymentMethodType;
@@ -321,7 +317,6 @@ type HyperlinePaymentMethodDeletedProps = Partial<{
321
317
  webhookEventType: 'payment_method.deleted';
322
318
  }>;
323
319
  type HyperlinePaymentMethodErroredProps = Partial<{
324
- userId: string;
325
320
  tenantId: string;
326
321
  subscriptionStartDate: string;
327
322
  paymentMethodType: PaymentMethodType;
@@ -331,20 +326,20 @@ type HyperlinePaymentMethodErroredProps = Partial<{
331
326
  webhookEventType: 'payment_method.errored';
332
327
  }>;
333
328
  type HyperlineSubscriptionActivatedProps = Partial<{
334
- userId: string;
335
- tenantId: string;
329
+ subscriptionId: string;
336
330
  subscriptionStatus: SubscriptionStatus;
331
+ plan: string;
332
+ tenantId: string;
337
333
  webhookEventType: 'subscription.activated';
338
334
  }>;
339
335
  type HyperlineSubscriptionCancelledProps = Partial<{
340
- trialEndAt: string;
341
- plan: string;
342
336
  subscriptionId: string;
343
- subscriptionStartDate: string;
344
337
  subscriptionStatus: SubscriptionStatus;
338
+ plan: string;
339
+ trialEndAt: string;
340
+ subscriptionStartDate: string;
345
341
  paymentMethodType: string;
346
342
  customerId: string;
347
- userId: string;
348
343
  tenantId: string;
349
344
  webhookEventType: 'subscription.cancelled';
350
345
  }>;
@@ -366,21 +361,25 @@ type HyperlineSubscriptionCreatedProps = Partial<{
366
361
  customerId: string;
367
362
  }>;
368
363
  type HyperlineSubscriptionErroredProps = Partial<{
364
+ subscriptionId: string;
365
+ subscriptionStatus: SubscriptionStatus;
366
+ plan: string;
369
367
  userId: string;
370
368
  tenantId: string;
371
- subscriptionStatus: SubscriptionStatus;
372
369
  webhookEventType: 'subscription.errored';
373
370
  }>;
374
371
  type HyperlineSubscriptionPausedProps = Partial<{
375
- userId: string;
376
- tenantId: string;
372
+ subscriptionId: string;
377
373
  subscriptionStatus: SubscriptionStatus;
374
+ plan: string;
375
+ tenantId: string;
378
376
  webhookEventType: 'subscription.paused';
379
377
  }>;
380
378
  type HyperlineSubscriptionVoidedProps = Partial<{
381
- userId: string;
382
- tenantId: string;
379
+ subscriptionId: string;
383
380
  subscriptionStatus: SubscriptionStatus;
381
+ plan: string;
382
+ tenantId: string;
384
383
  webhookEventType: 'subscription.voided';
385
384
  }>;
386
385
  type HyperlineTrialEndedProps = Partial<{
@@ -394,7 +393,6 @@ type HyperlineTrialEndedProps = Partial<{
394
393
  }>;
395
394
  type HyperlineTrialStartedProps = Partial<{
396
395
  tenantId: string;
397
- userId: string;
398
396
  subscriptionStatus: SubscriptionStatus;
399
397
  trialUntil: string;
400
398
  webhookEventType: 'payment_method.created';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vrplatform/log",
3
- "version": "2.0.24",
3
+ "version": "2.0.26",
4
4
  "main": "build/main/index.js",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -20,7 +20,7 @@
20
20
  "@axiomhq/js": "1.0.0-rc.3",
21
21
  "@finalytic/graphql": "1.12.133",
22
22
  "@june-so/analytics-node": "8.0.0",
23
- "intercom-client": "6.0.0-alpha1",
23
+ "intercom-client": "6.0.0-beta.3",
24
24
  "posthog-node": "4.0.1",
25
25
  "serialize-error": "11.0.3"
26
26
  },
@@ -100,8 +100,7 @@ declare module 'intercom-client' {
100
100
 
101
101
  import { createClientV2 } from '@finalytic/graphql';
102
102
  import { Analytics } from '@june-so/analytics-node';
103
- import { Intercom, IntercomClient } from 'intercom-client';
104
- import { fetcher } from 'intercom-client/core/fetcher/Fetcher';
103
+ import { Intercom } from 'intercom-client';
105
104
  import { PostHog } from 'posthog-node';
106
105
  import { type LogBindings, type WorkerLog, useLog } from '../log';
107
106
  import { convertKeysToSnakeCase, isTest } from '../utils';
@@ -141,7 +140,7 @@ export const useTracking = (
141
140
  shutdown: () => Promise<any>;
142
141
  log: WorkerLog;
143
142
  june?: Analytics;
144
- intercom?: IntercomClient;
143
+ intercom?: Intercom;
145
144
  posthog?: PostHog;
146
145
  } => {
147
146
  const client = env.HASURA_GRAPHQL_ADMIN_SECRET
@@ -151,13 +150,13 @@ export const useTracking = (
151
150
  : undefined;
152
151
  const log = useLog({ name, dataset, env });
153
152
  const intercom = env.INTERCOM_TOKEN
154
- ? new IntercomClient({
155
- token: env.INTERCOM_TOKEN,
156
- fetcher: (args) =>
157
- fetcher({
158
- ...args,
159
- headers: { ...args.headers, accept: 'application/json' },
160
- }),
153
+ ? new Intercom({
154
+ accessToken: env.INTERCOM_TOKEN,
155
+ // fetcher: (args) =>
156
+ // fetcher({
157
+ // ...args,
158
+ // headers: { ...args.headers, accept: 'application/json' },
159
+ // }),
161
160
  })
162
161
  : undefined;
163
162
  const june = env.JUNESO_TOKEN ? new Analytics(env.JUNESO_TOKEN) : undefined;
@@ -180,20 +179,19 @@ export const useTracking = (
180
179
  }: TrackProps<T>) => {
181
180
  if (isDev || isTest(userId || anonymousId || '', groupId)) return;
182
181
 
183
- await client?.mutate((q) => {
184
- const e = q.insert_tracking_event_one({
185
- object: {
186
- name: event,
187
- tenantId: groupId,
188
- userId: userId,
189
- props: properties,
190
- createdAt: timestamp,
191
- packageName,
192
- },
193
- });
194
-
195
- return { id: e.id };
196
- });
182
+ await client?.mutate(
183
+ (q) =>
184
+ q.insert_tracking_event_one({
185
+ object: {
186
+ name: event,
187
+ tenantId: groupId,
188
+ userId: userId,
189
+ props: properties,
190
+ createdAt: timestamp,
191
+ packageName,
192
+ },
193
+ }).id
194
+ );
197
195
 
198
196
  if (anonymousId) {
199
197
  posthog?.capture({
@@ -245,11 +243,13 @@ export const useTracking = (
245
243
  );
246
244
 
247
245
  try {
248
- await intercom?.events.create({
249
- user_id: userId,
250
- event_name: event,
251
- metadata: convertValuesToString(properties),
252
- created_at: Math.floor(timestamp.getTime() / 1000),
246
+ await intercom?.dataEvents.create({
247
+ body: {
248
+ user_id: userId,
249
+ event_name: event,
250
+ metadata: convertValuesToString(properties),
251
+ created_at: Math.floor(timestamp.getTime() / 1000),
252
+ },
253
253
  });
254
254
  } catch (e) {
255
255
  console.error(e);
@@ -305,14 +305,14 @@ export const useTracking = (
305
305
  await intercom?.contacts.search({
306
306
  query: {
307
307
  field: 'external_id',
308
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
308
+ operator: '=',
309
309
  value: userId,
310
310
  },
311
311
  })
312
- )?.data.at(0);
312
+ )?.data?.at(0);
313
313
  if (intercomUser?.id)
314
314
  await intercom?.contacts.update(intercomUser?.id, data);
315
- else await intercom?.contacts.create(data);
315
+ else await intercom?.contacts.create({ body: data });
316
316
  } catch (e) {
317
317
  console.error(e);
318
318
  }
@@ -332,34 +332,44 @@ export const useTracking = (
332
332
  let intercomCompany: Intercom.Company | undefined;
333
333
  try {
334
334
  const cid = traits?.billingCustomerId || traits?.hyperlineCustomerId;
335
- intercomCompany = await intercom?.companies.create({
336
- name: traits?.name,
337
- company_id: groupId,
338
- plan: traits?.plan,
339
- remote_created_at: traits?.createdAt
340
- ? Math.floor(new Date(traits.createdAt).getTime() / 1000)
341
- : undefined,
342
- monthly_spend: traits?.mrr,
343
- custom_attributes: {
344
- teamId: groupId,
345
- team: traits?.name,
346
- type: traits?.type,
347
- status: traits?.status,
348
- pms: traits?.pms,
349
- accountingSoftware: traits?.accountingSoftware,
350
- activeListings: traits?.activeListings,
351
- paymentMethodType: traits?.paymentMethodType,
352
- partnerName: traits?.partner || traits?.accountingPartner,
353
- billingPortalUrl: cid
354
- ? `https://billing.vrplatform.app/portal/${cid}`
335
+ const partner = traits?.partner || traits?.accountingPartner;
336
+ const billingPartner =
337
+ traits?.billingPartner ||
338
+ traits?.partner ||
339
+ traits?.accountingPartner;
340
+
341
+ const custom_attributes: Record<string, string> = { teamId: groupId };
342
+ if (traits?.name) custom_attributes.team = traits?.name;
343
+ if (traits?.type) custom_attributes.type = traits?.type;
344
+ if (traits?.status) custom_attributes.status = traits?.status;
345
+ if (traits?.pms) custom_attributes.pms = traits?.pms;
346
+ if (traits?.accountingSoftware)
347
+ custom_attributes.accountingSoftware = traits?.accountingSoftware;
348
+ if (traits?.activeListings)
349
+ custom_attributes.activeListings = `${traits?.activeListings}`;
350
+ if (traits?.paymentMethodType)
351
+ custom_attributes.paymentMethodType = traits?.paymentMethodType;
352
+ if (partner) custom_attributes.partner = partner;
353
+ if (cid)
354
+ custom_attributes.billingPortalUrl = `https://billing.vrplatform.app/portal/${cid}`;
355
+ if (traits?.subscriptionStatus)
356
+ custom_attributes.billingStatus = traits?.subscriptionStatus;
357
+ if (billingPartner) custom_attributes.billingPartner = billingPartner;
358
+ if (traits.trialUntil) custom_attributes.trialUntil = traits.trialUntil;
359
+
360
+ intercomCompany = await intercom?.companies.create(
361
+ {
362
+ name: traits?.name,
363
+ company_id: groupId,
364
+ plan: traits?.plan,
365
+ remote_created_at: traits?.createdAt
366
+ ? Math.floor(new Date(traits.createdAt).getTime() / 1000)
355
367
  : undefined,
356
- billingStatus: traits?.subscriptionStatus,
357
- billingPartner:
358
- traits?.billingPartner ||
359
- traits?.partner ||
360
- traits?.accountingPartner,
368
+ monthly_spend: traits?.mrr,
369
+ custom_attributes,
361
370
  },
362
- });
371
+ {}
372
+ );
363
373
  } catch (e) {
364
374
  console.error(e);
365
375
  }
@@ -393,14 +403,14 @@ export const useTracking = (
393
403
  await intercom?.contacts.search({
394
404
  query: {
395
405
  field: 'external_id',
396
- operator: Intercom.SingleFilterSearchRequestOperator.Equals,
406
+ operator: '=',
397
407
  value: userId,
398
408
  },
399
409
  })
400
- )?.data.at(0);
410
+ )?.data?.at(0);
401
411
  if (intercomUser?.id && intercomCompany?.id)
402
- intercom?.companies.attachContact(intercomUser?.id, {
403
- id: intercomCompany?.id,
412
+ intercom?.contacts.companies.create(intercomUser?.id, {
413
+ company_id: intercomCompany?.id,
404
414
  });
405
415
  } catch (e) {
406
416
  console.error(e);
@@ -6,6 +6,17 @@ export type TrackProps<T extends TrackingEvent> = OptionalUser<{
6
6
  properties: TrackingEventProps[T];
7
7
  }>;
8
8
 
9
+ // const plan = [
10
+ // 'All-in-One VRP Subscription',
11
+ // 'Essentials VRP Subscription',
12
+ // 'Legacy - Percentage',
13
+ // 'Legacy - Tiered Listing',
14
+ // 'Ximplifi',
15
+ // 'Pro VRP Subscription',
16
+ // 'Legacy - Tiered Percentage',
17
+ // 'PMI Corporate VRP Subscription',
18
+ // ];
19
+
9
20
  export type IdentifyProps = {
10
21
  userId: string;
11
22
  traits?: {
@@ -51,6 +62,7 @@ export type GroupProps = OptionalUser<{
51
62
  mrr?: number;
52
63
  plan?: string;
53
64
  paymentMethodType?: string;
65
+ trialUntil?: string;
54
66
  [key: string]: string | number | boolean | null | undefined;
55
67
  };
56
68
  timestamp?: Date;
@@ -161,19 +173,6 @@ export type PaymentMethodType =
161
173
  | 'direct_debit_sepa'
162
174
  | 'direct_debit_ach'
163
175
  | 'direct_debit_bacs';
164
- export type WebhookEventType =
165
- | 'customer.created'
166
- | 'customer.updated'
167
- | 'subscription.activated'
168
- | 'subscription.cancelled'
169
- | 'subscription.created'
170
- | 'subscription.errored'
171
- | 'subscription.paused'
172
- | 'subscription.voided'
173
- | 'subscription.charged'
174
- | 'payment_method.created'
175
- | 'payment_method.errored'
176
- | 'payment_method.deleted';
177
176
 
178
177
  type AccountInvitationAcceptedProps = Partial<{
179
178
  userId: string;
@@ -319,7 +318,6 @@ type GlOwnerStatementPreviewOpenedProps = Partial<{
319
318
  }>;
320
319
 
321
320
  type HyperlineCustomerCreatedProps = Partial<{
322
- userId: string;
323
321
  tenantId: string;
324
322
  customerId: string;
325
323
  billingEmail: string;
@@ -331,7 +329,6 @@ type HyperlineCustomerCreatedProps = Partial<{
331
329
  }>;
332
330
 
333
331
  type HyperlineCustomerUpdatedProps = Partial<{
334
- userId: string;
335
332
  tenantId: string;
336
333
  customerId: string;
337
334
  billingEmail: string;
@@ -367,7 +364,6 @@ type HyperlineInvoiceSettledProps = Partial<{
367
364
  }>;
368
365
 
369
366
  type HyperlinePaymentMethodCreatedProps = Partial<{
370
- userId: string;
371
367
  tenantId: string;
372
368
  subscriptionStartDate: string;
373
369
  paymentMethodType: PaymentMethodType;
@@ -378,7 +374,6 @@ type HyperlinePaymentMethodCreatedProps = Partial<{
378
374
  }>;
379
375
 
380
376
  type HyperlinePaymentMethodDeletedProps = Partial<{
381
- userId: string;
382
377
  tenantId: string;
383
378
  subscriptionStartDate: string;
384
379
  paymentMethodType: PaymentMethodType;
@@ -389,7 +384,6 @@ type HyperlinePaymentMethodDeletedProps = Partial<{
389
384
  }>;
390
385
 
391
386
  type HyperlinePaymentMethodErroredProps = Partial<{
392
- userId: string;
393
387
  tenantId: string;
394
388
  subscriptionStartDate: string;
395
389
  paymentMethodType: PaymentMethodType;
@@ -400,21 +394,21 @@ type HyperlinePaymentMethodErroredProps = Partial<{
400
394
  }>;
401
395
 
402
396
  type HyperlineSubscriptionActivatedProps = Partial<{
403
- userId: string;
404
- tenantId: string;
397
+ subscriptionId: string;
405
398
  subscriptionStatus: SubscriptionStatus;
399
+ plan: string;
400
+ tenantId: string;
406
401
  webhookEventType: 'subscription.activated';
407
402
  }>;
408
403
 
409
404
  type HyperlineSubscriptionCancelledProps = Partial<{
410
- trialEndAt: string;
411
- plan: string;
412
405
  subscriptionId: string;
413
- subscriptionStartDate: string;
414
406
  subscriptionStatus: SubscriptionStatus;
407
+ plan: string;
408
+ trialEndAt: string;
409
+ subscriptionStartDate: string;
415
410
  paymentMethodType: string;
416
411
  customerId: string;
417
- userId: string;
418
412
  tenantId: string;
419
413
  webhookEventType: 'subscription.cancelled';
420
414
  }>;
@@ -439,23 +433,27 @@ type HyperlineSubscriptionCreatedProps = Partial<{
439
433
  }>;
440
434
 
441
435
  type HyperlineSubscriptionErroredProps = Partial<{
436
+ subscriptionId: string;
437
+ subscriptionStatus: SubscriptionStatus;
438
+ plan: string;
442
439
  userId: string;
443
440
  tenantId: string;
444
- subscriptionStatus: SubscriptionStatus;
445
441
  webhookEventType: 'subscription.errored';
446
442
  }>;
447
443
 
448
444
  type HyperlineSubscriptionPausedProps = Partial<{
449
- userId: string;
450
- tenantId: string;
445
+ subscriptionId: string;
451
446
  subscriptionStatus: SubscriptionStatus;
447
+ plan: string;
448
+ tenantId: string;
452
449
  webhookEventType: 'subscription.paused';
453
450
  }>;
454
451
 
455
452
  type HyperlineSubscriptionVoidedProps = Partial<{
456
- userId: string;
457
- tenantId: string;
453
+ subscriptionId: string;
458
454
  subscriptionStatus: SubscriptionStatus;
455
+ plan: string;
456
+ tenantId: string;
459
457
  webhookEventType: 'subscription.voided';
460
458
  }>;
461
459
 
@@ -471,7 +469,6 @@ type HyperlineTrialEndedProps = Partial<{
471
469
 
472
470
  type HyperlineTrialStartedProps = Partial<{
473
471
  tenantId: string;
474
- userId: string;
475
472
  subscriptionStatus: SubscriptionStatus;
476
473
  trialUntil: string;
477
474
  webhookEventType: 'payment_method.created';