glitch-javascript-sdk 3.2.16 → 3.2.18

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
@@ -4864,6 +4864,13 @@ declare class Campaigns {
4864
4864
  * @returns promise
4865
4865
  */
4866
4866
  static getPosts<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
4867
+ /**
4868
+ * Get planned influencer content for a campaign calendar.
4869
+ *
4870
+ * @param campaign_id The campaign id to retrieve calendar posts for.
4871
+ * @param params Optional filters such as scheduled_at_from, scheduled_at_to, status, or user_id.
4872
+ */
4873
+ static getCampaignCalendar<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
4867
4874
  /**
4868
4875
  * Get the associated statistics for the campaign.
4869
4876
  *
@@ -4943,6 +4950,10 @@ declare class Campaigns {
4943
4950
  * @returns promise
4944
4951
  */
4945
4952
  static listInfluencerCampaigns<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
4953
+ /**
4954
+ * List planned influencer content across the authenticated influencer's accepted campaigns.
4955
+ */
4956
+ static getInfluencerCalendar<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
4946
4957
  /**
4947
4958
  * Create an influencer campaign
4948
4959
  *
@@ -4981,6 +4992,14 @@ declare class Campaigns {
4981
4992
  * @returns promise
4982
4993
  */
4983
4994
  static viewInfluencerCampaign<T>(campaign_id: string, user_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
4995
+ /**
4996
+ * Create or update planned campaign content for an influencer.
4997
+ *
4998
+ * @param campaign_id The campaign id.
4999
+ * @param user_id The influencer user id.
5000
+ * @param data The posts payload.
5001
+ */
5002
+ static saveInfluencerCalendarPosts<T>(campaign_id: string, user_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>>;
4984
5003
  /**
4985
5004
  * Mark an influencer campaign as completed.
4986
5005
  *
@@ -8363,6 +8382,46 @@ declare class Crm {
8363
8382
  * Remove a contact from a lead.
8364
8383
  */
8365
8384
  static deleteContact<T>(contact_id: string): AxiosPromise<Response<T>>;
8385
+ /**
8386
+ * List CRM newsletter and mass-email campaigns.
8387
+ */
8388
+ static listCampaigns<T>(params?: Record<string, any>): AxiosPromise<Response<T>>;
8389
+ /**
8390
+ * Create a CRM campaign draft with filters, exclusions, and optional variants.
8391
+ */
8392
+ static createCampaign<T>(data: object): AxiosPromise<Response<T>>;
8393
+ /**
8394
+ * View a CRM campaign. Pass include_recipients in params for a small recipient sample.
8395
+ */
8396
+ static viewCampaign<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
8397
+ /**
8398
+ * Update an editable CRM campaign draft or paused campaign.
8399
+ */
8400
+ static updateCampaign<T>(campaign_id: string, data: object): AxiosPromise<Response<T>>;
8401
+ /**
8402
+ * Delete an unsent CRM campaign draft.
8403
+ */
8404
+ static deleteCampaign<T>(campaign_id: string): AxiosPromise<Response<T>>;
8405
+ /**
8406
+ * Preview campaign audience filters and exclusions without creating recipients.
8407
+ */
8408
+ static previewCampaignAudience<T>(data: object): AxiosPromise<Response<T>>;
8409
+ /**
8410
+ * Materialize and queue a CRM campaign, optionally with a limit or dispatch=false.
8411
+ */
8412
+ static sendCampaign<T>(campaign_id: string, data?: object): AxiosPromise<Response<T>>;
8413
+ /**
8414
+ * Refresh and read CRM campaign engagement, reply, and conversion stats.
8415
+ */
8416
+ static getCampaignStats<T>(campaign_id: string): AxiosPromise<Response<T>>;
8417
+ /**
8418
+ * List campaign recipient audit rows with optional status or variant filters.
8419
+ */
8420
+ static listCampaignRecipients<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>>;
8421
+ /**
8422
+ * Import external prospects into CRM leads and contacts for future campaigns.
8423
+ */
8424
+ static importCampaignProspects<T>(prospects: object[]): AxiosPromise<Response<T>>;
8366
8425
  }
8367
8426
 
8368
8427
  type MultiplayerLobbyType = 'public' | 'invisible' | 'friends_only' | 'private';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "glitch-javascript-sdk",
3
- "version": "3.2.16",
3
+ "version": "3.2.18",
4
4
  "description": "Javascript SDK for Glitch",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -105,6 +105,16 @@ class Campaigns {
105
105
  return Requests.processRoute(CampaignsRoute.routes.getPosts, undefined, { campaign_id: campaign_id }, params);
106
106
  }
107
107
 
108
+ /**
109
+ * Get planned influencer content for a campaign calendar.
110
+ *
111
+ * @param campaign_id The campaign id to retrieve calendar posts for.
112
+ * @param params Optional filters such as scheduled_at_from, scheduled_at_to, status, or user_id.
113
+ */
114
+ public static getCampaignCalendar<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>> {
115
+ return Requests.processRoute(CampaignsRoute.routes.getCampaignCalendar, undefined, { campaign_id: campaign_id }, params);
116
+ }
117
+
108
118
  /**
109
119
  * Get the associated statistics for the campaign.
110
120
  *
@@ -216,6 +226,13 @@ class Campaigns {
216
226
  return Requests.processRoute(CampaignsRoute.routes.listInfluencerCampaigns, undefined, undefined, params);
217
227
  }
218
228
 
229
+ /**
230
+ * List planned influencer content across the authenticated influencer's accepted campaigns.
231
+ */
232
+ public static getInfluencerCalendar<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
233
+ return Requests.processRoute(CampaignsRoute.routes.getInfluencerCalendar, undefined, undefined, params);
234
+ }
235
+
219
236
  /**
220
237
  * Create an influencer campaign
221
238
  *
@@ -269,6 +286,17 @@ class Campaigns {
269
286
  return Requests.processRoute(CampaignsRoute.routes.viewInfluencerCampaign, {}, { campaign_id: campaign_id, user_id: user_id }, params);
270
287
  }
271
288
 
289
+ /**
290
+ * Create or update planned campaign content for an influencer.
291
+ *
292
+ * @param campaign_id The campaign id.
293
+ * @param user_id The influencer user id.
294
+ * @param data The posts payload.
295
+ */
296
+ public static saveInfluencerCalendarPosts<T>(campaign_id: string, user_id: string, data: object, params?: Record<string, any>): AxiosPromise<Response<T>> {
297
+ return Requests.processRoute(CampaignsRoute.routes.saveInfluencerCalendarPosts, data, { campaign_id: campaign_id, user_id: user_id }, params);
298
+ }
299
+
272
300
  /**
273
301
  * Mark an influencer campaign as completed.
274
302
  *
package/src/api/Crm.ts CHANGED
@@ -151,6 +151,76 @@ class Crm {
151
151
  return Requests.processRoute(CrmRoute.routes.deleteContact, {}, { contact_id });
152
152
  }
153
153
 
154
+ /**
155
+ * List CRM newsletter and mass-email campaigns.
156
+ */
157
+ public static listCampaigns<T>(params?: Record<string, any>): AxiosPromise<Response<T>> {
158
+ return Requests.processRoute(CrmRoute.routes.listCampaigns, undefined, undefined, params);
159
+ }
160
+
161
+ /**
162
+ * Create a CRM campaign draft with filters, exclusions, and optional variants.
163
+ */
164
+ public static createCampaign<T>(data: object): AxiosPromise<Response<T>> {
165
+ return Requests.processRoute(CrmRoute.routes.createCampaign, data);
166
+ }
167
+
168
+ /**
169
+ * View a CRM campaign. Pass include_recipients in params for a small recipient sample.
170
+ */
171
+ public static viewCampaign<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>> {
172
+ return Requests.processRoute(CrmRoute.routes.viewCampaign, {}, { campaign_id }, params);
173
+ }
174
+
175
+ /**
176
+ * Update an editable CRM campaign draft or paused campaign.
177
+ */
178
+ public static updateCampaign<T>(campaign_id: string, data: object): AxiosPromise<Response<T>> {
179
+ return Requests.processRoute(CrmRoute.routes.updateCampaign, data, { campaign_id });
180
+ }
181
+
182
+ /**
183
+ * Delete an unsent CRM campaign draft.
184
+ */
185
+ public static deleteCampaign<T>(campaign_id: string): AxiosPromise<Response<T>> {
186
+ return Requests.processRoute(CrmRoute.routes.deleteCampaign, {}, { campaign_id });
187
+ }
188
+
189
+ /**
190
+ * Preview campaign audience filters and exclusions without creating recipients.
191
+ */
192
+ public static previewCampaignAudience<T>(data: object): AxiosPromise<Response<T>> {
193
+ return Requests.processRoute(CrmRoute.routes.previewCampaignAudience, data);
194
+ }
195
+
196
+ /**
197
+ * Materialize and queue a CRM campaign, optionally with a limit or dispatch=false.
198
+ */
199
+ public static sendCampaign<T>(campaign_id: string, data: object = {}): AxiosPromise<Response<T>> {
200
+ return Requests.processRoute(CrmRoute.routes.sendCampaign, data, { campaign_id });
201
+ }
202
+
203
+ /**
204
+ * Refresh and read CRM campaign engagement, reply, and conversion stats.
205
+ */
206
+ public static getCampaignStats<T>(campaign_id: string): AxiosPromise<Response<T>> {
207
+ return Requests.processRoute(CrmRoute.routes.getCampaignStats, {}, { campaign_id });
208
+ }
209
+
210
+ /**
211
+ * List campaign recipient audit rows with optional status or variant filters.
212
+ */
213
+ public static listCampaignRecipients<T>(campaign_id: string, params?: Record<string, any>): AxiosPromise<Response<T>> {
214
+ return Requests.processRoute(CrmRoute.routes.listCampaignRecipients, {}, { campaign_id }, params);
215
+ }
216
+
217
+ /**
218
+ * Import external prospects into CRM leads and contacts for future campaigns.
219
+ */
220
+ public static importCampaignProspects<T>(prospects: object[]): AxiosPromise<Response<T>> {
221
+ return Requests.processRoute(CrmRoute.routes.importCampaignProspects, { prospects });
222
+ }
223
+
154
224
  }
155
225
 
156
- export default Crm;
226
+ export default Crm;
@@ -12,6 +12,7 @@ class CampaignsRoute {
12
12
  deleteCampaign: { url: '/campaigns/{campaign_id}', method: HTTP_METHODS.DELETE },
13
13
  getLedger: { url: '/campaigns/{campaign_id}/ledger', method: HTTP_METHODS.GET },
14
14
  getPosts: { url: '/campaigns/{campaign_id}/posts', method: HTTP_METHODS.GET },
15
+ getCampaignCalendar: { url: '/campaigns/{campaign_id}/calendar', method: HTTP_METHODS.GET },
15
16
  statistics: { url: '/campaigns/{campaign_id}/statistics', method: HTTP_METHODS.GET },
16
17
  streamViewCounts: { url: '/campaigns/{campaign_id}/streamViewCounts', method: HTTP_METHODS.GET },
17
18
  listCampaignLinks: { url: '/campaigns/{campaign_id}/links', method: HTTP_METHODS.GET },
@@ -20,7 +21,9 @@ class CampaignsRoute {
20
21
  updateCampaignLink: { url: '/campaigns/{campaign_id}/links/{link_id}', method: HTTP_METHODS.PUT },
21
22
  createInfluencerCampaign: { url: '/campaigns/{campaign_id}/influencers', method: HTTP_METHODS.POST },
22
23
  listInfluencerCampaigns: { url: '/campaigns/influencers', method: HTTP_METHODS.GET },
24
+ getInfluencerCalendar: { url: '/campaigns/influencers/calendar', method: HTTP_METHODS.GET },
23
25
  viewInfluencerCampaign: { url: '/campaigns/{campaign_id}/influencers/{user_id}', method: HTTP_METHODS.GET },
26
+ saveInfluencerCalendarPosts: { url: '/campaigns/{campaign_id}/influencers/{user_id}/calendar-posts', method: HTTP_METHODS.POST },
24
27
  updateInfluencerCampaign: { url: '/campaigns/{campaign_id}/influencers/{user_id}', method: HTTP_METHODS.PUT },
25
28
  deleteInfluencerCampaign: { url: '/campaigns/{campaign_id}/influencers/{user_id}', method: HTTP_METHODS.DELETE },
26
29
  markInfluencerCampaignComplete: { url: '/campaigns/{campaign_id}/influencers/{user_id}/setComplete', method: HTTP_METHODS.POST },
@@ -24,6 +24,18 @@ class CrmRoute {
24
24
  updateContact: { url: '/admin/crm/contacts/{contact_id}', method: HTTP_METHODS.PUT },
25
25
  deleteContact: { url: '/admin/crm/contacts/{contact_id}', method: HTTP_METHODS.DELETE },
26
26
 
27
+ // Newsletter and Campaign Management
28
+ listCampaigns: { url: '/admin/crm/campaigns', method: HTTP_METHODS.GET },
29
+ createCampaign: { url: '/admin/crm/campaigns', method: HTTP_METHODS.POST },
30
+ viewCampaign: { url: '/admin/crm/campaigns/{campaign_id}', method: HTTP_METHODS.GET },
31
+ updateCampaign: { url: '/admin/crm/campaigns/{campaign_id}', method: HTTP_METHODS.PUT },
32
+ deleteCampaign: { url: '/admin/crm/campaigns/{campaign_id}', method: HTTP_METHODS.DELETE },
33
+ previewCampaignAudience: { url: '/admin/crm/campaigns/preview', method: HTTP_METHODS.POST },
34
+ sendCampaign: { url: '/admin/crm/campaigns/{campaign_id}/send', method: HTTP_METHODS.POST },
35
+ getCampaignStats: { url: '/admin/crm/campaigns/{campaign_id}/stats', method: HTTP_METHODS.GET },
36
+ listCampaignRecipients: { url: '/admin/crm/campaigns/{campaign_id}/recipients', method: HTTP_METHODS.GET },
37
+ importCampaignProspects: { url: '/admin/crm/campaigns/import-prospects', method: HTTP_METHODS.POST },
38
+
27
39
  // Automation Triggers
28
40
  triggerSourcing: { url: '/admin/crm/automation/source', method: HTTP_METHODS.POST },
29
41
  triggerSync: { url: '/admin/crm/automation/sync', method: HTTP_METHODS.POST },
@@ -35,4 +47,4 @@ class CrmRoute {
35
47
  };
36
48
  }
37
49
 
38
- export default CrmRoute;
50
+ export default CrmRoute;