arky-sdk 0.3.126 → 0.3.127
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.cjs +168 -19
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +19 -3
- package/dist/index.d.ts +19 -3
- package/dist/index.js +168 -19
- package/dist/index.js.map +1 -1
- package/dist/types.cjs +3 -7
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +113 -42
- package/dist/types.d.ts +113 -42
- package/dist/types.js +3 -7
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UpdateUserProfileParams, RequestOptions, DeleteUserParams, AddPhoneNumberParams, PhoneNumberConfirmParams, GetMeParams, SearchUsersParams, SetRoleParams, LoginUserParams, RegisterUserParams, LogoutParams, ConfirmUserParams, GetLoginUrlParams, ForgotPasswordParams, ResetForgotPasswordParams, ResetPasswordParams, UserSubscribeParams, CreateBusinessParams, UpdateBusinessParams, DeleteBusinessParams, GetBusinessParams, GetBusinessesParams, GetBusinessParentsParams, TriggerBuildsParams, GetSubscriptionPlansParams, GetSubscriptionParams, SubscribeParams, CreatePortalSessionParams, InviteUserParams, HandleInvitationParams, TestWebhookParams, GetBusinessMediaParams2, ProcessRefundParams, UploadBusinessMediaParams, DeleteBusinessMediaParams, GetBusinessMediaParams, UpdateMediaParams, CreateRoleParams, UpdateRoleParams, DeleteRoleParams, GetRoleParams, GetRolesParams, TrackEmailOpenParams, GetDeliveryStatsParams, CreatePromoCodeParams, UpdatePromoCodeParams, DeletePromoCodeParams, GetPromoCodeParams, GetPromoCodesParams, GetAnalyticsParams, CreateNodeParams, UpdateNodeParams, DeleteNodeParams, GetNodeParams, GetNodesParams, GetNodeChildrenParams, GenerateBlocksParams,
|
|
1
|
+
import { UpdateUserProfileParams, RequestOptions, DeleteUserParams, AddPhoneNumberParams, PhoneNumberConfirmParams, GetMeParams, SearchUsersParams, SetRoleParams, LoginUserParams, RegisterUserParams, LogoutParams, ConfirmUserParams, GetLoginUrlParams, ForgotPasswordParams, ResetForgotPasswordParams, ResetPasswordParams, UserSubscribeParams, CreateBusinessParams, UpdateBusinessParams, DeleteBusinessParams, GetBusinessParams, GetBusinessesParams, GetBusinessParentsParams, TriggerBuildsParams, GetSubscriptionPlansParams, GetSubscriptionParams, SubscribeParams, CreatePortalSessionParams, InviteUserParams, HandleInvitationParams, TestWebhookParams, GetBusinessMediaParams2, ProcessRefundParams, UploadBusinessMediaParams, DeleteBusinessMediaParams, GetBusinessMediaParams, UpdateMediaParams, CreateRoleParams, UpdateRoleParams, DeleteRoleParams, GetRoleParams, GetRolesParams, TrackEmailOpenParams, GetDeliveryStatsParams, CreatePromoCodeParams, UpdatePromoCodeParams, DeletePromoCodeParams, GetPromoCodeParams, GetPromoCodesParams, GetAnalyticsParams, CreateNodeParams, UpdateNodeParams, DeleteNodeParams, GetNodeParams, GetNodesParams, GetNodeChildrenParams, GenerateBlocksParams, GetVariableMetadataParams, CreateProductParams, UpdateProductParams, DeleteProductParams, GetProductParams, GetProductsParams, CreateOrderParams, UpdateOrderParams, GetOrderParams, GetOrdersParams, GetQuoteParams, OrderCheckoutParams, Slot, CreateReservationParams, UpdateReservationParams, ReservationCheckoutParams, GetReservationParams, SearchReservationsParams, GetReservationQuoteParams, CreateServiceParams, UpdateServiceParams, DeleteServiceParams, BulkScheduleParams, GetServiceParams, GetServicesParams, CreateProviderParams, UpdateProviderParams, DeleteProviderParams, GetProviderParams, GetProvidersParams, GetBusinessServiceWorkingTimeParams, CreateFeatureFlagParams, FeatureFlag, GetFeatureFlagParams, GetFeatureFlagsParams, UpdateFeatureFlagParams, DeleteFeatureFlagParams, GetFeatureFlagResultsParams, FlagResults, GetVariantParams, GetVariantResponse, TrackEventParams, TrackEventResponse, CreateNewsletterParams, Newsletter, GetNewsletterParams, GetNewslettersParams, Paginated, UpdateNewsletterParams, DeleteNewsletterParams, GetSubscribersParams, SubscriberInfo, CreateNewsletterPostParams, NewsletterPost, GetNewsletterPostParams, GetNewsletterPostsParams, UpdateNewsletterPostParams, DeleteNewsletterPostParams, ScheduleSendParams, CancelSendParams } from './types.cjs';
|
|
2
2
|
export { ApiResponse, Block, Business, BusinessConfig, DayAvailability, EshopCartItem, EshopStoreState, GetAvailabilityParams, GetSlotsForDateParams, Language, Location, Market, Media, MediaResolution, PaginatedResponse, Payment, PaymentMethod, PaymentMethodType, PaymentProviderConfig, PaymentRefund, Price, PromoCodeValidation, ProviderWithTimeline, Quote, ReservationCartItem, ReservationStoreState, Seo, ShippingMethod, ShippingWeightTier, Zone } from './types.cjs';
|
|
3
3
|
import { e as extractBlockValues, g as getBlockLabel, a as getBlockTextValue, f as formatBlockValue, p as prepareBlocksForSubmission, b as getMarketPrice, c as getPriceAmount, d as formatPayment, h as formatMinor, i as createPaymentForCheckout, j as getCurrencySymbol, v as validatePhoneNumber, k as findTimeZone, s as slugify, l as humanize, m as categorify, n as formatDate, o as getSvgContentForAstro, q as fetchSvgContent, r as injectSvgIntoElement } from './svg-DaEaIf5S.cjs';
|
|
4
4
|
|
|
@@ -145,9 +145,7 @@ declare function createArkySDK(config: HttpClientConfig & {
|
|
|
145
145
|
getNodes(params: GetNodesParams, options?: RequestOptions): Promise<any>;
|
|
146
146
|
getNodeChildren(params: GetNodeChildrenParams, options?: RequestOptions): Promise<any>;
|
|
147
147
|
generateBlocks(params: GenerateBlocksParams, options?: RequestOptions): Promise<any>;
|
|
148
|
-
sendNode(params: SendNodeParams, options?: RequestOptions): Promise<any>;
|
|
149
148
|
getVariableMetadata(params: GetVariableMetadataParams, options?: RequestOptions): Promise<any>;
|
|
150
|
-
getNodeSubscribers(params: GetNodeSubscribersParams, options?: RequestOptions): Promise<any>;
|
|
151
149
|
};
|
|
152
150
|
eshop: {
|
|
153
151
|
createProduct(params: CreateProductParams, options?: RequestOptions): Promise<any>;
|
|
@@ -217,6 +215,24 @@ declare function createArkySDK(config: HttpClientConfig & {
|
|
|
217
215
|
getCountries(options?: RequestOptions): Promise<GetCountriesResponse>;
|
|
218
216
|
getCountryStates(countryCode: string, options?: RequestOptions): Promise<LocationCountry>;
|
|
219
217
|
};
|
|
218
|
+
newsletter: {
|
|
219
|
+
createNewsletter(params: CreateNewsletterParams, options?: RequestOptions<Newsletter>): Promise<Newsletter>;
|
|
220
|
+
getNewsletter(params: GetNewsletterParams, options?: RequestOptions<Newsletter>): Promise<Newsletter>;
|
|
221
|
+
getNewsletters(params?: GetNewslettersParams, options?: RequestOptions<Paginated<Newsletter>>): Promise<Paginated<Newsletter>>;
|
|
222
|
+
updateNewsletter(params: UpdateNewsletterParams, options?: RequestOptions<Newsletter>): Promise<Newsletter>;
|
|
223
|
+
deleteNewsletter(params: DeleteNewsletterParams, options?: RequestOptions<boolean>): Promise<boolean>;
|
|
224
|
+
getSubscribers(params: GetSubscribersParams, options?: RequestOptions<SubscriberInfo[]>): Promise<SubscriberInfo[]>;
|
|
225
|
+
createPost(params: CreateNewsletterPostParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
226
|
+
getPost(params: GetNewsletterPostParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
227
|
+
getPosts(params: GetNewsletterPostsParams, options?: RequestOptions<Paginated<NewsletterPost>>): Promise<Paginated<NewsletterPost>>;
|
|
228
|
+
updatePost(params: UpdateNewsletterPostParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
229
|
+
deletePost(params: DeleteNewsletterPostParams, options?: RequestOptions<boolean>): Promise<boolean>;
|
|
230
|
+
scheduleSend(params: ScheduleSendParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
231
|
+
cancelSend(params: CancelSendParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
232
|
+
publishPost(newsletterId: string, postId: string): Promise<NewsletterPost>;
|
|
233
|
+
archivePost(newsletterId: string, postId: string): Promise<NewsletterPost>;
|
|
234
|
+
sendNow(newsletterId: string, postId: string): Promise<NewsletterPost>;
|
|
235
|
+
};
|
|
220
236
|
setBusinessId: (businessId: string) => void;
|
|
221
237
|
getBusinessId: () => string;
|
|
222
238
|
setMarket: (market: string) => void;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { UpdateUserProfileParams, RequestOptions, DeleteUserParams, AddPhoneNumberParams, PhoneNumberConfirmParams, GetMeParams, SearchUsersParams, SetRoleParams, LoginUserParams, RegisterUserParams, LogoutParams, ConfirmUserParams, GetLoginUrlParams, ForgotPasswordParams, ResetForgotPasswordParams, ResetPasswordParams, UserSubscribeParams, CreateBusinessParams, UpdateBusinessParams, DeleteBusinessParams, GetBusinessParams, GetBusinessesParams, GetBusinessParentsParams, TriggerBuildsParams, GetSubscriptionPlansParams, GetSubscriptionParams, SubscribeParams, CreatePortalSessionParams, InviteUserParams, HandleInvitationParams, TestWebhookParams, GetBusinessMediaParams2, ProcessRefundParams, UploadBusinessMediaParams, DeleteBusinessMediaParams, GetBusinessMediaParams, UpdateMediaParams, CreateRoleParams, UpdateRoleParams, DeleteRoleParams, GetRoleParams, GetRolesParams, TrackEmailOpenParams, GetDeliveryStatsParams, CreatePromoCodeParams, UpdatePromoCodeParams, DeletePromoCodeParams, GetPromoCodeParams, GetPromoCodesParams, GetAnalyticsParams, CreateNodeParams, UpdateNodeParams, DeleteNodeParams, GetNodeParams, GetNodesParams, GetNodeChildrenParams, GenerateBlocksParams,
|
|
1
|
+
import { UpdateUserProfileParams, RequestOptions, DeleteUserParams, AddPhoneNumberParams, PhoneNumberConfirmParams, GetMeParams, SearchUsersParams, SetRoleParams, LoginUserParams, RegisterUserParams, LogoutParams, ConfirmUserParams, GetLoginUrlParams, ForgotPasswordParams, ResetForgotPasswordParams, ResetPasswordParams, UserSubscribeParams, CreateBusinessParams, UpdateBusinessParams, DeleteBusinessParams, GetBusinessParams, GetBusinessesParams, GetBusinessParentsParams, TriggerBuildsParams, GetSubscriptionPlansParams, GetSubscriptionParams, SubscribeParams, CreatePortalSessionParams, InviteUserParams, HandleInvitationParams, TestWebhookParams, GetBusinessMediaParams2, ProcessRefundParams, UploadBusinessMediaParams, DeleteBusinessMediaParams, GetBusinessMediaParams, UpdateMediaParams, CreateRoleParams, UpdateRoleParams, DeleteRoleParams, GetRoleParams, GetRolesParams, TrackEmailOpenParams, GetDeliveryStatsParams, CreatePromoCodeParams, UpdatePromoCodeParams, DeletePromoCodeParams, GetPromoCodeParams, GetPromoCodesParams, GetAnalyticsParams, CreateNodeParams, UpdateNodeParams, DeleteNodeParams, GetNodeParams, GetNodesParams, GetNodeChildrenParams, GenerateBlocksParams, GetVariableMetadataParams, CreateProductParams, UpdateProductParams, DeleteProductParams, GetProductParams, GetProductsParams, CreateOrderParams, UpdateOrderParams, GetOrderParams, GetOrdersParams, GetQuoteParams, OrderCheckoutParams, Slot, CreateReservationParams, UpdateReservationParams, ReservationCheckoutParams, GetReservationParams, SearchReservationsParams, GetReservationQuoteParams, CreateServiceParams, UpdateServiceParams, DeleteServiceParams, BulkScheduleParams, GetServiceParams, GetServicesParams, CreateProviderParams, UpdateProviderParams, DeleteProviderParams, GetProviderParams, GetProvidersParams, GetBusinessServiceWorkingTimeParams, CreateFeatureFlagParams, FeatureFlag, GetFeatureFlagParams, GetFeatureFlagsParams, UpdateFeatureFlagParams, DeleteFeatureFlagParams, GetFeatureFlagResultsParams, FlagResults, GetVariantParams, GetVariantResponse, TrackEventParams, TrackEventResponse, CreateNewsletterParams, Newsletter, GetNewsletterParams, GetNewslettersParams, Paginated, UpdateNewsletterParams, DeleteNewsletterParams, GetSubscribersParams, SubscriberInfo, CreateNewsletterPostParams, NewsletterPost, GetNewsletterPostParams, GetNewsletterPostsParams, UpdateNewsletterPostParams, DeleteNewsletterPostParams, ScheduleSendParams, CancelSendParams } from './types.js';
|
|
2
2
|
export { ApiResponse, Block, Business, BusinessConfig, DayAvailability, EshopCartItem, EshopStoreState, GetAvailabilityParams, GetSlotsForDateParams, Language, Location, Market, Media, MediaResolution, PaginatedResponse, Payment, PaymentMethod, PaymentMethodType, PaymentProviderConfig, PaymentRefund, Price, PromoCodeValidation, ProviderWithTimeline, Quote, ReservationCartItem, ReservationStoreState, Seo, ShippingMethod, ShippingWeightTier, Zone } from './types.js';
|
|
3
3
|
import { e as extractBlockValues, g as getBlockLabel, a as getBlockTextValue, f as formatBlockValue, p as prepareBlocksForSubmission, b as getMarketPrice, c as getPriceAmount, d as formatPayment, h as formatMinor, i as createPaymentForCheckout, j as getCurrencySymbol, v as validatePhoneNumber, k as findTimeZone, s as slugify, l as humanize, m as categorify, n as formatDate, o as getSvgContentForAstro, q as fetchSvgContent, r as injectSvgIntoElement } from './svg-ByOFlX-F.js';
|
|
4
4
|
|
|
@@ -145,9 +145,7 @@ declare function createArkySDK(config: HttpClientConfig & {
|
|
|
145
145
|
getNodes(params: GetNodesParams, options?: RequestOptions): Promise<any>;
|
|
146
146
|
getNodeChildren(params: GetNodeChildrenParams, options?: RequestOptions): Promise<any>;
|
|
147
147
|
generateBlocks(params: GenerateBlocksParams, options?: RequestOptions): Promise<any>;
|
|
148
|
-
sendNode(params: SendNodeParams, options?: RequestOptions): Promise<any>;
|
|
149
148
|
getVariableMetadata(params: GetVariableMetadataParams, options?: RequestOptions): Promise<any>;
|
|
150
|
-
getNodeSubscribers(params: GetNodeSubscribersParams, options?: RequestOptions): Promise<any>;
|
|
151
149
|
};
|
|
152
150
|
eshop: {
|
|
153
151
|
createProduct(params: CreateProductParams, options?: RequestOptions): Promise<any>;
|
|
@@ -217,6 +215,24 @@ declare function createArkySDK(config: HttpClientConfig & {
|
|
|
217
215
|
getCountries(options?: RequestOptions): Promise<GetCountriesResponse>;
|
|
218
216
|
getCountryStates(countryCode: string, options?: RequestOptions): Promise<LocationCountry>;
|
|
219
217
|
};
|
|
218
|
+
newsletter: {
|
|
219
|
+
createNewsletter(params: CreateNewsletterParams, options?: RequestOptions<Newsletter>): Promise<Newsletter>;
|
|
220
|
+
getNewsletter(params: GetNewsletterParams, options?: RequestOptions<Newsletter>): Promise<Newsletter>;
|
|
221
|
+
getNewsletters(params?: GetNewslettersParams, options?: RequestOptions<Paginated<Newsletter>>): Promise<Paginated<Newsletter>>;
|
|
222
|
+
updateNewsletter(params: UpdateNewsletterParams, options?: RequestOptions<Newsletter>): Promise<Newsletter>;
|
|
223
|
+
deleteNewsletter(params: DeleteNewsletterParams, options?: RequestOptions<boolean>): Promise<boolean>;
|
|
224
|
+
getSubscribers(params: GetSubscribersParams, options?: RequestOptions<SubscriberInfo[]>): Promise<SubscriberInfo[]>;
|
|
225
|
+
createPost(params: CreateNewsletterPostParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
226
|
+
getPost(params: GetNewsletterPostParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
227
|
+
getPosts(params: GetNewsletterPostsParams, options?: RequestOptions<Paginated<NewsletterPost>>): Promise<Paginated<NewsletterPost>>;
|
|
228
|
+
updatePost(params: UpdateNewsletterPostParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
229
|
+
deletePost(params: DeleteNewsletterPostParams, options?: RequestOptions<boolean>): Promise<boolean>;
|
|
230
|
+
scheduleSend(params: ScheduleSendParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
231
|
+
cancelSend(params: CancelSendParams, options?: RequestOptions<NewsletterPost>): Promise<NewsletterPost>;
|
|
232
|
+
publishPost(newsletterId: string, postId: string): Promise<NewsletterPost>;
|
|
233
|
+
archivePost(newsletterId: string, postId: string): Promise<NewsletterPost>;
|
|
234
|
+
sendNow(newsletterId: string, postId: string): Promise<NewsletterPost>;
|
|
235
|
+
};
|
|
220
236
|
setBusinessId: (businessId: string) => void;
|
|
221
237
|
getBusinessId: () => string;
|
|
222
238
|
setMarket: (market: string) => void;
|
package/dist/index.js
CHANGED
|
@@ -793,30 +793,11 @@ var createCmsApi = (apiConfig) => {
|
|
|
793
793
|
options
|
|
794
794
|
);
|
|
795
795
|
},
|
|
796
|
-
async sendNode(params, options) {
|
|
797
|
-
const { nodeId, scheduledAt } = params;
|
|
798
|
-
return apiConfig.httpClient.post(
|
|
799
|
-
`/v1/businesses/${apiConfig.businessId}/nodes/${nodeId}/send`,
|
|
800
|
-
{
|
|
801
|
-
businessId: apiConfig.businessId,
|
|
802
|
-
nodeId,
|
|
803
|
-
scheduledAt: scheduledAt ?? Math.floor(Date.now() / 1e3)
|
|
804
|
-
},
|
|
805
|
-
options
|
|
806
|
-
);
|
|
807
|
-
},
|
|
808
796
|
async getVariableMetadata(params, options) {
|
|
809
797
|
return apiConfig.httpClient.get(
|
|
810
798
|
`/v1/businesses/${apiConfig.businessId}/nodes/types/${params.nodeType}/variables`,
|
|
811
799
|
options
|
|
812
800
|
);
|
|
813
|
-
},
|
|
814
|
-
async getNodeSubscribers(params, options) {
|
|
815
|
-
const formattedId = formatIdOrSlug(params.id, apiConfig);
|
|
816
|
-
return apiConfig.httpClient.get(
|
|
817
|
-
`/v1/businesses/${apiConfig.businessId}/nodes/${formattedId}/subscribers`,
|
|
818
|
-
options
|
|
819
|
-
);
|
|
820
801
|
}
|
|
821
802
|
};
|
|
822
803
|
};
|
|
@@ -1276,6 +1257,173 @@ var createLocationApi = (apiConfig) => {
|
|
|
1276
1257
|
};
|
|
1277
1258
|
};
|
|
1278
1259
|
|
|
1260
|
+
// src/api/newsletter.ts
|
|
1261
|
+
var createNewsletterApi = (apiConfig) => {
|
|
1262
|
+
return {
|
|
1263
|
+
// ===== NEWSLETTER CRUD =====
|
|
1264
|
+
/**
|
|
1265
|
+
* Create a new newsletter
|
|
1266
|
+
*/
|
|
1267
|
+
async createNewsletter(params, options) {
|
|
1268
|
+
return apiConfig.httpClient.post(
|
|
1269
|
+
`/v1/newsletters`,
|
|
1270
|
+
{ ...params, businessId: apiConfig.businessId },
|
|
1271
|
+
options
|
|
1272
|
+
);
|
|
1273
|
+
},
|
|
1274
|
+
/**
|
|
1275
|
+
* Get a newsletter by ID
|
|
1276
|
+
*/
|
|
1277
|
+
async getNewsletter(params, options) {
|
|
1278
|
+
return apiConfig.httpClient.get(
|
|
1279
|
+
`/v1/newsletters/${params.id}`,
|
|
1280
|
+
options
|
|
1281
|
+
);
|
|
1282
|
+
},
|
|
1283
|
+
/**
|
|
1284
|
+
* List all newsletters for the business
|
|
1285
|
+
*/
|
|
1286
|
+
async getNewsletters(params, options) {
|
|
1287
|
+
return apiConfig.httpClient.get(`/v1/newsletters`, {
|
|
1288
|
+
...options,
|
|
1289
|
+
params: { ...params, businessId: apiConfig.businessId }
|
|
1290
|
+
});
|
|
1291
|
+
},
|
|
1292
|
+
/**
|
|
1293
|
+
* Update a newsletter
|
|
1294
|
+
*/
|
|
1295
|
+
async updateNewsletter(params, options) {
|
|
1296
|
+
const { id, ...body } = params;
|
|
1297
|
+
return apiConfig.httpClient.put(`/v1/newsletters/${id}`, body, options);
|
|
1298
|
+
},
|
|
1299
|
+
/**
|
|
1300
|
+
* Delete a newsletter
|
|
1301
|
+
*/
|
|
1302
|
+
async deleteNewsletter(params, options) {
|
|
1303
|
+
return apiConfig.httpClient.delete(
|
|
1304
|
+
`/v1/newsletters/${params.id}`,
|
|
1305
|
+
options
|
|
1306
|
+
);
|
|
1307
|
+
},
|
|
1308
|
+
/**
|
|
1309
|
+
* Get subscribers for a newsletter
|
|
1310
|
+
*/
|
|
1311
|
+
async getSubscribers(params, options) {
|
|
1312
|
+
return apiConfig.httpClient.get(
|
|
1313
|
+
`/v1/newsletters/${params.id}/subscribers`,
|
|
1314
|
+
options
|
|
1315
|
+
);
|
|
1316
|
+
},
|
|
1317
|
+
// ===== POST CRUD =====
|
|
1318
|
+
/**
|
|
1319
|
+
* Create a new post for a newsletter
|
|
1320
|
+
*/
|
|
1321
|
+
async createPost(params, options) {
|
|
1322
|
+
const { newsletterId, ...body } = params;
|
|
1323
|
+
return apiConfig.httpClient.post(
|
|
1324
|
+
`/v1/newsletters/${newsletterId}/posts`,
|
|
1325
|
+
{ ...body, businessId: apiConfig.businessId },
|
|
1326
|
+
options
|
|
1327
|
+
);
|
|
1328
|
+
},
|
|
1329
|
+
/**
|
|
1330
|
+
* Get a post by ID
|
|
1331
|
+
*/
|
|
1332
|
+
async getPost(params, options) {
|
|
1333
|
+
return apiConfig.httpClient.get(
|
|
1334
|
+
`/v1/newsletters/${params.newsletterId}/posts/${params.postId}`,
|
|
1335
|
+
options
|
|
1336
|
+
);
|
|
1337
|
+
},
|
|
1338
|
+
/**
|
|
1339
|
+
* List all posts for a newsletter
|
|
1340
|
+
*/
|
|
1341
|
+
async getPosts(params, options) {
|
|
1342
|
+
const { newsletterId, ...queryParams } = params;
|
|
1343
|
+
return apiConfig.httpClient.get(
|
|
1344
|
+
`/v1/newsletters/${newsletterId}/posts`,
|
|
1345
|
+
{
|
|
1346
|
+
...options,
|
|
1347
|
+
params: { ...queryParams, businessId: apiConfig.businessId }
|
|
1348
|
+
}
|
|
1349
|
+
);
|
|
1350
|
+
},
|
|
1351
|
+
/**
|
|
1352
|
+
* Update a post
|
|
1353
|
+
*/
|
|
1354
|
+
async updatePost(params, options) {
|
|
1355
|
+
const { newsletterId, postId, ...body } = params;
|
|
1356
|
+
return apiConfig.httpClient.put(
|
|
1357
|
+
`/v1/newsletters/${newsletterId}/posts/${postId}`,
|
|
1358
|
+
body,
|
|
1359
|
+
options
|
|
1360
|
+
);
|
|
1361
|
+
},
|
|
1362
|
+
/**
|
|
1363
|
+
* Delete a post
|
|
1364
|
+
*/
|
|
1365
|
+
async deletePost(params, options) {
|
|
1366
|
+
return apiConfig.httpClient.delete(
|
|
1367
|
+
`/v1/newsletters/${params.newsletterId}/posts/${params.postId}`,
|
|
1368
|
+
options
|
|
1369
|
+
);
|
|
1370
|
+
},
|
|
1371
|
+
// ===== SEND OPERATIONS =====
|
|
1372
|
+
/**
|
|
1373
|
+
* Schedule a send for a post
|
|
1374
|
+
*/
|
|
1375
|
+
async scheduleSend(params, options) {
|
|
1376
|
+
const { newsletterId, postId, ...body } = params;
|
|
1377
|
+
return apiConfig.httpClient.post(
|
|
1378
|
+
`/v1/newsletters/${newsletterId}/posts/${postId}/send`,
|
|
1379
|
+
body,
|
|
1380
|
+
options
|
|
1381
|
+
);
|
|
1382
|
+
},
|
|
1383
|
+
/**
|
|
1384
|
+
* Cancel a scheduled send
|
|
1385
|
+
*/
|
|
1386
|
+
async cancelSend(params, options) {
|
|
1387
|
+
const { newsletterId, postId, sendId } = params;
|
|
1388
|
+
return apiConfig.httpClient.post(
|
|
1389
|
+
`/v1/newsletters/${newsletterId}/posts/${postId}/send/${sendId}/cancel`,
|
|
1390
|
+
{},
|
|
1391
|
+
options
|
|
1392
|
+
);
|
|
1393
|
+
},
|
|
1394
|
+
// ===== CONVENIENCE METHODS =====
|
|
1395
|
+
/**
|
|
1396
|
+
* Publish a post (set status to PUBLISHED)
|
|
1397
|
+
*/
|
|
1398
|
+
async publishPost(newsletterId, postId) {
|
|
1399
|
+
return this.updatePost({
|
|
1400
|
+
newsletterId,
|
|
1401
|
+
postId,
|
|
1402
|
+
status: "PUBLISHED"
|
|
1403
|
+
});
|
|
1404
|
+
},
|
|
1405
|
+
/**
|
|
1406
|
+
* Archive a post (set status to ARCHIVED)
|
|
1407
|
+
*/
|
|
1408
|
+
async archivePost(newsletterId, postId) {
|
|
1409
|
+
return this.updatePost({
|
|
1410
|
+
newsletterId,
|
|
1411
|
+
postId,
|
|
1412
|
+
status: "ARCHIVED"
|
|
1413
|
+
});
|
|
1414
|
+
},
|
|
1415
|
+
/**
|
|
1416
|
+
* Send a post immediately
|
|
1417
|
+
*/
|
|
1418
|
+
async sendNow(newsletterId, postId) {
|
|
1419
|
+
return this.scheduleSend({
|
|
1420
|
+
newsletterId,
|
|
1421
|
+
postId
|
|
1422
|
+
});
|
|
1423
|
+
}
|
|
1424
|
+
};
|
|
1425
|
+
};
|
|
1426
|
+
|
|
1279
1427
|
// src/utils/currency.ts
|
|
1280
1428
|
function getCurrencySymbol(currency) {
|
|
1281
1429
|
const currencySymbols = {
|
|
@@ -1684,6 +1832,7 @@ async function createArkySDK(config) {
|
|
|
1684
1832
|
database: createDatabaseApi(apiConfig),
|
|
1685
1833
|
featureFlags: createFeatureFlagsApi(apiConfig),
|
|
1686
1834
|
location: createLocationApi(apiConfig),
|
|
1835
|
+
newsletter: createNewsletterApi(apiConfig),
|
|
1687
1836
|
setBusinessId: (businessId) => {
|
|
1688
1837
|
apiConfig.businessId = businessId;
|
|
1689
1838
|
},
|