@outseta/react 0.4.3 → 0.4.4

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.
@@ -18,6 +18,13 @@ import type {
18
18
  CampaignAddBroadcastEmailBody,
19
19
  CampaignSendTestCampaignEmailBody,
20
20
  CampaignUpdateBroadcastEmailBody,
21
+ DripCampaign,
22
+ DripCampaignAddDripCampaignBody,
23
+ DripCampaignAddDripCampaignMessageBody,
24
+ DripCampaignMessage,
25
+ DripCampaignSendTestCampaignEmailBody,
26
+ DripCampaignUpdateDripCampaignBody,
27
+ DripCampaignUpdateDripCampaignMessageBody,
21
28
  EmailListAddSubscriptionBody,
22
29
  EmailListGetAllSubscriptionsParams,
23
30
  EmailListPerson
@@ -58,8 +65,682 @@ type SecondParameter<T extends (...args: never) => unknown> = Parameters<T>[1];
58
65
 
59
66
 
60
67
  /**
61
- * Archived campaigns are excluded.
62
- * @summary Retrieve all broadcast campaigns.
68
+ * @summary Retrieve all drip campaigns.
69
+ */
70
+ export const dripCampaignGetAllDripCampaigns = (
71
+
72
+ options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
73
+ ) => {
74
+
75
+
76
+ return customFetch<DripCampaign[]>(
77
+ {url: `/api/v1/email/campaigns/drips`, method: 'GET', signal
78
+ },
79
+ options);
80
+ }
81
+
82
+
83
+
84
+
85
+ export const getDripCampaignGetAllDripCampaignsQueryKey = () => {
86
+ return [
87
+ `/api/v1/email/campaigns/drips`
88
+ ] as const;
89
+ }
90
+
91
+
92
+ export const getDripCampaignGetAllDripCampaignsQueryOptions = <TData = Awaited<ReturnType<typeof dripCampaignGetAllDripCampaigns>>, TError = void>( options?: { query?:UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetAllDripCampaigns>>, TError, TData>, request?: SecondParameter<typeof customFetch>}
93
+ ) => {
94
+
95
+ const {query: queryOptions, request: requestOptions} = options ?? {};
96
+
97
+ const queryKey = queryOptions?.queryKey ?? getDripCampaignGetAllDripCampaignsQueryKey();
98
+
99
+
100
+
101
+ const queryFn: QueryFunction<Awaited<ReturnType<typeof dripCampaignGetAllDripCampaigns>>> = ({ signal }) => dripCampaignGetAllDripCampaigns(requestOptions, signal);
102
+
103
+
104
+
105
+
106
+
107
+ return { queryKey, queryFn, ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetAllDripCampaigns>>, TError, TData> & { queryKey: QueryKey }
108
+ }
109
+
110
+ export type DripCampaignGetAllDripCampaignsQueryResult = NonNullable<Awaited<ReturnType<typeof dripCampaignGetAllDripCampaigns>>>
111
+ export type DripCampaignGetAllDripCampaignsQueryError = void
112
+
113
+
114
+ /**
115
+ * @summary Retrieve all drip campaigns.
116
+ */
117
+
118
+ export function useDripCampaignGetAllDripCampaigns<TData = Awaited<ReturnType<typeof dripCampaignGetAllDripCampaigns>>, TError = void>(
119
+ options?: { query?:UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetAllDripCampaigns>>, TError, TData>, request?: SecondParameter<typeof customFetch>}
120
+
121
+ ): UseQueryResult<TData, TError> & { queryKey: QueryKey } {
122
+
123
+ const queryOptions = getDripCampaignGetAllDripCampaignsQueryOptions(options)
124
+
125
+ const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey };
126
+
127
+ query.queryKey = queryOptions.queryKey ;
128
+
129
+ return query;
130
+ }
131
+
132
+
133
+
134
+
135
+ /**
136
+ * To copy an existing drip campaign, retrieve it and pass its data as the request body — the
137
+ Uid and per-message counts are automatically reset. Messages can be supplied inline via
138
+ DripCampaignMessages, or added later with the messages endpoint. Each inline message's Name
139
+ defaults to its position (e.g. "Message 1") when omitted.
140
+ * @summary Create a new drip campaign.
141
+ */
142
+ export const dripCampaignAddDripCampaign = (
143
+ dripCampaignAddDripCampaignBody: NonReadonly<DripCampaignAddDripCampaignBody>,
144
+ options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
145
+ ) => {
146
+
147
+
148
+ return customFetch<DripCampaign>(
149
+ {url: `/api/v1/email/campaigns/drips`, method: 'POST',
150
+ headers: {'Content-Type': 'application/json', },
151
+ data: dripCampaignAddDripCampaignBody, signal
152
+ },
153
+ options);
154
+ }
155
+
156
+
157
+
158
+ export const getDripCampaignAddDripCampaignMutationOptions = <TError = void,
159
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignAddDripCampaign>>, TError,{data: NonReadonly<DripCampaignAddDripCampaignBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
160
+ ): UseMutationOptions<Awaited<ReturnType<typeof dripCampaignAddDripCampaign>>, TError,{data: NonReadonly<DripCampaignAddDripCampaignBody>}, TContext> => {
161
+
162
+ const mutationKey = ['dripCampaignAddDripCampaign'];
163
+ const {mutation: mutationOptions, request: requestOptions} = options ?
164
+ options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
165
+ options
166
+ : {...options, mutation: {...options.mutation, mutationKey}}
167
+ : {mutation: { mutationKey, }, request: undefined};
168
+
169
+
170
+
171
+
172
+ const mutationFn: MutationFunction<Awaited<ReturnType<typeof dripCampaignAddDripCampaign>>, {data: NonReadonly<DripCampaignAddDripCampaignBody>}> = (props) => {
173
+ const {data} = props ?? {};
174
+
175
+ return dripCampaignAddDripCampaign(data,requestOptions)
176
+ }
177
+
178
+
179
+
180
+
181
+ return { mutationFn, ...mutationOptions }}
182
+
183
+ export type DripCampaignAddDripCampaignMutationResult = NonNullable<Awaited<ReturnType<typeof dripCampaignAddDripCampaign>>>
184
+ export type DripCampaignAddDripCampaignMutationBody = NonReadonly<DripCampaignAddDripCampaignBody>
185
+ export type DripCampaignAddDripCampaignMutationError = void
186
+
187
+ /**
188
+ * @summary Create a new drip campaign.
189
+ */
190
+ export const useDripCampaignAddDripCampaign = <TError = void,
191
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignAddDripCampaign>>, TError,{data: NonReadonly<DripCampaignAddDripCampaignBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
192
+ ): UseMutationResult<
193
+ Awaited<ReturnType<typeof dripCampaignAddDripCampaign>>,
194
+ TError,
195
+ {data: NonReadonly<DripCampaignAddDripCampaignBody>},
196
+ TContext
197
+ > => {
198
+
199
+ const mutationOptions = getDripCampaignAddDripCampaignMutationOptions(options);
200
+
201
+ return useMutation(mutationOptions);
202
+ }
203
+ /**
204
+ * @summary Retrieve a drip campaign.
205
+ */
206
+ export const dripCampaignGetDripCampaign = (
207
+ dripCampaignUid: string | null,
208
+ options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
209
+ ) => {
210
+
211
+
212
+ return customFetch<DripCampaign>(
213
+ {url: `/api/v1/email/campaigns/drips/${dripCampaignUid}`, method: 'GET', signal
214
+ },
215
+ options);
216
+ }
217
+
218
+
219
+
220
+
221
+ export const getDripCampaignGetDripCampaignQueryKey = (dripCampaignUid?: string | null,) => {
222
+ return [
223
+ `/api/v1/email/campaigns/drips/${dripCampaignUid}`
224
+ ] as const;
225
+ }
226
+
227
+
228
+ export const getDripCampaignGetDripCampaignQueryOptions = <TData = Awaited<ReturnType<typeof dripCampaignGetDripCampaign>>, TError = void>(dripCampaignUid: string | null, options?: { query?:UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetDripCampaign>>, TError, TData>, request?: SecondParameter<typeof customFetch>}
229
+ ) => {
230
+
231
+ const {query: queryOptions, request: requestOptions} = options ?? {};
232
+
233
+ const queryKey = queryOptions?.queryKey ?? getDripCampaignGetDripCampaignQueryKey(dripCampaignUid);
234
+
235
+
236
+
237
+ const queryFn: QueryFunction<Awaited<ReturnType<typeof dripCampaignGetDripCampaign>>> = ({ signal }) => dripCampaignGetDripCampaign(dripCampaignUid, requestOptions, signal);
238
+
239
+
240
+
241
+
242
+
243
+ return { queryKey, queryFn, enabled: !!(dripCampaignUid), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetDripCampaign>>, TError, TData> & { queryKey: QueryKey }
244
+ }
245
+
246
+ export type DripCampaignGetDripCampaignQueryResult = NonNullable<Awaited<ReturnType<typeof dripCampaignGetDripCampaign>>>
247
+ export type DripCampaignGetDripCampaignQueryError = void
248
+
249
+
250
+ /**
251
+ * @summary Retrieve a drip campaign.
252
+ */
253
+
254
+ export function useDripCampaignGetDripCampaign<TData = Awaited<ReturnType<typeof dripCampaignGetDripCampaign>>, TError = void>(
255
+ dripCampaignUid: string | null, options?: { query?:UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetDripCampaign>>, TError, TData>, request?: SecondParameter<typeof customFetch>}
256
+
257
+ ): UseQueryResult<TData, TError> & { queryKey: QueryKey } {
258
+
259
+ const queryOptions = getDripCampaignGetDripCampaignQueryOptions(dripCampaignUid,options)
260
+
261
+ const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey };
262
+
263
+ query.queryKey = queryOptions.queryKey ;
264
+
265
+ return query;
266
+ }
267
+
268
+
269
+
270
+
271
+ /**
272
+ * Activating a drip campaign (setting IsActive) begins sending its messages to members.
273
+ StartDripToExistingMembers controls whether members already in the campaign receive the
274
+ messages or only members added going forward.
275
+ * @summary Update a drip campaign.
276
+ */
277
+ export const dripCampaignUpdateDripCampaign = (
278
+ dripCampaignUid: string | null,
279
+ dripCampaignUpdateDripCampaignBody: NonReadonly<DripCampaignUpdateDripCampaignBody>,
280
+ options?: SecondParameter<typeof customFetch>,) => {
281
+
282
+
283
+ return customFetch<DripCampaign>(
284
+ {url: `/api/v1/email/campaigns/drips/${dripCampaignUid}`, method: 'PUT',
285
+ headers: {'Content-Type': 'application/json', },
286
+ data: dripCampaignUpdateDripCampaignBody
287
+ },
288
+ options);
289
+ }
290
+
291
+
292
+
293
+ export const getDripCampaignUpdateDripCampaignMutationOptions = <TError = void,
294
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaign>>, TError,{dripCampaignUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
295
+ ): UseMutationOptions<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaign>>, TError,{dripCampaignUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignBody>}, TContext> => {
296
+
297
+ const mutationKey = ['dripCampaignUpdateDripCampaign'];
298
+ const {mutation: mutationOptions, request: requestOptions} = options ?
299
+ options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
300
+ options
301
+ : {...options, mutation: {...options.mutation, mutationKey}}
302
+ : {mutation: { mutationKey, }, request: undefined};
303
+
304
+
305
+
306
+
307
+ const mutationFn: MutationFunction<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaign>>, {dripCampaignUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignBody>}> = (props) => {
308
+ const {dripCampaignUid,data} = props ?? {};
309
+
310
+ return dripCampaignUpdateDripCampaign(dripCampaignUid,data,requestOptions)
311
+ }
312
+
313
+
314
+
315
+
316
+ return { mutationFn, ...mutationOptions }}
317
+
318
+ export type DripCampaignUpdateDripCampaignMutationResult = NonNullable<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaign>>>
319
+ export type DripCampaignUpdateDripCampaignMutationBody = NonReadonly<DripCampaignUpdateDripCampaignBody>
320
+ export type DripCampaignUpdateDripCampaignMutationError = void
321
+
322
+ /**
323
+ * @summary Update a drip campaign.
324
+ */
325
+ export const useDripCampaignUpdateDripCampaign = <TError = void,
326
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaign>>, TError,{dripCampaignUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
327
+ ): UseMutationResult<
328
+ Awaited<ReturnType<typeof dripCampaignUpdateDripCampaign>>,
329
+ TError,
330
+ {dripCampaignUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignBody>},
331
+ TContext
332
+ > => {
333
+
334
+ const mutationOptions = getDripCampaignUpdateDripCampaignMutationOptions(options);
335
+
336
+ return useMutation(mutationOptions);
337
+ }
338
+ /**
339
+ * @summary Delete a drip campaign.
340
+ */
341
+ export const dripCampaignDeleteDripCampaign = (
342
+ dripCampaignUid: string | null,
343
+ options?: SecondParameter<typeof customFetch>,) => {
344
+
345
+
346
+ return customFetch<Blob>(
347
+ {url: `/api/v1/email/campaigns/drips/${dripCampaignUid}`, method: 'DELETE',
348
+ responseType: 'blob'
349
+ },
350
+ options);
351
+ }
352
+
353
+
354
+
355
+ export const getDripCampaignDeleteDripCampaignMutationOptions = <TError = void,
356
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaign>>, TError,{dripCampaignUid: string | null}, TContext>, request?: SecondParameter<typeof customFetch>}
357
+ ): UseMutationOptions<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaign>>, TError,{dripCampaignUid: string | null}, TContext> => {
358
+
359
+ const mutationKey = ['dripCampaignDeleteDripCampaign'];
360
+ const {mutation: mutationOptions, request: requestOptions} = options ?
361
+ options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
362
+ options
363
+ : {...options, mutation: {...options.mutation, mutationKey}}
364
+ : {mutation: { mutationKey, }, request: undefined};
365
+
366
+
367
+
368
+
369
+ const mutationFn: MutationFunction<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaign>>, {dripCampaignUid: string | null}> = (props) => {
370
+ const {dripCampaignUid} = props ?? {};
371
+
372
+ return dripCampaignDeleteDripCampaign(dripCampaignUid,requestOptions)
373
+ }
374
+
375
+
376
+
377
+
378
+ return { mutationFn, ...mutationOptions }}
379
+
380
+ export type DripCampaignDeleteDripCampaignMutationResult = NonNullable<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaign>>>
381
+
382
+ export type DripCampaignDeleteDripCampaignMutationError = void
383
+
384
+ /**
385
+ * @summary Delete a drip campaign.
386
+ */
387
+ export const useDripCampaignDeleteDripCampaign = <TError = void,
388
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaign>>, TError,{dripCampaignUid: string | null}, TContext>, request?: SecondParameter<typeof customFetch>}
389
+ ): UseMutationResult<
390
+ Awaited<ReturnType<typeof dripCampaignDeleteDripCampaign>>,
391
+ TError,
392
+ {dripCampaignUid: string | null},
393
+ TContext
394
+ > => {
395
+
396
+ const mutationOptions = getDripCampaignDeleteDripCampaignMutationOptions(options);
397
+
398
+ return useMutation(mutationOptions);
399
+ }
400
+ /**
401
+ * Adding a message deactivates the drip campaign so its schedule can be reviewed before it
402
+ resumes sending. Use DelayInHours to control how long after the trigger the message is sent.
403
+ * @summary Add a message to a drip campaign.
404
+ */
405
+ export const dripCampaignAddDripCampaignMessage = (
406
+ dripCampaignUid: string | null,
407
+ dripCampaignAddDripCampaignMessageBody: NonReadonly<DripCampaignAddDripCampaignMessageBody>,
408
+ options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
409
+ ) => {
410
+
411
+
412
+ return customFetch<DripCampaignMessage>(
413
+ {url: `/api/v1/email/campaigns/drips/${dripCampaignUid}/messages`, method: 'POST',
414
+ headers: {'Content-Type': 'application/json', },
415
+ data: dripCampaignAddDripCampaignMessageBody, signal
416
+ },
417
+ options);
418
+ }
419
+
420
+
421
+
422
+ export const getDripCampaignAddDripCampaignMessageMutationOptions = <TError = void,
423
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignAddDripCampaignMessage>>, TError,{dripCampaignUid: string | null;data: NonReadonly<DripCampaignAddDripCampaignMessageBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
424
+ ): UseMutationOptions<Awaited<ReturnType<typeof dripCampaignAddDripCampaignMessage>>, TError,{dripCampaignUid: string | null;data: NonReadonly<DripCampaignAddDripCampaignMessageBody>}, TContext> => {
425
+
426
+ const mutationKey = ['dripCampaignAddDripCampaignMessage'];
427
+ const {mutation: mutationOptions, request: requestOptions} = options ?
428
+ options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
429
+ options
430
+ : {...options, mutation: {...options.mutation, mutationKey}}
431
+ : {mutation: { mutationKey, }, request: undefined};
432
+
433
+
434
+
435
+
436
+ const mutationFn: MutationFunction<Awaited<ReturnType<typeof dripCampaignAddDripCampaignMessage>>, {dripCampaignUid: string | null;data: NonReadonly<DripCampaignAddDripCampaignMessageBody>}> = (props) => {
437
+ const {dripCampaignUid,data} = props ?? {};
438
+
439
+ return dripCampaignAddDripCampaignMessage(dripCampaignUid,data,requestOptions)
440
+ }
441
+
442
+
443
+
444
+
445
+ return { mutationFn, ...mutationOptions }}
446
+
447
+ export type DripCampaignAddDripCampaignMessageMutationResult = NonNullable<Awaited<ReturnType<typeof dripCampaignAddDripCampaignMessage>>>
448
+ export type DripCampaignAddDripCampaignMessageMutationBody = NonReadonly<DripCampaignAddDripCampaignMessageBody>
449
+ export type DripCampaignAddDripCampaignMessageMutationError = void
450
+
451
+ /**
452
+ * @summary Add a message to a drip campaign.
453
+ */
454
+ export const useDripCampaignAddDripCampaignMessage = <TError = void,
455
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignAddDripCampaignMessage>>, TError,{dripCampaignUid: string | null;data: NonReadonly<DripCampaignAddDripCampaignMessageBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
456
+ ): UseMutationResult<
457
+ Awaited<ReturnType<typeof dripCampaignAddDripCampaignMessage>>,
458
+ TError,
459
+ {dripCampaignUid: string | null;data: NonReadonly<DripCampaignAddDripCampaignMessageBody>},
460
+ TContext
461
+ > => {
462
+
463
+ const mutationOptions = getDripCampaignAddDripCampaignMessageMutationOptions(options);
464
+
465
+ return useMutation(mutationOptions);
466
+ }
467
+ /**
468
+ * @summary Retrieve a message from a drip campaign.
469
+ */
470
+ export const dripCampaignGetDripCampaignMessage = (
471
+ dripCampaignUid: string | null,
472
+ dripCampaignMessageUid: string | null,
473
+ options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
474
+ ) => {
475
+
476
+
477
+ return customFetch<DripCampaignMessage>(
478
+ {url: `/api/v1/email/campaigns/drips/${dripCampaignUid}/messages/${dripCampaignMessageUid}`, method: 'GET', signal
479
+ },
480
+ options);
481
+ }
482
+
483
+
484
+
485
+
486
+ export const getDripCampaignGetDripCampaignMessageQueryKey = (dripCampaignUid?: string | null,
487
+ dripCampaignMessageUid?: string | null,) => {
488
+ return [
489
+ `/api/v1/email/campaigns/drips/${dripCampaignUid}/messages/${dripCampaignMessageUid}`
490
+ ] as const;
491
+ }
492
+
493
+
494
+ export const getDripCampaignGetDripCampaignMessageQueryOptions = <TData = Awaited<ReturnType<typeof dripCampaignGetDripCampaignMessage>>, TError = void>(dripCampaignUid: string | null,
495
+ dripCampaignMessageUid: string | null, options?: { query?:UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetDripCampaignMessage>>, TError, TData>, request?: SecondParameter<typeof customFetch>}
496
+ ) => {
497
+
498
+ const {query: queryOptions, request: requestOptions} = options ?? {};
499
+
500
+ const queryKey = queryOptions?.queryKey ?? getDripCampaignGetDripCampaignMessageQueryKey(dripCampaignUid,dripCampaignMessageUid);
501
+
502
+
503
+
504
+ const queryFn: QueryFunction<Awaited<ReturnType<typeof dripCampaignGetDripCampaignMessage>>> = ({ signal }) => dripCampaignGetDripCampaignMessage(dripCampaignUid,dripCampaignMessageUid, requestOptions, signal);
505
+
506
+
507
+
508
+
509
+
510
+ return { queryKey, queryFn, enabled: !!(dripCampaignUid && dripCampaignMessageUid), ...queryOptions} as UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetDripCampaignMessage>>, TError, TData> & { queryKey: QueryKey }
511
+ }
512
+
513
+ export type DripCampaignGetDripCampaignMessageQueryResult = NonNullable<Awaited<ReturnType<typeof dripCampaignGetDripCampaignMessage>>>
514
+ export type DripCampaignGetDripCampaignMessageQueryError = void
515
+
516
+
517
+ /**
518
+ * @summary Retrieve a message from a drip campaign.
519
+ */
520
+
521
+ export function useDripCampaignGetDripCampaignMessage<TData = Awaited<ReturnType<typeof dripCampaignGetDripCampaignMessage>>, TError = void>(
522
+ dripCampaignUid: string | null,
523
+ dripCampaignMessageUid: string | null, options?: { query?:UseQueryOptions<Awaited<ReturnType<typeof dripCampaignGetDripCampaignMessage>>, TError, TData>, request?: SecondParameter<typeof customFetch>}
524
+
525
+ ): UseQueryResult<TData, TError> & { queryKey: QueryKey } {
526
+
527
+ const queryOptions = getDripCampaignGetDripCampaignMessageQueryOptions(dripCampaignUid,dripCampaignMessageUid,options)
528
+
529
+ const query = useQuery(queryOptions) as UseQueryResult<TData, TError> & { queryKey: QueryKey };
530
+
531
+ query.queryKey = queryOptions.queryKey ;
532
+
533
+ return query;
534
+ }
535
+
536
+
537
+
538
+
539
+ /**
540
+ * Changing DelayInHours on an active drip campaign reschedules the drip for its existing
541
+ members. The DripCampaign Uid on the body, if supplied, must match the dripCampaignUid in
542
+ the URL, and the message Uid on the body must match the dripCampaignMessageUid in the URL.
543
+ * @summary Update a message in a drip campaign.
544
+ */
545
+ export const dripCampaignUpdateDripCampaignMessage = (
546
+ dripCampaignUid: string | null,
547
+ dripCampaignMessageUid: string | null,
548
+ dripCampaignUpdateDripCampaignMessageBody: NonReadonly<DripCampaignUpdateDripCampaignMessageBody>,
549
+ options?: SecondParameter<typeof customFetch>,) => {
550
+
551
+
552
+ return customFetch<DripCampaignMessage>(
553
+ {url: `/api/v1/email/campaigns/drips/${dripCampaignUid}/messages/${dripCampaignMessageUid}`, method: 'PUT',
554
+ headers: {'Content-Type': 'application/json', },
555
+ data: dripCampaignUpdateDripCampaignMessageBody
556
+ },
557
+ options);
558
+ }
559
+
560
+
561
+
562
+ export const getDripCampaignUpdateDripCampaignMessageMutationOptions = <TError = void,
563
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaignMessage>>, TError,{dripCampaignUid: string | null;dripCampaignMessageUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignMessageBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
564
+ ): UseMutationOptions<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaignMessage>>, TError,{dripCampaignUid: string | null;dripCampaignMessageUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignMessageBody>}, TContext> => {
565
+
566
+ const mutationKey = ['dripCampaignUpdateDripCampaignMessage'];
567
+ const {mutation: mutationOptions, request: requestOptions} = options ?
568
+ options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
569
+ options
570
+ : {...options, mutation: {...options.mutation, mutationKey}}
571
+ : {mutation: { mutationKey, }, request: undefined};
572
+
573
+
574
+
575
+
576
+ const mutationFn: MutationFunction<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaignMessage>>, {dripCampaignUid: string | null;dripCampaignMessageUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignMessageBody>}> = (props) => {
577
+ const {dripCampaignUid,dripCampaignMessageUid,data} = props ?? {};
578
+
579
+ return dripCampaignUpdateDripCampaignMessage(dripCampaignUid,dripCampaignMessageUid,data,requestOptions)
580
+ }
581
+
582
+
583
+
584
+
585
+ return { mutationFn, ...mutationOptions }}
586
+
587
+ export type DripCampaignUpdateDripCampaignMessageMutationResult = NonNullable<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaignMessage>>>
588
+ export type DripCampaignUpdateDripCampaignMessageMutationBody = NonReadonly<DripCampaignUpdateDripCampaignMessageBody>
589
+ export type DripCampaignUpdateDripCampaignMessageMutationError = void
590
+
591
+ /**
592
+ * @summary Update a message in a drip campaign.
593
+ */
594
+ export const useDripCampaignUpdateDripCampaignMessage = <TError = void,
595
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignUpdateDripCampaignMessage>>, TError,{dripCampaignUid: string | null;dripCampaignMessageUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignMessageBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
596
+ ): UseMutationResult<
597
+ Awaited<ReturnType<typeof dripCampaignUpdateDripCampaignMessage>>,
598
+ TError,
599
+ {dripCampaignUid: string | null;dripCampaignMessageUid: string | null;data: NonReadonly<DripCampaignUpdateDripCampaignMessageBody>},
600
+ TContext
601
+ > => {
602
+
603
+ const mutationOptions = getDripCampaignUpdateDripCampaignMessageMutationOptions(options);
604
+
605
+ return useMutation(mutationOptions);
606
+ }
607
+ /**
608
+ * If the drip campaign is active, the drip is rescheduled for its existing members after the
609
+ message is removed.
610
+ * @summary Delete a message from a drip campaign.
611
+ */
612
+ export const dripCampaignDeleteDripCampaignMessage = (
613
+ dripCampaignUid: string | null,
614
+ dripCampaignMessageUid: string | null,
615
+ options?: SecondParameter<typeof customFetch>,) => {
616
+
617
+
618
+ return customFetch<Blob>(
619
+ {url: `/api/v1/email/campaigns/drips/${dripCampaignUid}/messages/${dripCampaignMessageUid}`, method: 'DELETE',
620
+ responseType: 'blob'
621
+ },
622
+ options);
623
+ }
624
+
625
+
626
+
627
+ export const getDripCampaignDeleteDripCampaignMessageMutationOptions = <TError = void,
628
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaignMessage>>, TError,{dripCampaignUid: string | null;dripCampaignMessageUid: string | null}, TContext>, request?: SecondParameter<typeof customFetch>}
629
+ ): UseMutationOptions<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaignMessage>>, TError,{dripCampaignUid: string | null;dripCampaignMessageUid: string | null}, TContext> => {
630
+
631
+ const mutationKey = ['dripCampaignDeleteDripCampaignMessage'];
632
+ const {mutation: mutationOptions, request: requestOptions} = options ?
633
+ options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
634
+ options
635
+ : {...options, mutation: {...options.mutation, mutationKey}}
636
+ : {mutation: { mutationKey, }, request: undefined};
637
+
638
+
639
+
640
+
641
+ const mutationFn: MutationFunction<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaignMessage>>, {dripCampaignUid: string | null;dripCampaignMessageUid: string | null}> = (props) => {
642
+ const {dripCampaignUid,dripCampaignMessageUid} = props ?? {};
643
+
644
+ return dripCampaignDeleteDripCampaignMessage(dripCampaignUid,dripCampaignMessageUid,requestOptions)
645
+ }
646
+
647
+
648
+
649
+
650
+ return { mutationFn, ...mutationOptions }}
651
+
652
+ export type DripCampaignDeleteDripCampaignMessageMutationResult = NonNullable<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaignMessage>>>
653
+
654
+ export type DripCampaignDeleteDripCampaignMessageMutationError = void
655
+
656
+ /**
657
+ * @summary Delete a message from a drip campaign.
658
+ */
659
+ export const useDripCampaignDeleteDripCampaignMessage = <TError = void,
660
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignDeleteDripCampaignMessage>>, TError,{dripCampaignUid: string | null;dripCampaignMessageUid: string | null}, TContext>, request?: SecondParameter<typeof customFetch>}
661
+ ): UseMutationResult<
662
+ Awaited<ReturnType<typeof dripCampaignDeleteDripCampaignMessage>>,
663
+ TError,
664
+ {dripCampaignUid: string | null;dripCampaignMessageUid: string | null},
665
+ TContext
666
+ > => {
667
+
668
+ const mutationOptions = getDripCampaignDeleteDripCampaignMessageMutationOptions(options);
669
+
670
+ return useMutation(mutationOptions);
671
+ }
672
+ /**
673
+ * Sends the drip campaign to the logged-in user and optionally to additional recipients.
674
+ Additional recipients are specified as a list of person Uids and must belong to the same
675
+ account as the logged-in user. Sending is skipped when the account is restricted due to
676
+ unpaid invoices.
677
+ * @summary Send a test email for a drip campaign.
678
+ */
679
+ export const dripCampaignSendTestCampaignEmail = (
680
+ dripCampaignSendTestCampaignEmailBody: DripCampaignSendTestCampaignEmailBody,
681
+ options?: SecondParameter<typeof customFetch>,signal?: AbortSignal
682
+ ) => {
683
+
684
+
685
+ return customFetch<Blob>(
686
+ {url: `/api/v1/email/campaigns/drips/sendtestemail`, method: 'POST',
687
+ headers: {'Content-Type': 'application/json', },
688
+ data: dripCampaignSendTestCampaignEmailBody,
689
+ responseType: 'blob', signal
690
+ },
691
+ options);
692
+ }
693
+
694
+
695
+
696
+ export const getDripCampaignSendTestCampaignEmailMutationOptions = <TError = void,
697
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignSendTestCampaignEmail>>, TError,{data: DripCampaignSendTestCampaignEmailBody}, TContext>, request?: SecondParameter<typeof customFetch>}
698
+ ): UseMutationOptions<Awaited<ReturnType<typeof dripCampaignSendTestCampaignEmail>>, TError,{data: DripCampaignSendTestCampaignEmailBody}, TContext> => {
699
+
700
+ const mutationKey = ['dripCampaignSendTestCampaignEmail'];
701
+ const {mutation: mutationOptions, request: requestOptions} = options ?
702
+ options.mutation && 'mutationKey' in options.mutation && options.mutation.mutationKey ?
703
+ options
704
+ : {...options, mutation: {...options.mutation, mutationKey}}
705
+ : {mutation: { mutationKey, }, request: undefined};
706
+
707
+
708
+
709
+
710
+ const mutationFn: MutationFunction<Awaited<ReturnType<typeof dripCampaignSendTestCampaignEmail>>, {data: DripCampaignSendTestCampaignEmailBody}> = (props) => {
711
+ const {data} = props ?? {};
712
+
713
+ return dripCampaignSendTestCampaignEmail(data,requestOptions)
714
+ }
715
+
716
+
717
+
718
+
719
+ return { mutationFn, ...mutationOptions }}
720
+
721
+ export type DripCampaignSendTestCampaignEmailMutationResult = NonNullable<Awaited<ReturnType<typeof dripCampaignSendTestCampaignEmail>>>
722
+ export type DripCampaignSendTestCampaignEmailMutationBody = DripCampaignSendTestCampaignEmailBody
723
+ export type DripCampaignSendTestCampaignEmailMutationError = void
724
+
725
+ /**
726
+ * @summary Send a test email for a drip campaign.
727
+ */
728
+ export const useDripCampaignSendTestCampaignEmail = <TError = void,
729
+ TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof dripCampaignSendTestCampaignEmail>>, TError,{data: DripCampaignSendTestCampaignEmailBody}, TContext>, request?: SecondParameter<typeof customFetch>}
730
+ ): UseMutationResult<
731
+ Awaited<ReturnType<typeof dripCampaignSendTestCampaignEmail>>,
732
+ TError,
733
+ {data: DripCampaignSendTestCampaignEmailBody},
734
+ TContext
735
+ > => {
736
+
737
+ const mutationOptions = getDripCampaignSendTestCampaignEmailMutationOptions(options);
738
+
739
+ return useMutation(mutationOptions);
740
+ }
741
+ /**
742
+ * Archived broadcasts are excluded.
743
+ * @summary Retrieve all broadcasts.
63
744
  */
64
745
  export const campaignGetAllBroadcastEmails = (
65
746
 
@@ -106,7 +787,7 @@ export type CampaignGetAllBroadcastEmailsQueryError = void
106
787
 
107
788
 
108
789
  /**
109
- * @summary Retrieve all broadcast campaigns.
790
+ * @summary Retrieve all broadcasts.
110
791
  */
111
792
 
112
793
  export function useCampaignGetAllBroadcastEmails<TData = Awaited<ReturnType<typeof campaignGetAllBroadcastEmails>>, TError = void>(
@@ -128,10 +809,32 @@ export function useCampaignGetAllBroadcastEmails<TData = Awaited<ReturnType<type
128
809
 
129
810
  /**
130
811
  * To copy an existing broadcast, retrieve it and pass its data as the request body — the
131
- Uid, SendDateTime, and message counts are automatically reset. Recipients can be
132
- specified using EmailListUids and SegmentUids instead of populating RecipientData
133
- directly. If both are provided, they are merged.
134
- * @summary Create a new broadcast campaign.
812
+ Uid, SendDateTime, and message counts are automatically reset. A new broadcast is always
813
+ created as a Draft; schedule it by updating it with a SendDateTime (see the update endpoint).
814
+
815
+ Specify who the broadcast is sent to with EmailListUids and/or SegmentUids: EmailListUids is
816
+ an array of email list Uids (from GET /api/v1/email/lists) and SegmentUids is an array of
817
+ segment Uids (from GET /api/v1/crm/segments). These are the recommended way to set recipients
818
+ — they are merged into the underlying RecipientData for you, so callers (including LLM tools)
819
+ do not need to build that structure by hand; unknown Uids are rejected. RecipientData may
820
+ still be supplied directly (a JSON string of the form
821
+ {"BroadcastRecipientsEmailLists":[{"Uid":"..."}],"BroadcastRecipientsSegments":[{"Uid":"..."}]});
822
+ when both are present they are merged.
823
+
824
+ Message.Body is the complete HTML email and is exactly what gets sent. It is rendered as a
825
+ Liquid template, so it may include merge tags such as {{ Person.FirstName }}; unknown {{ }}
826
+ tokens render as empty text. An inline-styled HTML fragment is recommended, though a full
827
+ HTML document is also accepted. Message.Design (the drag-and-drop editor state) is optional —
828
+ when omitted it is generated automatically from Body, so callers (including LLM tools) do not
829
+ need to understand it. Use Message.PreviewText for inbox preview text rather than an in-body
830
+ preheader.
831
+
832
+ You must include a visible unsubscribe link in the body yourself: add {{ UnsubscribeLink }}
833
+ (a ready-made anchor) or {{ UnsubscribeUrl }} (the raw URL) where you want it. One is not
834
+ inserted automatically, and its presence is not validated. A one-click List-Unsubscribe
835
+ header is always added, but most anti-spam laws (e.g. CAN-SPAM) also require a visible
836
+ unsubscribe link in the body.
837
+ * @summary Create a new broadcast.
135
838
  */
136
839
  export const campaignAddBroadcastEmail = (
137
840
  campaignAddBroadcastEmailBody: NonReadonly<CampaignAddBroadcastEmailBody>,
@@ -179,7 +882,7 @@ const {mutation: mutationOptions, request: requestOptions} = options ?
179
882
  export type CampaignAddBroadcastEmailMutationError = void
180
883
 
181
884
  /**
182
- * @summary Create a new broadcast campaign.
885
+ * @summary Create a new broadcast.
183
886
  */
184
887
  export const useCampaignAddBroadcastEmail = <TError = void,
185
888
  TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof campaignAddBroadcastEmail>>, TError,{data: NonReadonly<CampaignAddBroadcastEmailBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
@@ -195,7 +898,7 @@ export const useCampaignAddBroadcastEmail = <TError = void,
195
898
  return useMutation(mutationOptions);
196
899
  }
197
900
  /**
198
- * @summary Retrieve a broadcast campaign.
901
+ * @summary Retrieve a broadcast.
199
902
  */
200
903
  export const campaignGetBroadcastEmail = (
201
904
  broadcastCampaignUid: string | null,
@@ -242,7 +945,7 @@ export type CampaignGetBroadcastEmailQueryError = void
242
945
 
243
946
 
244
947
  /**
245
- * @summary Retrieve a broadcast campaign.
948
+ * @summary Retrieve a broadcast.
246
949
  */
247
950
 
248
951
  export function useCampaignGetBroadcastEmail<TData = Awaited<ReturnType<typeof campaignGetBroadcastEmail>>, TError = void>(
@@ -263,11 +966,17 @@ export function useCampaignGetBroadcastEmail<TData = Awaited<ReturnType<typeof c
263
966
 
264
967
 
265
968
  /**
266
- * Setting SendDateTime to a future date schedules the broadcast for sending and its status
267
- changes to Pending. Clearing SendDateTime unschedules the broadcast. Recipients can be
268
- specified using EmailListUids and SegmentUids instead of populating RecipientData
269
- directly. If both are provided, they are merged.
270
- * @summary Update a broadcast campaign.
969
+ * Setting SendDateTime to a future UTC date schedules the broadcast for sending and its status
970
+ changes to Pending. Clearing SendDateTime unschedules the broadcast. Recipients can be added
971
+ with EmailListUids and SegmentUids (see the create endpoint): on update these are merged onto
972
+ the broadcast's existing recipients and only ever add — to remove recipients or replace the
973
+ set, send RecipientData directly.
974
+
975
+ When changing Message.Body, omit Message.Design: it is regenerated from the new Body so the
976
+ drag-and-drop editor stays in sync. Sending a Design that was captured from an earlier
977
+ response alongside an edited Body would otherwise keep the stale design. See the create
978
+ endpoint for how Body is rendered (Liquid) and the unsubscribe-token expectation.
979
+ * @summary Update a broadcast.
271
980
  */
272
981
  export const campaignUpdateBroadcastEmail = (
273
982
  broadcastCampaignUid: string | null,
@@ -315,7 +1024,7 @@ const {mutation: mutationOptions, request: requestOptions} = options ?
315
1024
  export type CampaignUpdateBroadcastEmailMutationError = void
316
1025
 
317
1026
  /**
318
- * @summary Update a broadcast campaign.
1027
+ * @summary Update a broadcast.
319
1028
  */
320
1029
  export const useCampaignUpdateBroadcastEmail = <TError = void,
321
1030
  TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof campaignUpdateBroadcastEmail>>, TError,{broadcastCampaignUid: string | null;data: NonReadonly<CampaignUpdateBroadcastEmailBody>}, TContext>, request?: SecondParameter<typeof customFetch>}
@@ -331,9 +1040,9 @@ export const useCampaignUpdateBroadcastEmail = <TError = void,
331
1040
  return useMutation(mutationOptions);
332
1041
  }
333
1042
  /**
334
- * Only campaigns in Draft or Pending status can be deleted. Campaigns that have been
1043
+ * Only broadcasts in Draft or Pending status can be deleted. Broadcasts that have been
335
1044
  processed should be archived instead.
336
- * @summary Delete a broadcast campaign.
1045
+ * @summary Delete a broadcast.
337
1046
  */
338
1047
  export const campaignDeleteBroadcastCampaign = (
339
1048
  broadcastCampaignUid: string | null,
@@ -379,7 +1088,7 @@ const {mutation: mutationOptions, request: requestOptions} = options ?
379
1088
  export type CampaignDeleteBroadcastCampaignMutationError = void
380
1089
 
381
1090
  /**
382
- * @summary Delete a broadcast campaign.
1091
+ * @summary Delete a broadcast.
383
1092
  */
384
1093
  export const useCampaignDeleteBroadcastCampaign = <TError = void,
385
1094
  TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof campaignDeleteBroadcastCampaign>>, TError,{broadcastCampaignUid: string | null}, TContext>, request?: SecondParameter<typeof customFetch>}
@@ -395,7 +1104,8 @@ export const useCampaignDeleteBroadcastCampaign = <TError = void,
395
1104
  return useMutation(mutationOptions);
396
1105
  }
397
1106
  /**
398
- * @summary Unschedules a pending broadcast campaign, reverting its status to Draft.
1107
+ * Unschedules a pending broadcast, reverting its status to Draft.
1108
+ * @summary Unschedule a broadcast.
399
1109
  */
400
1110
  export const campaignUnscheduleBroadcastEmail = (
401
1111
  broadcastCampaignUid: string | null,
@@ -441,7 +1151,7 @@ const {mutation: mutationOptions, request: requestOptions} = options ?
441
1151
  export type CampaignUnscheduleBroadcastEmailMutationError = void
442
1152
 
443
1153
  /**
444
- * @summary Unschedules a pending broadcast campaign, reverting its status to Draft.
1154
+ * @summary Unschedule a broadcast.
445
1155
  */
446
1156
  export const useCampaignUnscheduleBroadcastEmail = <TError = void,
447
1157
  TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof campaignUnscheduleBroadcastEmail>>, TError,{broadcastCampaignUid: string | null}, TContext>, request?: SecondParameter<typeof customFetch>}
@@ -457,7 +1167,8 @@ export const useCampaignUnscheduleBroadcastEmail = <TError = void,
457
1167
  return useMutation(mutationOptions);
458
1168
  }
459
1169
  /**
460
- * @summary Archives a broadcast campaign. Archived campaigns are excluded from the default list results.
1170
+ * Archived broadcasts are excluded from the default list results.
1171
+ * @summary Archive a broadcast.
461
1172
  */
462
1173
  export const campaignArchiveBroadcastCampaign = (
463
1174
  broadcastCampaignUid: string | null,
@@ -504,7 +1215,7 @@ const {mutation: mutationOptions, request: requestOptions} = options ?
504
1215
  export type CampaignArchiveBroadcastCampaignMutationError = void
505
1216
 
506
1217
  /**
507
- * @summary Archives a broadcast campaign. Archived campaigns are excluded from the default list results.
1218
+ * @summary Archive a broadcast.
508
1219
  */
509
1220
  export const useCampaignArchiveBroadcastCampaign = <TError = void,
510
1221
  TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof campaignArchiveBroadcastCampaign>>, TError,{broadcastCampaignUid: string | null}, TContext>, request?: SecondParameter<typeof customFetch>}
@@ -523,7 +1234,7 @@ export const useCampaignArchiveBroadcastCampaign = <TError = void,
523
1234
  * Sends to the logged-in user and optionally to additional recipients. Additional
524
1235
  recipients are specified as a list of person Uids and must belong to the same account
525
1236
  as the logged-in user.
526
- * @summary Send a test email for a broadcast campaign.
1237
+ * @summary Send a test email for a broadcast.
527
1238
  */
528
1239
  export const campaignSendTestCampaignEmail = (
529
1240
  campaignSendTestCampaignEmailBody: CampaignSendTestCampaignEmailBody,
@@ -572,7 +1283,7 @@ const {mutation: mutationOptions, request: requestOptions} = options ?
572
1283
  export type CampaignSendTestCampaignEmailMutationError = void
573
1284
 
574
1285
  /**
575
- * @summary Send a test email for a broadcast campaign.
1286
+ * @summary Send a test email for a broadcast.
576
1287
  */
577
1288
  export const useCampaignSendTestCampaignEmail = <TError = void,
578
1289
  TContext = unknown>(options?: { mutation?:UseMutationOptions<Awaited<ReturnType<typeof campaignSendTestCampaignEmail>>, TError,{data: CampaignSendTestCampaignEmailBody}, TContext>, request?: SecondParameter<typeof customFetch>}