@logopulse/sdk 1.0.2 → 1.2.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/dist/index.d.ts CHANGED
@@ -15,24 +15,57 @@ export interface AnalyticsEvent {
15
15
  traceId?: string;
16
16
  }
17
17
  /**
18
- * Customer Identity Data (Common SaaS Fields)
18
+ * Customer Account Data (Business/Company)
19
+ * Used when creating a new customer account
19
20
  */
20
- export interface CustomerIdentity {
21
+ export interface CustomerAccount {
21
22
  accountId: string;
22
- companyName?: string;
23
+ companyName: string;
23
24
  ownerEmail?: string;
24
- ownerName?: string;
25
- firstName?: string;
26
- lastName?: string;
25
+ ownerFirstName?: string;
26
+ ownerLastName?: string;
27
27
  phone?: string;
28
28
  address?: string;
29
29
  city?: string;
30
30
  state?: string;
31
31
  country?: string;
32
32
  postalCode?: string;
33
- clientSince?: string;
34
33
  [key: string]: any;
35
34
  }
35
+ /**
36
+ * User Data (Individual seat/user)
37
+ * Used when adding users to an existing account
38
+ */
39
+ export interface User {
40
+ accountId: string;
41
+ userId: string;
42
+ email: string;
43
+ firstName?: string;
44
+ lastName?: string;
45
+ role?: string;
46
+ [key: string]: any;
47
+ }
48
+ /**
49
+ * Standard Action Verbs (OOTB)
50
+ * Use these for consistent entity event naming
51
+ */
52
+ export declare const StandardActions: {
53
+ readonly CREATED: "created";
54
+ readonly ADDED: "added";
55
+ readonly UPDATED: "updated";
56
+ readonly CHANGED: "changed";
57
+ readonly DELETED: "deleted";
58
+ readonly REMOVED: "removed";
59
+ readonly CANCELLED: "cancelled";
60
+ readonly UPLOADED: "uploaded";
61
+ readonly DOWNLOADED: "downloaded";
62
+ readonly IMPORTED: "imported";
63
+ readonly EXPORTED: "exported";
64
+ readonly GENERATED: "generated";
65
+ readonly PROCESSED: "processed";
66
+ readonly FAILED: "failed";
67
+ readonly SYNCED: "synced";
68
+ };
36
69
  /**
37
70
  * LogoPulse SDK
38
71
  * Track client analytics events
@@ -51,22 +84,111 @@ export declare class LogoPulse {
51
84
  source?: string;
52
85
  }): Promise<void>;
53
86
  /**
54
- * Identify/Update Customer Identity
87
+ * Create Customer Account (First-time account creation)
88
+ *
89
+ * Call this when:
90
+ * - New business/company account is created
91
+ * - Owner completes signup flow
55
92
  *
56
- * Use this to store customer information when:
57
- * - User signs up (from user service)
58
- * - Account/business is created (from business service)
59
- * - User updates profile or business info
93
+ * This is the PRIMARY account creation - not additional users.
94
+ * Stores account identity data in LogoPulse.
60
95
  *
61
- * This data powers the customer dashboard and connects events to real people/companies.
96
+ * @param account Customer account data
62
97
  */
63
- identifyCustomer(identity: CustomerIdentity): Promise<void>;
98
+ createCustomer(account: CustomerAccount): Promise<void>;
64
99
  /**
65
- * Update specific customer fields (partial update)
100
+ * Add User to Existing Account (Additional seat)
101
+ *
102
+ * Call this when:
103
+ * - User accepts invitation to join account
104
+ * - Admin adds user to account
105
+ * - User is assigned to account after signup
66
106
  *
67
- * Use this for incremental updates without sending full identity object.
107
+ * Stores user identity data and updates team size.
108
+ *
109
+ * @param user User data
110
+ */
111
+ addUser(user: User): Promise<void>;
112
+ /**
113
+ * Update Customer Account Data (Partial update)
114
+ *
115
+ * Use this for updating account information without full re-creation.
116
+ *
117
+ * @param accountId Account ID
118
+ * @param updates Fields to update
119
+ */
120
+ updateCustomer(accountId: string, updates: Partial<Omit<CustomerAccount, 'accountId'>>): Promise<void>;
121
+ /**
122
+ * Track user login
123
+ */
124
+ userLogin(accountId: string, data?: {
125
+ email?: string;
126
+ name?: string;
127
+ userId?: string;
128
+ }): Promise<void>;
129
+ /**
130
+ * Track user invited to account
131
+ */
132
+ userInvited(accountId: string, data: {
133
+ email: string;
134
+ role?: string;
135
+ }): Promise<void>;
136
+ /**
137
+ * Track user accepted invitation
68
138
  */
69
- updateCustomer(accountId: string, updates: Partial<Omit<CustomerIdentity, 'accountId'>>): Promise<void>;
139
+ userAcceptedInvite(accountId: string, data: {
140
+ userId: string;
141
+ email: string;
142
+ role?: string;
143
+ }): Promise<void>;
144
+ /**
145
+ * Track user removed from account
146
+ */
147
+ userRemoved(accountId: string, data: {
148
+ userId: string;
149
+ email?: string;
150
+ }): Promise<void>;
151
+ /**
152
+ * Track integration connected (e.g., Stripe, Shopify, Veeqo)
153
+ */
154
+ integrationConnected(accountId: string, data: {
155
+ integrationName: string;
156
+ }): Promise<void>;
157
+ /**
158
+ * Track integration disconnected
159
+ */
160
+ integrationDisconnected(accountId: string, data: {
161
+ integrationName: string;
162
+ }): Promise<void>;
163
+ /**
164
+ * Track subscription started
165
+ */
166
+ subscriptionStarted(accountId: string, data: {
167
+ plan?: string;
168
+ amount?: number;
169
+ interval?: string;
170
+ }): Promise<void>;
171
+ /**
172
+ * Track subscription cancelled
173
+ */
174
+ subscriptionCancelled(accountId: string, data?: {
175
+ reason?: string;
176
+ cancelledAt?: string;
177
+ }): Promise<void>;
178
+ /**
179
+ * Track subscription renewed
180
+ */
181
+ subscriptionRenewed(accountId: string, data?: {
182
+ plan?: string;
183
+ amount?: number;
184
+ }): Promise<void>;
185
+ /**
186
+ * Track stock/inventory synced (common for e-commerce/inventory SaaS)
187
+ */
188
+ stockSynced(accountId: string, data?: {
189
+ itemCount?: number;
190
+ source?: string;
191
+ }): Promise<void>;
70
192
  }
71
193
  export declare function createLogoPulse(config: LogoPulseConfig): LogoPulse;
72
194
  export declare function getLogoPulse(): LogoPulse;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAanC;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GACA,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;;;;;;OASG;IACG,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjE;;;;OAIG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,GACpD,OAAO,CAAC,IAAI,CAAC;CAYjB;AAOD,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAGlE;AAED,wBAAgB,YAAY,IAAI,SAAS,CAKxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.LogoPulse = void 0;
6
+ exports.LogoPulse = exports.StandardActions = void 0;
7
7
  exports.createLogoPulse = createLogoPulse;
8
8
  exports.getLogoPulse = getLogoPulse;
9
9
  const axios_1 = __importDefault(require("axios"));
@@ -12,6 +12,32 @@ const axios_1 = __importDefault(require("axios"));
12
12
  * Clients don't need to know backend infrastructure details
13
13
  */
14
14
  const LOGOPULSE_API_URL = 'https://8e0caintuk.execute-api.us-east-1.amazonaws.com/production';
15
+ /**
16
+ * Standard Action Verbs (OOTB)
17
+ * Use these for consistent entity event naming
18
+ */
19
+ exports.StandardActions = {
20
+ // Creation/Addition
21
+ CREATED: 'created',
22
+ ADDED: 'added',
23
+ // Modification
24
+ UPDATED: 'updated',
25
+ CHANGED: 'changed',
26
+ // Removal
27
+ DELETED: 'deleted',
28
+ REMOVED: 'removed',
29
+ CANCELLED: 'cancelled',
30
+ // Data Operations
31
+ UPLOADED: 'uploaded',
32
+ DOWNLOADED: 'downloaded',
33
+ IMPORTED: 'imported',
34
+ EXPORTED: 'exported',
35
+ GENERATED: 'generated',
36
+ // Processing
37
+ PROCESSED: 'processed',
38
+ FAILED: 'failed',
39
+ SYNCED: 'synced',
40
+ };
15
41
  /**
16
42
  * LogoPulse SDK
17
43
  * Track client analytics events
@@ -52,43 +78,136 @@ class LogoPulse {
52
78
  }
53
79
  }
54
80
  /**
55
- * Identify/Update Customer Identity
81
+ * Create Customer Account (First-time account creation)
82
+ *
83
+ * Call this when:
84
+ * - New business/company account is created
85
+ * - Owner completes signup flow
86
+ *
87
+ * This is the PRIMARY account creation - not additional users.
88
+ * Stores account identity data in LogoPulse.
89
+ *
90
+ * @param account Customer account data
91
+ */
92
+ async createCustomer(account) {
93
+ try {
94
+ await this.client.post('/v1/customers', {
95
+ orgId: this.config.orgId,
96
+ ...account,
97
+ createdAt: new Date().toISOString(),
98
+ });
99
+ }
100
+ catch (error) {
101
+ console.error(`LogoPulse createCustomer error (${account.accountId}):`, error.message);
102
+ }
103
+ }
104
+ /**
105
+ * Add User to Existing Account (Additional seat)
56
106
  *
57
- * Use this to store customer information when:
58
- * - User signs up (from user service)
59
- * - Account/business is created (from business service)
60
- * - User updates profile or business info
107
+ * Call this when:
108
+ * - User accepts invitation to join account
109
+ * - Admin adds user to account
110
+ * - User is assigned to account after signup
61
111
  *
62
- * This data powers the customer dashboard and connects events to real people/companies.
112
+ * Stores user identity data and updates team size.
113
+ *
114
+ * @param user User data
63
115
  */
64
- async identifyCustomer(identity) {
116
+ async addUser(user) {
65
117
  try {
66
- await this.client.post('/v1/customers/identify', {
118
+ await this.client.post('/v1/customers/users', {
67
119
  orgId: this.config.orgId,
68
- ...identity,
120
+ ...user,
121
+ addedAt: new Date().toISOString(),
69
122
  });
70
123
  }
71
124
  catch (error) {
72
- console.error(`LogoPulse identify error (${identity.accountId}):`, error.message);
125
+ console.error(`LogoPulse addUser error (${user.accountId}):`, error.message);
73
126
  }
74
127
  }
75
128
  /**
76
- * Update specific customer fields (partial update)
129
+ * Update Customer Account Data (Partial update)
130
+ *
131
+ * Use this for updating account information without full re-creation.
77
132
  *
78
- * Use this for incremental updates without sending full identity object.
133
+ * @param accountId Account ID
134
+ * @param updates Fields to update
79
135
  */
80
136
  async updateCustomer(accountId, updates) {
81
137
  try {
82
- await this.client.patch('/v1/customers/update', {
138
+ await this.client.patch('/v1/customers', {
83
139
  orgId: this.config.orgId,
84
140
  accountId,
85
141
  updates,
86
142
  });
87
143
  }
88
144
  catch (error) {
89
- console.error(`LogoPulse update error (${accountId}):`, error.message);
145
+ console.error(`LogoPulse updateCustomer error (${accountId}):`, error.message);
90
146
  }
91
147
  }
148
+ // ============================================================================
149
+ // OOTB Event Methods (Standard SaaS Events)
150
+ // ============================================================================
151
+ /**
152
+ * Track user login
153
+ */
154
+ async userLogin(accountId, data) {
155
+ await this.track('user.login', accountId, data);
156
+ }
157
+ /**
158
+ * Track user invited to account
159
+ */
160
+ async userInvited(accountId, data) {
161
+ await this.track('user.invited', accountId, data);
162
+ }
163
+ /**
164
+ * Track user accepted invitation
165
+ */
166
+ async userAcceptedInvite(accountId, data) {
167
+ await this.track('user.accepted_invite', accountId, data);
168
+ }
169
+ /**
170
+ * Track user removed from account
171
+ */
172
+ async userRemoved(accountId, data) {
173
+ await this.track('user.removed', accountId, data);
174
+ }
175
+ /**
176
+ * Track integration connected (e.g., Stripe, Shopify, Veeqo)
177
+ */
178
+ async integrationConnected(accountId, data) {
179
+ await this.track('integration.connected', accountId, data);
180
+ }
181
+ /**
182
+ * Track integration disconnected
183
+ */
184
+ async integrationDisconnected(accountId, data) {
185
+ await this.track('integration.disconnected', accountId, data);
186
+ }
187
+ /**
188
+ * Track subscription started
189
+ */
190
+ async subscriptionStarted(accountId, data) {
191
+ await this.track('subscription.started', accountId, data);
192
+ }
193
+ /**
194
+ * Track subscription cancelled
195
+ */
196
+ async subscriptionCancelled(accountId, data) {
197
+ await this.track('subscription.cancelled', accountId, data);
198
+ }
199
+ /**
200
+ * Track subscription renewed
201
+ */
202
+ async subscriptionRenewed(accountId, data) {
203
+ await this.track('subscription.renewed', accountId, data);
204
+ }
205
+ /**
206
+ * Track stock/inventory synced (common for e-commerce/inventory SaaS)
207
+ */
208
+ async stockSynced(accountId, data) {
209
+ await this.track('stock.synced', accountId, data);
210
+ }
92
211
  }
93
212
  exports.LogoPulse = LogoPulse;
94
213
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAqJA,0CAGC;AAED,oCAKC;AA/JD,kDAA6C;AAE7C;;;GAGG;AACH,MAAM,iBAAiB,GAAG,mEAAmE,CAAC;AAwC9F;;;GAGG;AACH,MAAa,SAAS;IAIpB,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG,eAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;YAC/B,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,SAAiB,EACjB,SAAiB,EACjB,IAA0B,EAC1B,OAKC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,GAAmB;gBAC5B,SAAS;gBACT,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACzD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,SAAS;gBACT,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,SAAS;gBAChE,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,kEAAkE;YAClE,OAAO,CAAC,KAAK,CAAC,6BAA6B,SAAS,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAA0B;QAC/C,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAC/C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,GAAG,QAAQ;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,6BAA6B,QAAQ,CAAC,SAAS,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,OAAqD;QAErD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;gBAC9C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,SAAS;gBACT,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,2BAA2B,SAAS,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;CAEF;AA5FD,8BA4FC;AAED;;GAEG;AACH,IAAI,QAAQ,GAAqB,IAAI,CAAC;AAEtC,SAAgB,eAAe,CAAC,MAAuB;IACrD,QAAQ,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,YAAY;IAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@logopulse/sdk",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "description": "Track the pulse of every customer - SDK for B2B SaaS customer health analytics",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",