@outseta/react 0.4.3 → 0.4.5
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.js +2734 -259
- package/package.json +2 -2
- package/src/generated/crm/crm.ts +17 -12
- package/src/generated/email/email.ts +736 -25
- package/src/generated/outsetaAPI.schemas.ts +35953 -3588
- package/src/generated/support/support.ts +65 -0
|
@@ -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
|
-
*
|
|
62
|
-
|
|
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
|
|
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.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
-
*
|
|
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
|
|
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
|
|
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
|
|
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>}
|