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.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, SendNodeParams, GetVariableMetadataParams, GetNodeSubscribersParams, 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 } from './types.cjs';
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, SendNodeParams, GetVariableMetadataParams, GetNodeSubscribersParams, 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 } from './types.js';
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
  },