@getlatedev/node 0.2.559 → 0.2.561
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/README.md +15 -0
- package/dist/index.d.mts +521 -10
- package/dist/index.d.ts +521 -10
- package/dist/index.js +83 -1
- package/dist/index.mjs +83 -1
- package/package.json +1 -1
- package/src/client.ts +28 -0
- package/src/generated/sdk.gen.ts +206 -1
- package/src/generated/types.gen.ts +540 -9
|
@@ -1286,6 +1286,74 @@ export type BillingSnapshot = {
|
|
|
1286
1286
|
|
|
1287
1287
|
export type billingSystem = 'metronome' | 'stripe';
|
|
1288
1288
|
|
|
1289
|
+
/**
|
|
1290
|
+
* A blog container on the connected platform. All content lives on the platform; Zernio proxies it and stores nothing.
|
|
1291
|
+
*/
|
|
1292
|
+
export type Blog = {
|
|
1293
|
+
/**
|
|
1294
|
+
* Platform-native blog id (numeric string for Shopify).
|
|
1295
|
+
*/
|
|
1296
|
+
id?: string;
|
|
1297
|
+
platform?: 'shopify';
|
|
1298
|
+
title?: string;
|
|
1299
|
+
/**
|
|
1300
|
+
* URL slug of the blog.
|
|
1301
|
+
*/
|
|
1302
|
+
handle?: string;
|
|
1303
|
+
};
|
|
1304
|
+
|
|
1305
|
+
export type platform2 = 'shopify';
|
|
1306
|
+
|
|
1307
|
+
/**
|
|
1308
|
+
* An article inside a blog on the connected platform.
|
|
1309
|
+
*/
|
|
1310
|
+
export type BlogArticle = {
|
|
1311
|
+
/**
|
|
1312
|
+
* Platform-native article id (numeric string for Shopify).
|
|
1313
|
+
*/
|
|
1314
|
+
id?: string;
|
|
1315
|
+
/**
|
|
1316
|
+
* Platform-native id of the blog the article belongs to.
|
|
1317
|
+
*/
|
|
1318
|
+
blogId?: string;
|
|
1319
|
+
platform?: 'shopify';
|
|
1320
|
+
title?: string;
|
|
1321
|
+
/**
|
|
1322
|
+
* Article body as HTML.
|
|
1323
|
+
*/
|
|
1324
|
+
bodyHtml?: (string) | null;
|
|
1325
|
+
/**
|
|
1326
|
+
* URL slug of the article.
|
|
1327
|
+
*/
|
|
1328
|
+
handle?: string;
|
|
1329
|
+
tags?: Array<(string)>;
|
|
1330
|
+
/**
|
|
1331
|
+
* Display name of the article author.
|
|
1332
|
+
*/
|
|
1333
|
+
author?: (string) | null;
|
|
1334
|
+
/**
|
|
1335
|
+
* Short summary shown in blog listings.
|
|
1336
|
+
*/
|
|
1337
|
+
excerpt?: (string) | null;
|
|
1338
|
+
/**
|
|
1339
|
+
* Featured image.
|
|
1340
|
+
*/
|
|
1341
|
+
image?: {
|
|
1342
|
+
url?: string;
|
|
1343
|
+
altText?: (string) | null;
|
|
1344
|
+
} | null;
|
|
1345
|
+
/**
|
|
1346
|
+
* False while the article is a draft or its publish date is still in the future.
|
|
1347
|
+
*/
|
|
1348
|
+
isPublished?: boolean;
|
|
1349
|
+
/**
|
|
1350
|
+
* When the article was (or is scheduled to be) published; null for drafts.
|
|
1351
|
+
*/
|
|
1352
|
+
publishedAt?: (string) | null;
|
|
1353
|
+
createdAt?: (string) | null;
|
|
1354
|
+
updatedAt?: (string) | null;
|
|
1355
|
+
};
|
|
1356
|
+
|
|
1289
1357
|
/**
|
|
1290
1358
|
* Bluesky post settings. Supports text posts with up to 4 images or a single video. threadItems creates a reply chain (Bluesky thread). Images exceeding 1MB are automatically compressed. Alt text supported via mediaItem properties.
|
|
1291
1359
|
*
|
|
@@ -3346,7 +3414,7 @@ export type InboxWebhookMessage = {
|
|
|
3346
3414
|
isRead: boolean;
|
|
3347
3415
|
};
|
|
3348
3416
|
|
|
3349
|
-
export type
|
|
3417
|
+
export type platform3 = 'instagram' | 'facebook' | 'telegram' | 'whatsapp';
|
|
3350
3418
|
|
|
3351
3419
|
export type direction2 = 'incoming' | 'outgoing';
|
|
3352
3420
|
|
|
@@ -3474,7 +3542,7 @@ export type InstagramAccountInsightsResponse = {
|
|
|
3474
3542
|
/**
|
|
3475
3543
|
* Platform that served this response.
|
|
3476
3544
|
*/
|
|
3477
|
-
export type
|
|
3545
|
+
export type platform4 = 'facebook' | 'instagram' | 'youtube' | 'linkedin' | 'tiktok';
|
|
3478
3546
|
|
|
3479
3547
|
export type metricType = 'time_series' | 'total_value';
|
|
3480
3548
|
|
|
@@ -4848,7 +4916,7 @@ export type ReviewWebhookReview = {
|
|
|
4848
4916
|
/**
|
|
4849
4917
|
* Platform the review originated on. Currently Google Business Profile only.
|
|
4850
4918
|
*/
|
|
4851
|
-
export type
|
|
4919
|
+
export type platform5 = 'googlebusiness';
|
|
4852
4920
|
|
|
4853
4921
|
/**
|
|
4854
4922
|
* A Meta Reach & Frequency prediction. Money values in whole units of the ad account currency.
|
|
@@ -5010,7 +5078,7 @@ export type SocialAccount = {
|
|
|
5010
5078
|
};
|
|
5011
5079
|
};
|
|
5012
5080
|
|
|
5013
|
-
export type
|
|
5081
|
+
export type platform6 = 'tiktok' | 'instagram' | 'facebook' | 'youtube' | 'linkedin' | 'twitter' | 'threads' | 'pinterest' | 'reddit' | 'bluesky' | 'googlebusiness' | 'telegram' | 'snapchat' | 'discord' | 'slack' | 'whatsapp' | 'linkedinads' | 'metaads' | 'pinterestads' | 'tiktokads' | 'xads' | 'googleads' | 'openaiads';
|
|
5014
5082
|
|
|
5015
5083
|
/**
|
|
5016
5084
|
* Normalized, platform-agnostic ad-targeting spec. Every field is optional, an
|
|
@@ -5445,7 +5513,7 @@ export type TrackingTag = {
|
|
|
5445
5513
|
ownerAdAccountId?: string;
|
|
5446
5514
|
};
|
|
5447
5515
|
|
|
5448
|
-
export type
|
|
5516
|
+
export type platform7 = 'metaads';
|
|
5449
5517
|
|
|
5450
5518
|
/**
|
|
5451
5519
|
* Platform-native flavor of the tag (Meta: `pixel`).
|
|
@@ -6722,7 +6790,7 @@ export type WebhookPayloadComment = {
|
|
|
6722
6790
|
|
|
6723
6791
|
export type event9 = 'comment.received';
|
|
6724
6792
|
|
|
6725
|
-
export type
|
|
6793
|
+
export type platform8 = 'instagram' | 'facebook' | 'twitter' | 'youtube' | 'linkedin' | 'bluesky' | 'reddit';
|
|
6726
6794
|
|
|
6727
6795
|
/**
|
|
6728
6796
|
* Fired once when a new conversation begins, in either direction. A conversation
|
|
@@ -6779,7 +6847,7 @@ export type WebhookPayloadConversationStarted = {
|
|
|
6779
6847
|
|
|
6780
6848
|
export type event10 = 'conversation.started';
|
|
6781
6849
|
|
|
6782
|
-
export type
|
|
6850
|
+
export type platform9 = 'instagram' | 'facebook' | 'telegram' | 'whatsapp' | 'twitter' | 'reddit' | 'bluesky' | 'sms' | 'slack';
|
|
6783
6851
|
|
|
6784
6852
|
/**
|
|
6785
6853
|
* Webhook payload for post.external.created / post.external.updated /
|
|
@@ -6880,7 +6948,7 @@ export type WebhookPayloadLead = {
|
|
|
6880
6948
|
|
|
6881
6949
|
export type event12 = 'lead.received';
|
|
6882
6950
|
|
|
6883
|
-
export type
|
|
6951
|
+
export type platform10 = 'facebook';
|
|
6884
6952
|
|
|
6885
6953
|
/**
|
|
6886
6954
|
* Webhook payload for message received events
|
|
@@ -7239,6 +7307,29 @@ export type WebhookPayloadMessage = {
|
|
|
7239
7307
|
flow_id?: string;
|
|
7240
7308
|
};
|
|
7241
7309
|
} | null;
|
|
7310
|
+
/**
|
|
7311
|
+
* WhatsApp only. Meta's own reason this message has no
|
|
7312
|
+
* renderable body. Present when Meta attached an error to the
|
|
7313
|
+
* inbound payload; in practice the `unsupported`, `errors` and
|
|
7314
|
+
* `unknown` types (code 131051: message type currently not
|
|
7315
|
+
* supported). `text` on those messages is the fixed
|
|
7316
|
+
* `[Unsupported message]` placeholder.
|
|
7317
|
+
*
|
|
7318
|
+
*/
|
|
7319
|
+
unsupported?: {
|
|
7320
|
+
/**
|
|
7321
|
+
* Meta's numeric error code (e.g. 131051).
|
|
7322
|
+
*/
|
|
7323
|
+
code?: number;
|
|
7324
|
+
/**
|
|
7325
|
+
* Meta's short error title.
|
|
7326
|
+
*/
|
|
7327
|
+
title?: string;
|
|
7328
|
+
/**
|
|
7329
|
+
* Meta's human-readable error detail string.
|
|
7330
|
+
*/
|
|
7331
|
+
details?: string;
|
|
7332
|
+
};
|
|
7242
7333
|
} | null;
|
|
7243
7334
|
/**
|
|
7244
7335
|
* UTC time at which Zernio generated this event (set once when the event payload is built, before delivery is queued). Retries and redeliveries keep the original value, so it reflects the event, not the delivery attempt.
|
|
@@ -7792,7 +7883,7 @@ export type WebhookPayloadWhatsAppTemplateStatusUpdated = {
|
|
|
7792
7883
|
|
|
7793
7884
|
export type event24 = 'whatsapp.template.status_updated';
|
|
7794
7885
|
|
|
7795
|
-
export type
|
|
7886
|
+
export type platform11 = 'whatsapp';
|
|
7796
7887
|
|
|
7797
7888
|
/**
|
|
7798
7889
|
* New status. Forwarded verbatim from Meta's `event` field.
|
|
@@ -11543,6 +11634,17 @@ export type GetConnectUrlData = {
|
|
|
11543
11634
|
*
|
|
11544
11635
|
*/
|
|
11545
11636
|
loginMethod?: 'instagram_login' | 'facebook_login';
|
|
11637
|
+
/**
|
|
11638
|
+
* WhatsApp only. Ignored for every other platform. Controls which screen Meta's Embedded Signup popup shows.
|
|
11639
|
+
*
|
|
11640
|
+
* If omitted, the connection defaults to coexistence (same as `business_app` below), preserving existing behavior for numbers already on the WhatsApp Business app.
|
|
11641
|
+
*
|
|
11642
|
+
* `api`: standard Embedded Signup, showing Meta's WABA/number picker. Use this to connect a phone number already on Cloud API elsewhere.
|
|
11643
|
+
*
|
|
11644
|
+
* `business_app`: coexistence, i.e. 'Connect existing WhatsApp Business app' (a number shared between Cloud API and the consumer WhatsApp Business app).
|
|
11645
|
+
*
|
|
11646
|
+
*/
|
|
11647
|
+
onboarding?: 'api' | 'business_app';
|
|
11546
11648
|
/**
|
|
11547
11649
|
* Your Zernio profile ID (get from /v1/profiles). For WhatsApp, a Zernio-provisioned number can only be connected on the profile it was provisioned to; connecting from any other profile is rejected with a 409.
|
|
11548
11650
|
*/
|
|
@@ -11723,6 +11825,88 @@ export type ConnectAdsError = (unknown | {
|
|
|
11723
11825
|
error?: string;
|
|
11724
11826
|
});
|
|
11725
11827
|
|
|
11828
|
+
export type GetShopifyConnectUrlData = {
|
|
11829
|
+
query: {
|
|
11830
|
+
/**
|
|
11831
|
+
* Your Zernio profile ID (get from /v1/profiles).
|
|
11832
|
+
*/
|
|
11833
|
+
profileId: string;
|
|
11834
|
+
/**
|
|
11835
|
+
* Your custom redirect URL after connection completes. Accepts an http(s) URL, a custom app scheme for mobile deeplinks (e.g. myapp://callback), or a relative path. On failure an `error` query param is appended.
|
|
11836
|
+
*/
|
|
11837
|
+
redirect_url?: string;
|
|
11838
|
+
/**
|
|
11839
|
+
* The myshopify.com store domain to connect, e.g. `your-store.myshopify.com` (the bare `your-store` prefix is accepted too).
|
|
11840
|
+
*/
|
|
11841
|
+
shop: string;
|
|
11842
|
+
};
|
|
11843
|
+
};
|
|
11844
|
+
|
|
11845
|
+
export type GetShopifyConnectUrlResponse = ({
|
|
11846
|
+
/**
|
|
11847
|
+
* URL to redirect your user to for OAuth authorization
|
|
11848
|
+
*/
|
|
11849
|
+
authUrl?: string;
|
|
11850
|
+
/**
|
|
11851
|
+
* State parameter for security (handled automatically)
|
|
11852
|
+
*/
|
|
11853
|
+
state?: string;
|
|
11854
|
+
});
|
|
11855
|
+
|
|
11856
|
+
export type GetShopifyConnectUrlError = (unknown | {
|
|
11857
|
+
error?: string;
|
|
11858
|
+
} | {
|
|
11859
|
+
/**
|
|
11860
|
+
* Human-readable error message suitable for end-user display.
|
|
11861
|
+
*/
|
|
11862
|
+
error: string;
|
|
11863
|
+
/**
|
|
11864
|
+
* Machine-readable error code. Stable across versions.
|
|
11865
|
+
*/
|
|
11866
|
+
code: 'PAYMENT_REQUIRED';
|
|
11867
|
+
/**
|
|
11868
|
+
* Discriminator for which gate fired.
|
|
11869
|
+
*/
|
|
11870
|
+
reason: 'free_tier_exceeded' | 'twitter_passthrough' | 'enterprise_required';
|
|
11871
|
+
/**
|
|
11872
|
+
* Link to the relevant documentation page.
|
|
11873
|
+
*/
|
|
11874
|
+
documentation_url?: string;
|
|
11875
|
+
/**
|
|
11876
|
+
* Deep-link to send the end-user to. For
|
|
11877
|
+
* `free_tier_exceeded` and `twitter_passthrough` this is
|
|
11878
|
+
* the Zernio billing tab. For `enterprise_required` this
|
|
11879
|
+
* is the Zernio enterprise contact page.
|
|
11880
|
+
*
|
|
11881
|
+
*/
|
|
11882
|
+
dashboard_url?: string;
|
|
11883
|
+
/**
|
|
11884
|
+
* Structured context for SDK clients that want to render their own UX. Keys vary by `reason`.
|
|
11885
|
+
*/
|
|
11886
|
+
details?: {
|
|
11887
|
+
/**
|
|
11888
|
+
* How many accounts the free tier allows. Only set when reason=free_tier_exceeded.
|
|
11889
|
+
*/
|
|
11890
|
+
free_tier_account_limit?: number;
|
|
11891
|
+
/**
|
|
11892
|
+
* How many accounts the team currently has connected. Set when reason=free_tier_exceeded or reason=enterprise_required.
|
|
11893
|
+
*/
|
|
11894
|
+
current_account_count?: number;
|
|
11895
|
+
/**
|
|
11896
|
+
* Whether the team currently has a card on file in Stripe. Set when reason=free_tier_exceeded or reason=twitter_passthrough.
|
|
11897
|
+
*/
|
|
11898
|
+
has_payment_method?: boolean;
|
|
11899
|
+
/**
|
|
11900
|
+
* The negotiated connected-account cap from the
|
|
11901
|
+
* team's enterprise contract. Self-service teams
|
|
11902
|
+
* have no cap and never receive this reason. Only
|
|
11903
|
+
* set when reason=enterprise_required.
|
|
11904
|
+
*
|
|
11905
|
+
*/
|
|
11906
|
+
effective_account_limit?: number;
|
|
11907
|
+
};
|
|
11908
|
+
});
|
|
11909
|
+
|
|
11726
11910
|
export type ConfigureTikTokAdsBrandIdentityData = {
|
|
11727
11911
|
body: {
|
|
11728
11912
|
/**
|
|
@@ -33143,6 +33327,353 @@ export type GetTrackingTagStatsError = (unknown | {
|
|
|
33143
33327
|
error?: string;
|
|
33144
33328
|
});
|
|
33145
33329
|
|
|
33330
|
+
export type ListBlogsData = {
|
|
33331
|
+
path: {
|
|
33332
|
+
/**
|
|
33333
|
+
* Connected Shopify SocialAccount id.
|
|
33334
|
+
*/
|
|
33335
|
+
accountId: string;
|
|
33336
|
+
};
|
|
33337
|
+
query?: {
|
|
33338
|
+
/**
|
|
33339
|
+
* Opaque cursor from a previous response. Omit for the first page.
|
|
33340
|
+
*/
|
|
33341
|
+
cursor?: string;
|
|
33342
|
+
/**
|
|
33343
|
+
* Page size (1-50).
|
|
33344
|
+
*/
|
|
33345
|
+
limit?: number;
|
|
33346
|
+
};
|
|
33347
|
+
};
|
|
33348
|
+
|
|
33349
|
+
export type ListBlogsResponse = ({
|
|
33350
|
+
platform?: 'shopify';
|
|
33351
|
+
blogs?: Array<Blog>;
|
|
33352
|
+
/**
|
|
33353
|
+
* Cursor for the next page; null when there are no more pages.
|
|
33354
|
+
*/
|
|
33355
|
+
nextCursor?: (string) | null;
|
|
33356
|
+
});
|
|
33357
|
+
|
|
33358
|
+
export type ListBlogsError = (ErrorResponse | {
|
|
33359
|
+
error?: string;
|
|
33360
|
+
} | unknown);
|
|
33361
|
+
|
|
33362
|
+
export type CreateBlogData = {
|
|
33363
|
+
body: {
|
|
33364
|
+
title: string;
|
|
33365
|
+
/**
|
|
33366
|
+
* URL slug. Generated from the title when omitted.
|
|
33367
|
+
*/
|
|
33368
|
+
handle?: string;
|
|
33369
|
+
};
|
|
33370
|
+
path: {
|
|
33371
|
+
/**
|
|
33372
|
+
* Connected Shopify SocialAccount id.
|
|
33373
|
+
*/
|
|
33374
|
+
accountId: string;
|
|
33375
|
+
};
|
|
33376
|
+
};
|
|
33377
|
+
|
|
33378
|
+
export type CreateBlogResponse = ({
|
|
33379
|
+
platform?: 'shopify';
|
|
33380
|
+
blog?: Blog;
|
|
33381
|
+
});
|
|
33382
|
+
|
|
33383
|
+
export type CreateBlogError = (ErrorResponse | {
|
|
33384
|
+
error?: string;
|
|
33385
|
+
} | unknown);
|
|
33386
|
+
|
|
33387
|
+
export type GetBlogData = {
|
|
33388
|
+
path: {
|
|
33389
|
+
/**
|
|
33390
|
+
* Connected Shopify SocialAccount id.
|
|
33391
|
+
*/
|
|
33392
|
+
accountId: string;
|
|
33393
|
+
/**
|
|
33394
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33395
|
+
*/
|
|
33396
|
+
blogId: string;
|
|
33397
|
+
};
|
|
33398
|
+
};
|
|
33399
|
+
|
|
33400
|
+
export type GetBlogResponse = ({
|
|
33401
|
+
platform?: 'shopify';
|
|
33402
|
+
blog?: Blog;
|
|
33403
|
+
});
|
|
33404
|
+
|
|
33405
|
+
export type GetBlogError = (ErrorResponse | {
|
|
33406
|
+
error?: string;
|
|
33407
|
+
} | unknown);
|
|
33408
|
+
|
|
33409
|
+
export type UpdateBlogData = {
|
|
33410
|
+
body: {
|
|
33411
|
+
title?: string;
|
|
33412
|
+
/**
|
|
33413
|
+
* URL slug. Changing it changes the blog URL on the store.
|
|
33414
|
+
*/
|
|
33415
|
+
handle?: string;
|
|
33416
|
+
};
|
|
33417
|
+
path: {
|
|
33418
|
+
/**
|
|
33419
|
+
* Connected Shopify SocialAccount id.
|
|
33420
|
+
*/
|
|
33421
|
+
accountId: string;
|
|
33422
|
+
/**
|
|
33423
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33424
|
+
*/
|
|
33425
|
+
blogId: string;
|
|
33426
|
+
};
|
|
33427
|
+
};
|
|
33428
|
+
|
|
33429
|
+
export type UpdateBlogResponse = ({
|
|
33430
|
+
platform?: 'shopify';
|
|
33431
|
+
blog?: Blog;
|
|
33432
|
+
});
|
|
33433
|
+
|
|
33434
|
+
export type UpdateBlogError = (ErrorResponse | {
|
|
33435
|
+
error?: string;
|
|
33436
|
+
} | unknown);
|
|
33437
|
+
|
|
33438
|
+
export type DeleteBlogData = {
|
|
33439
|
+
path: {
|
|
33440
|
+
/**
|
|
33441
|
+
* Connected Shopify SocialAccount id.
|
|
33442
|
+
*/
|
|
33443
|
+
accountId: string;
|
|
33444
|
+
/**
|
|
33445
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33446
|
+
*/
|
|
33447
|
+
blogId: string;
|
|
33448
|
+
};
|
|
33449
|
+
};
|
|
33450
|
+
|
|
33451
|
+
export type DeleteBlogResponse = (void);
|
|
33452
|
+
|
|
33453
|
+
export type DeleteBlogError = (ErrorResponse | {
|
|
33454
|
+
error?: string;
|
|
33455
|
+
} | unknown);
|
|
33456
|
+
|
|
33457
|
+
export type ListBlogArticlesData = {
|
|
33458
|
+
path: {
|
|
33459
|
+
/**
|
|
33460
|
+
* Connected Shopify SocialAccount id.
|
|
33461
|
+
*/
|
|
33462
|
+
accountId: string;
|
|
33463
|
+
/**
|
|
33464
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33465
|
+
*/
|
|
33466
|
+
blogId: string;
|
|
33467
|
+
};
|
|
33468
|
+
query?: {
|
|
33469
|
+
/**
|
|
33470
|
+
* Opaque cursor from a previous response. Omit for the first page.
|
|
33471
|
+
*/
|
|
33472
|
+
cursor?: string;
|
|
33473
|
+
/**
|
|
33474
|
+
* Page size (1-50).
|
|
33475
|
+
*/
|
|
33476
|
+
limit?: number;
|
|
33477
|
+
};
|
|
33478
|
+
};
|
|
33479
|
+
|
|
33480
|
+
export type ListBlogArticlesResponse = ({
|
|
33481
|
+
platform?: 'shopify';
|
|
33482
|
+
articles?: Array<BlogArticle>;
|
|
33483
|
+
/**
|
|
33484
|
+
* Cursor for the next page; null when there are no more pages.
|
|
33485
|
+
*/
|
|
33486
|
+
nextCursor?: (string) | null;
|
|
33487
|
+
});
|
|
33488
|
+
|
|
33489
|
+
export type ListBlogArticlesError = (ErrorResponse | {
|
|
33490
|
+
error?: string;
|
|
33491
|
+
} | unknown);
|
|
33492
|
+
|
|
33493
|
+
export type CreateBlogArticleData = {
|
|
33494
|
+
body: {
|
|
33495
|
+
title: string;
|
|
33496
|
+
/**
|
|
33497
|
+
* Article body as HTML.
|
|
33498
|
+
*/
|
|
33499
|
+
bodyHtml?: string;
|
|
33500
|
+
/**
|
|
33501
|
+
* URL slug. Generated from the title when omitted.
|
|
33502
|
+
*/
|
|
33503
|
+
handle?: string;
|
|
33504
|
+
tags?: Array<(string)>;
|
|
33505
|
+
/**
|
|
33506
|
+
* Display name of the article author.
|
|
33507
|
+
*/
|
|
33508
|
+
author?: string;
|
|
33509
|
+
/**
|
|
33510
|
+
* Short summary shown in blog listings.
|
|
33511
|
+
*/
|
|
33512
|
+
excerpt?: string;
|
|
33513
|
+
/**
|
|
33514
|
+
* Featured image. The platform downloads it, so the URL must be publicly reachable.
|
|
33515
|
+
*/
|
|
33516
|
+
image?: {
|
|
33517
|
+
url: string;
|
|
33518
|
+
altText?: string;
|
|
33519
|
+
};
|
|
33520
|
+
/**
|
|
33521
|
+
* Search-engine overrides. Maps to Shopify global metafields (title_tag and description_tag).
|
|
33522
|
+
*/
|
|
33523
|
+
seo?: {
|
|
33524
|
+
title?: string;
|
|
33525
|
+
description?: string;
|
|
33526
|
+
};
|
|
33527
|
+
/**
|
|
33528
|
+
* Set false to create the article as a draft.
|
|
33529
|
+
*/
|
|
33530
|
+
isPublished?: boolean;
|
|
33531
|
+
/**
|
|
33532
|
+
* ISO 8601 datetime with offset (or Z). A future date schedules publication natively on the platform.
|
|
33533
|
+
*/
|
|
33534
|
+
publishDate?: string;
|
|
33535
|
+
};
|
|
33536
|
+
path: {
|
|
33537
|
+
/**
|
|
33538
|
+
* Connected Shopify SocialAccount id.
|
|
33539
|
+
*/
|
|
33540
|
+
accountId: string;
|
|
33541
|
+
/**
|
|
33542
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33543
|
+
*/
|
|
33544
|
+
blogId: string;
|
|
33545
|
+
};
|
|
33546
|
+
};
|
|
33547
|
+
|
|
33548
|
+
export type CreateBlogArticleResponse = ({
|
|
33549
|
+
platform?: 'shopify';
|
|
33550
|
+
article?: BlogArticle;
|
|
33551
|
+
});
|
|
33552
|
+
|
|
33553
|
+
export type CreateBlogArticleError = (ErrorResponse | {
|
|
33554
|
+
error?: string;
|
|
33555
|
+
} | unknown);
|
|
33556
|
+
|
|
33557
|
+
export type GetBlogArticleData = {
|
|
33558
|
+
path: {
|
|
33559
|
+
/**
|
|
33560
|
+
* Connected Shopify SocialAccount id.
|
|
33561
|
+
*/
|
|
33562
|
+
accountId: string;
|
|
33563
|
+
/**
|
|
33564
|
+
* Platform-native numeric article id. Non-numeric values return 400.
|
|
33565
|
+
*/
|
|
33566
|
+
articleId: string;
|
|
33567
|
+
/**
|
|
33568
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33569
|
+
*/
|
|
33570
|
+
blogId: string;
|
|
33571
|
+
};
|
|
33572
|
+
};
|
|
33573
|
+
|
|
33574
|
+
export type GetBlogArticleResponse = ({
|
|
33575
|
+
platform?: 'shopify';
|
|
33576
|
+
article?: BlogArticle;
|
|
33577
|
+
});
|
|
33578
|
+
|
|
33579
|
+
export type GetBlogArticleError = (ErrorResponse | {
|
|
33580
|
+
error?: string;
|
|
33581
|
+
} | unknown);
|
|
33582
|
+
|
|
33583
|
+
export type UpdateBlogArticleData = {
|
|
33584
|
+
body: {
|
|
33585
|
+
title?: string;
|
|
33586
|
+
/**
|
|
33587
|
+
* Article body as HTML.
|
|
33588
|
+
*/
|
|
33589
|
+
bodyHtml?: string;
|
|
33590
|
+
/**
|
|
33591
|
+
* URL slug of the article.
|
|
33592
|
+
*/
|
|
33593
|
+
handle?: string;
|
|
33594
|
+
/**
|
|
33595
|
+
* Replaces the full tag list.
|
|
33596
|
+
*/
|
|
33597
|
+
tags?: Array<(string)>;
|
|
33598
|
+
/**
|
|
33599
|
+
* Display name of the article author.
|
|
33600
|
+
*/
|
|
33601
|
+
author?: string;
|
|
33602
|
+
/**
|
|
33603
|
+
* Short summary shown in blog listings.
|
|
33604
|
+
*/
|
|
33605
|
+
excerpt?: string;
|
|
33606
|
+
/**
|
|
33607
|
+
* Featured image. The platform downloads it, so the URL must be publicly reachable.
|
|
33608
|
+
*/
|
|
33609
|
+
image?: {
|
|
33610
|
+
url: string;
|
|
33611
|
+
altText?: string;
|
|
33612
|
+
};
|
|
33613
|
+
/**
|
|
33614
|
+
* Search-engine overrides. Maps to Shopify global metafields (title_tag and description_tag).
|
|
33615
|
+
*/
|
|
33616
|
+
seo?: {
|
|
33617
|
+
title?: string;
|
|
33618
|
+
description?: string;
|
|
33619
|
+
};
|
|
33620
|
+
/**
|
|
33621
|
+
* Set false to unpublish the article back to a draft.
|
|
33622
|
+
*/
|
|
33623
|
+
isPublished?: boolean;
|
|
33624
|
+
/**
|
|
33625
|
+
* ISO 8601 datetime with offset (or Z). A future date schedules publication natively on the platform.
|
|
33626
|
+
*/
|
|
33627
|
+
publishDate?: string;
|
|
33628
|
+
};
|
|
33629
|
+
path: {
|
|
33630
|
+
/**
|
|
33631
|
+
* Connected Shopify SocialAccount id.
|
|
33632
|
+
*/
|
|
33633
|
+
accountId: string;
|
|
33634
|
+
/**
|
|
33635
|
+
* Platform-native numeric article id. Non-numeric values return 400.
|
|
33636
|
+
*/
|
|
33637
|
+
articleId: string;
|
|
33638
|
+
/**
|
|
33639
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33640
|
+
*/
|
|
33641
|
+
blogId: string;
|
|
33642
|
+
};
|
|
33643
|
+
};
|
|
33644
|
+
|
|
33645
|
+
export type UpdateBlogArticleResponse = ({
|
|
33646
|
+
platform?: 'shopify';
|
|
33647
|
+
article?: BlogArticle;
|
|
33648
|
+
});
|
|
33649
|
+
|
|
33650
|
+
export type UpdateBlogArticleError = (ErrorResponse | {
|
|
33651
|
+
error?: string;
|
|
33652
|
+
} | unknown);
|
|
33653
|
+
|
|
33654
|
+
export type DeleteBlogArticleData = {
|
|
33655
|
+
path: {
|
|
33656
|
+
/**
|
|
33657
|
+
* Connected Shopify SocialAccount id.
|
|
33658
|
+
*/
|
|
33659
|
+
accountId: string;
|
|
33660
|
+
/**
|
|
33661
|
+
* Platform-native numeric article id. Non-numeric values return 400.
|
|
33662
|
+
*/
|
|
33663
|
+
articleId: string;
|
|
33664
|
+
/**
|
|
33665
|
+
* Platform-native numeric blog id. Non-numeric values return 400.
|
|
33666
|
+
*/
|
|
33667
|
+
blogId: string;
|
|
33668
|
+
};
|
|
33669
|
+
};
|
|
33670
|
+
|
|
33671
|
+
export type DeleteBlogArticleResponse = (void);
|
|
33672
|
+
|
|
33673
|
+
export type DeleteBlogArticleError = (ErrorResponse | {
|
|
33674
|
+
error?: string;
|
|
33675
|
+
} | unknown);
|
|
33676
|
+
|
|
33146
33677
|
export type CreateVerificationData = {
|
|
33147
33678
|
body: {
|
|
33148
33679
|
/**
|