@zernio/node 0.2.206 → 0.2.208
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.mts +78 -17
- package/dist/index.d.ts +78 -17
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/generated/sdk.gen.ts +2 -1
- package/src/generated/types.gen.ts +78 -17
package/dist/index.d.mts
CHANGED
|
@@ -8198,6 +8198,11 @@ type SelectFacebookPageError = (unknown | {
|
|
|
8198
8198
|
});
|
|
8199
8199
|
type ListGoogleBusinessLocationsData = {
|
|
8200
8200
|
query?: {
|
|
8201
|
+
/**
|
|
8202
|
+
* Raw Google Business Information API filter expression (advanced; takes precedence over search). Supports fields such as title, storeCode, storefront_address.postal_code, labels and categories, e.g. storeCode="LH279411". See Google's "Work with location data" guide.
|
|
8203
|
+
*
|
|
8204
|
+
*/
|
|
8205
|
+
filter?: string;
|
|
8201
8206
|
/**
|
|
8202
8207
|
* Token from the OAuth callback redirect. Preferred over tempToken because it preserves server-side token storage. One of pendingDataToken or tempToken is required.
|
|
8203
8208
|
*/
|
|
@@ -8206,6 +8211,11 @@ type ListGoogleBusinessLocationsData = {
|
|
|
8206
8211
|
* Profile ID from your connection flow. Required for auth validation when provided.
|
|
8207
8212
|
*/
|
|
8208
8213
|
profileId?: string;
|
|
8214
|
+
/**
|
|
8215
|
+
* Free-text search on the business name, applied server-side by Google. Use this for accounts that own many locations (the response is bounded, see hasMore) so the user can find a specific location without loading the full list.
|
|
8216
|
+
*
|
|
8217
|
+
*/
|
|
8218
|
+
search?: string;
|
|
8209
8219
|
/**
|
|
8210
8220
|
* Legacy. Direct Google access token. Use pendingDataToken instead when available.
|
|
8211
8221
|
*/
|
|
@@ -8238,7 +8248,16 @@ type ListGoogleBusinessLocationsResponse = ({
|
|
|
8238
8248
|
* Business category
|
|
8239
8249
|
*/
|
|
8240
8250
|
category?: string;
|
|
8251
|
+
/**
|
|
8252
|
+
* Store code set on the location in Google Business Profile (if any)
|
|
8253
|
+
*/
|
|
8254
|
+
storeCode?: string;
|
|
8241
8255
|
}>;
|
|
8256
|
+
/**
|
|
8257
|
+
* True when more locations exist than were returned (the list is bounded). Prompt the user to narrow the result set with search.
|
|
8258
|
+
*
|
|
8259
|
+
*/
|
|
8260
|
+
hasMore?: boolean;
|
|
8242
8261
|
});
|
|
8243
8262
|
type ListGoogleBusinessLocationsError = (unknown | {
|
|
8244
8263
|
error?: string;
|
|
@@ -8253,6 +8272,11 @@ type SelectGoogleBusinessLocationData = {
|
|
|
8253
8272
|
* The Google Business location ID selected by the user
|
|
8254
8273
|
*/
|
|
8255
8274
|
locationId: string;
|
|
8275
|
+
/**
|
|
8276
|
+
* Optional but recommended. The Google Business Account resource name ("accounts/123") that owns the selected location (returned per-location by GET /v1/connect/googlebusiness/locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts that own many locations. Omit only for small accounts.
|
|
8277
|
+
*
|
|
8278
|
+
*/
|
|
8279
|
+
accountId?: string;
|
|
8256
8280
|
/**
|
|
8257
8281
|
* Token from the OAuth callback redirect (pendingDataToken query param). Tokens and profile data are retrieved server-side from this token.
|
|
8258
8282
|
*/
|
|
@@ -10462,6 +10486,16 @@ type GetGmbLocationsData = {
|
|
|
10462
10486
|
path: {
|
|
10463
10487
|
accountId: string;
|
|
10464
10488
|
};
|
|
10489
|
+
query?: {
|
|
10490
|
+
/**
|
|
10491
|
+
* Raw Google Business Information API filter expression (advanced; takes precedence over search), e.g. storeCode="LH279411".
|
|
10492
|
+
*/
|
|
10493
|
+
filter?: string;
|
|
10494
|
+
/**
|
|
10495
|
+
* Free-text search on the business name, applied server-side by Google. Use for accounts with many locations.
|
|
10496
|
+
*/
|
|
10497
|
+
search?: string;
|
|
10498
|
+
};
|
|
10465
10499
|
};
|
|
10466
10500
|
type GetGmbLocationsResponse = ({
|
|
10467
10501
|
locations?: Array<{
|
|
@@ -10472,7 +10506,12 @@ type GetGmbLocationsResponse = ({
|
|
|
10472
10506
|
address?: string;
|
|
10473
10507
|
category?: string;
|
|
10474
10508
|
websiteUrl?: string;
|
|
10509
|
+
storeCode?: string;
|
|
10475
10510
|
}>;
|
|
10511
|
+
/**
|
|
10512
|
+
* True when more locations exist than were returned (use search to narrow down).
|
|
10513
|
+
*/
|
|
10514
|
+
hasMore?: boolean;
|
|
10476
10515
|
selectedLocationId?: string;
|
|
10477
10516
|
cached?: boolean;
|
|
10478
10517
|
});
|
|
@@ -10482,6 +10521,11 @@ type GetGmbLocationsError = ({
|
|
|
10482
10521
|
type UpdateGmbLocationData = {
|
|
10483
10522
|
body: {
|
|
10484
10523
|
selectedLocationId: string;
|
|
10524
|
+
/**
|
|
10525
|
+
* Optional but recommended. The Google Business Account resource name ("accounts/123") that owns the new location (from GET gmb-locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts with many locations.
|
|
10526
|
+
*
|
|
10527
|
+
*/
|
|
10528
|
+
accountId?: string;
|
|
10485
10529
|
};
|
|
10486
10530
|
path: {
|
|
10487
10531
|
accountId: string;
|
|
@@ -18044,36 +18088,53 @@ type CreateStandaloneAdData = {
|
|
|
18044
18088
|
adFormat?: 'SINGLE_IMAGE' | 'CAROUSEL_IMAGE';
|
|
18045
18089
|
};
|
|
18046
18090
|
/**
|
|
18047
|
-
* Meta only. Placement asset customization: pin a SPECIFIC image
|
|
18048
|
-
* group on a SINGLE ad (e.g. a 9:16
|
|
18049
|
-
*
|
|
18050
|
-
* mapped to the creative's `asset_feed_spec` + `asset_customization_rules`.
|
|
18051
|
-
*
|
|
18052
|
-
*
|
|
18053
|
-
*
|
|
18054
|
-
* fields (`headline`, `body`, `linkUrl`, `callToAction`) since only the image varies by
|
|
18091
|
+
* Meta only. Placement asset customization: pin a SPECIFIC asset (image OR video) to
|
|
18092
|
+
* each placement group on a SINGLE ad (e.g. a 9:16 on Stories/Reels and a 4:5 on Feed).
|
|
18093
|
+
* The same thing Meta Ads Manager produces with "different creative per placement",
|
|
18094
|
+
* mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. Deterministic
|
|
18095
|
+
* pinning, NOT the auto-optimizing pool of `dynamicCreative` (mutually exclusive, and it
|
|
18096
|
+
* cannot be combined with `creatives[]` or `adSetId`). Shared copy (headline, body, link,
|
|
18097
|
+
* CTA) comes from the top-level single-creative fields since only the asset varies by
|
|
18055
18098
|
* placement. Each rule's `placements` accepts the same fields as the top-level
|
|
18056
18099
|
* `placements` object; Meta enforces co-selection rules and returns an actionable error.
|
|
18057
18100
|
*
|
|
18101
|
+
* A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
|
|
18102
|
+
* format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
|
|
18103
|
+
* `defaultVideoUrl` + `rules[].videoUrl` (optional `thumbnailUrl`/`defaultThumbnailUrl`
|
|
18104
|
+
* posters; Meta auto-generates when omitted). Exactly one catch-all default is required.
|
|
18105
|
+
*
|
|
18058
18106
|
*/
|
|
18059
18107
|
placementAssets?: {
|
|
18060
18108
|
/**
|
|
18061
|
-
* Catch-all image for any placement
|
|
18062
|
-
|
|
18063
|
-
|
|
18064
|
-
|
|
18109
|
+
* Image mode. Catch-all image for any placement no rule matches. Required in image mode (Meta mandates a default rule).
|
|
18110
|
+
*/
|
|
18111
|
+
defaultImageUrl?: string;
|
|
18112
|
+
/**
|
|
18113
|
+
* Video mode. Catch-all video for any placement no rule matches. Required in video mode.
|
|
18114
|
+
*/
|
|
18115
|
+
defaultVideoUrl?: string;
|
|
18116
|
+
/**
|
|
18117
|
+
* Video mode (optional). Poster image for the default video; Meta auto-generates one when omitted.
|
|
18065
18118
|
*/
|
|
18066
|
-
|
|
18119
|
+
defaultThumbnailUrl?: string;
|
|
18067
18120
|
/**
|
|
18068
|
-
* One entry per placement group you want to pin a specific
|
|
18121
|
+
* One entry per placement group you want to pin a specific asset to.
|
|
18069
18122
|
*/
|
|
18070
18123
|
rules: Array<{
|
|
18071
18124
|
/**
|
|
18072
|
-
* The image to deliver for this rule's placements.
|
|
18125
|
+
* Image mode. The image to deliver for this rule's placements.
|
|
18126
|
+
*/
|
|
18127
|
+
imageUrl?: string;
|
|
18128
|
+
/**
|
|
18129
|
+
* Video mode. The video to deliver for this rule's placements.
|
|
18130
|
+
*/
|
|
18131
|
+
videoUrl?: string;
|
|
18132
|
+
/**
|
|
18133
|
+
* Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
|
|
18073
18134
|
*/
|
|
18074
|
-
|
|
18135
|
+
thumbnailUrl?: string;
|
|
18075
18136
|
/**
|
|
18076
|
-
* Placements this
|
|
18137
|
+
* Placements this asset is pinned to. At least one field must be set (an empty rule is invalid — that role is served by the default asset). Same enums as the top-level `placements` object.
|
|
18077
18138
|
*/
|
|
18078
18139
|
placements: {
|
|
18079
18140
|
publisherPlatforms?: Array<('facebook' | 'instagram' | 'threads' | 'messenger' | 'audience_network')>;
|
package/dist/index.d.ts
CHANGED
|
@@ -8198,6 +8198,11 @@ type SelectFacebookPageError = (unknown | {
|
|
|
8198
8198
|
});
|
|
8199
8199
|
type ListGoogleBusinessLocationsData = {
|
|
8200
8200
|
query?: {
|
|
8201
|
+
/**
|
|
8202
|
+
* Raw Google Business Information API filter expression (advanced; takes precedence over search). Supports fields such as title, storeCode, storefront_address.postal_code, labels and categories, e.g. storeCode="LH279411". See Google's "Work with location data" guide.
|
|
8203
|
+
*
|
|
8204
|
+
*/
|
|
8205
|
+
filter?: string;
|
|
8201
8206
|
/**
|
|
8202
8207
|
* Token from the OAuth callback redirect. Preferred over tempToken because it preserves server-side token storage. One of pendingDataToken or tempToken is required.
|
|
8203
8208
|
*/
|
|
@@ -8206,6 +8211,11 @@ type ListGoogleBusinessLocationsData = {
|
|
|
8206
8211
|
* Profile ID from your connection flow. Required for auth validation when provided.
|
|
8207
8212
|
*/
|
|
8208
8213
|
profileId?: string;
|
|
8214
|
+
/**
|
|
8215
|
+
* Free-text search on the business name, applied server-side by Google. Use this for accounts that own many locations (the response is bounded, see hasMore) so the user can find a specific location without loading the full list.
|
|
8216
|
+
*
|
|
8217
|
+
*/
|
|
8218
|
+
search?: string;
|
|
8209
8219
|
/**
|
|
8210
8220
|
* Legacy. Direct Google access token. Use pendingDataToken instead when available.
|
|
8211
8221
|
*/
|
|
@@ -8238,7 +8248,16 @@ type ListGoogleBusinessLocationsResponse = ({
|
|
|
8238
8248
|
* Business category
|
|
8239
8249
|
*/
|
|
8240
8250
|
category?: string;
|
|
8251
|
+
/**
|
|
8252
|
+
* Store code set on the location in Google Business Profile (if any)
|
|
8253
|
+
*/
|
|
8254
|
+
storeCode?: string;
|
|
8241
8255
|
}>;
|
|
8256
|
+
/**
|
|
8257
|
+
* True when more locations exist than were returned (the list is bounded). Prompt the user to narrow the result set with search.
|
|
8258
|
+
*
|
|
8259
|
+
*/
|
|
8260
|
+
hasMore?: boolean;
|
|
8242
8261
|
});
|
|
8243
8262
|
type ListGoogleBusinessLocationsError = (unknown | {
|
|
8244
8263
|
error?: string;
|
|
@@ -8253,6 +8272,11 @@ type SelectGoogleBusinessLocationData = {
|
|
|
8253
8272
|
* The Google Business location ID selected by the user
|
|
8254
8273
|
*/
|
|
8255
8274
|
locationId: string;
|
|
8275
|
+
/**
|
|
8276
|
+
* Optional but recommended. The Google Business Account resource name ("accounts/123") that owns the selected location (returned per-location by GET /v1/connect/googlebusiness/locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts that own many locations. Omit only for small accounts.
|
|
8277
|
+
*
|
|
8278
|
+
*/
|
|
8279
|
+
accountId?: string;
|
|
8256
8280
|
/**
|
|
8257
8281
|
* Token from the OAuth callback redirect (pendingDataToken query param). Tokens and profile data are retrieved server-side from this token.
|
|
8258
8282
|
*/
|
|
@@ -10462,6 +10486,16 @@ type GetGmbLocationsData = {
|
|
|
10462
10486
|
path: {
|
|
10463
10487
|
accountId: string;
|
|
10464
10488
|
};
|
|
10489
|
+
query?: {
|
|
10490
|
+
/**
|
|
10491
|
+
* Raw Google Business Information API filter expression (advanced; takes precedence over search), e.g. storeCode="LH279411".
|
|
10492
|
+
*/
|
|
10493
|
+
filter?: string;
|
|
10494
|
+
/**
|
|
10495
|
+
* Free-text search on the business name, applied server-side by Google. Use for accounts with many locations.
|
|
10496
|
+
*/
|
|
10497
|
+
search?: string;
|
|
10498
|
+
};
|
|
10465
10499
|
};
|
|
10466
10500
|
type GetGmbLocationsResponse = ({
|
|
10467
10501
|
locations?: Array<{
|
|
@@ -10472,7 +10506,12 @@ type GetGmbLocationsResponse = ({
|
|
|
10472
10506
|
address?: string;
|
|
10473
10507
|
category?: string;
|
|
10474
10508
|
websiteUrl?: string;
|
|
10509
|
+
storeCode?: string;
|
|
10475
10510
|
}>;
|
|
10511
|
+
/**
|
|
10512
|
+
* True when more locations exist than were returned (use search to narrow down).
|
|
10513
|
+
*/
|
|
10514
|
+
hasMore?: boolean;
|
|
10476
10515
|
selectedLocationId?: string;
|
|
10477
10516
|
cached?: boolean;
|
|
10478
10517
|
});
|
|
@@ -10482,6 +10521,11 @@ type GetGmbLocationsError = ({
|
|
|
10482
10521
|
type UpdateGmbLocationData = {
|
|
10483
10522
|
body: {
|
|
10484
10523
|
selectedLocationId: string;
|
|
10524
|
+
/**
|
|
10525
|
+
* Optional but recommended. The Google Business Account resource name ("accounts/123") that owns the new location (from GET gmb-locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts with many locations.
|
|
10526
|
+
*
|
|
10527
|
+
*/
|
|
10528
|
+
accountId?: string;
|
|
10485
10529
|
};
|
|
10486
10530
|
path: {
|
|
10487
10531
|
accountId: string;
|
|
@@ -18044,36 +18088,53 @@ type CreateStandaloneAdData = {
|
|
|
18044
18088
|
adFormat?: 'SINGLE_IMAGE' | 'CAROUSEL_IMAGE';
|
|
18045
18089
|
};
|
|
18046
18090
|
/**
|
|
18047
|
-
* Meta only. Placement asset customization: pin a SPECIFIC image
|
|
18048
|
-
* group on a SINGLE ad (e.g. a 9:16
|
|
18049
|
-
*
|
|
18050
|
-
* mapped to the creative's `asset_feed_spec` + `asset_customization_rules`.
|
|
18051
|
-
*
|
|
18052
|
-
*
|
|
18053
|
-
*
|
|
18054
|
-
* fields (`headline`, `body`, `linkUrl`, `callToAction`) since only the image varies by
|
|
18091
|
+
* Meta only. Placement asset customization: pin a SPECIFIC asset (image OR video) to
|
|
18092
|
+
* each placement group on a SINGLE ad (e.g. a 9:16 on Stories/Reels and a 4:5 on Feed).
|
|
18093
|
+
* The same thing Meta Ads Manager produces with "different creative per placement",
|
|
18094
|
+
* mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. Deterministic
|
|
18095
|
+
* pinning, NOT the auto-optimizing pool of `dynamicCreative` (mutually exclusive, and it
|
|
18096
|
+
* cannot be combined with `creatives[]` or `adSetId`). Shared copy (headline, body, link,
|
|
18097
|
+
* CTA) comes from the top-level single-creative fields since only the asset varies by
|
|
18055
18098
|
* placement. Each rule's `placements` accepts the same fields as the top-level
|
|
18056
18099
|
* `placements` object; Meta enforces co-selection rules and returns an actionable error.
|
|
18057
18100
|
*
|
|
18101
|
+
* A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
|
|
18102
|
+
* format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
|
|
18103
|
+
* `defaultVideoUrl` + `rules[].videoUrl` (optional `thumbnailUrl`/`defaultThumbnailUrl`
|
|
18104
|
+
* posters; Meta auto-generates when omitted). Exactly one catch-all default is required.
|
|
18105
|
+
*
|
|
18058
18106
|
*/
|
|
18059
18107
|
placementAssets?: {
|
|
18060
18108
|
/**
|
|
18061
|
-
* Catch-all image for any placement
|
|
18062
|
-
|
|
18063
|
-
|
|
18064
|
-
|
|
18109
|
+
* Image mode. Catch-all image for any placement no rule matches. Required in image mode (Meta mandates a default rule).
|
|
18110
|
+
*/
|
|
18111
|
+
defaultImageUrl?: string;
|
|
18112
|
+
/**
|
|
18113
|
+
* Video mode. Catch-all video for any placement no rule matches. Required in video mode.
|
|
18114
|
+
*/
|
|
18115
|
+
defaultVideoUrl?: string;
|
|
18116
|
+
/**
|
|
18117
|
+
* Video mode (optional). Poster image for the default video; Meta auto-generates one when omitted.
|
|
18065
18118
|
*/
|
|
18066
|
-
|
|
18119
|
+
defaultThumbnailUrl?: string;
|
|
18067
18120
|
/**
|
|
18068
|
-
* One entry per placement group you want to pin a specific
|
|
18121
|
+
* One entry per placement group you want to pin a specific asset to.
|
|
18069
18122
|
*/
|
|
18070
18123
|
rules: Array<{
|
|
18071
18124
|
/**
|
|
18072
|
-
* The image to deliver for this rule's placements.
|
|
18125
|
+
* Image mode. The image to deliver for this rule's placements.
|
|
18126
|
+
*/
|
|
18127
|
+
imageUrl?: string;
|
|
18128
|
+
/**
|
|
18129
|
+
* Video mode. The video to deliver for this rule's placements.
|
|
18130
|
+
*/
|
|
18131
|
+
videoUrl?: string;
|
|
18132
|
+
/**
|
|
18133
|
+
* Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
|
|
18073
18134
|
*/
|
|
18074
|
-
|
|
18135
|
+
thumbnailUrl?: string;
|
|
18075
18136
|
/**
|
|
18076
|
-
* Placements this
|
|
18137
|
+
* Placements this asset is pinned to. At least one field must be set (an empty rule is invalid — that role is served by the default asset). Same enums as the top-level `placements` object.
|
|
18077
18138
|
*/
|
|
18078
18139
|
placements: {
|
|
18079
18140
|
publisherPlatforms?: Array<('facebook' | 'instagram' | 'threads' | 'messenger' | 'audience_network')>;
|
package/dist/index.js
CHANGED
|
@@ -36,7 +36,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
36
36
|
// package.json
|
|
37
37
|
var package_default = {
|
|
38
38
|
name: "@zernio/node",
|
|
39
|
-
version: "0.2.
|
|
39
|
+
version: "0.2.208",
|
|
40
40
|
description: "The official Node.js library for the Zernio API",
|
|
41
41
|
main: "dist/index.js",
|
|
42
42
|
module: "dist/index.mjs",
|
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
|
|
|
5
5
|
// package.json
|
|
6
6
|
var package_default = {
|
|
7
7
|
name: "@zernio/node",
|
|
8
|
-
version: "0.2.
|
|
8
|
+
version: "0.2.208",
|
|
9
9
|
description: "The official Node.js library for the Zernio API",
|
|
10
10
|
main: "dist/index.js",
|
|
11
11
|
module: "dist/index.mjs",
|
package/package.json
CHANGED
package/src/generated/sdk.gen.ts
CHANGED
|
@@ -1672,7 +1672,8 @@ export const updateYoutubeDefaultPlaylist = <ThrowOnError extends boolean = fals
|
|
|
1672
1672
|
|
|
1673
1673
|
/**
|
|
1674
1674
|
* List GBP locations
|
|
1675
|
-
* Returns
|
|
1675
|
+
* Returns Google Business Profile locations the connected account can access, plus the currently selected location. The list is bounded (see hasMore); for accounts that own many locations, use the search or filter query params to find a specific one instead of loading them all.
|
|
1676
|
+
*
|
|
1676
1677
|
*/
|
|
1677
1678
|
export const getGmbLocations = <ThrowOnError extends boolean = false>(options: OptionsLegacyParser<GetGmbLocationsData, ThrowOnError>) => {
|
|
1678
1679
|
return (options?.client ?? client).get<GetGmbLocationsResponse, GetGmbLocationsError, ThrowOnError>({
|
|
@@ -7892,6 +7892,11 @@ export type SelectFacebookPageError = (unknown | {
|
|
|
7892
7892
|
|
|
7893
7893
|
export type ListGoogleBusinessLocationsData = {
|
|
7894
7894
|
query?: {
|
|
7895
|
+
/**
|
|
7896
|
+
* Raw Google Business Information API filter expression (advanced; takes precedence over search). Supports fields such as title, storeCode, storefront_address.postal_code, labels and categories, e.g. storeCode="LH279411". See Google's "Work with location data" guide.
|
|
7897
|
+
*
|
|
7898
|
+
*/
|
|
7899
|
+
filter?: string;
|
|
7895
7900
|
/**
|
|
7896
7901
|
* Token from the OAuth callback redirect. Preferred over tempToken because it preserves server-side token storage. One of pendingDataToken or tempToken is required.
|
|
7897
7902
|
*/
|
|
@@ -7900,6 +7905,11 @@ export type ListGoogleBusinessLocationsData = {
|
|
|
7900
7905
|
* Profile ID from your connection flow. Required for auth validation when provided.
|
|
7901
7906
|
*/
|
|
7902
7907
|
profileId?: string;
|
|
7908
|
+
/**
|
|
7909
|
+
* Free-text search on the business name, applied server-side by Google. Use this for accounts that own many locations (the response is bounded, see hasMore) so the user can find a specific location without loading the full list.
|
|
7910
|
+
*
|
|
7911
|
+
*/
|
|
7912
|
+
search?: string;
|
|
7903
7913
|
/**
|
|
7904
7914
|
* Legacy. Direct Google access token. Use pendingDataToken instead when available.
|
|
7905
7915
|
*/
|
|
@@ -7933,7 +7943,16 @@ export type ListGoogleBusinessLocationsResponse = ({
|
|
|
7933
7943
|
* Business category
|
|
7934
7944
|
*/
|
|
7935
7945
|
category?: string;
|
|
7946
|
+
/**
|
|
7947
|
+
* Store code set on the location in Google Business Profile (if any)
|
|
7948
|
+
*/
|
|
7949
|
+
storeCode?: string;
|
|
7936
7950
|
}>;
|
|
7951
|
+
/**
|
|
7952
|
+
* True when more locations exist than were returned (the list is bounded). Prompt the user to narrow the result set with search.
|
|
7953
|
+
*
|
|
7954
|
+
*/
|
|
7955
|
+
hasMore?: boolean;
|
|
7937
7956
|
});
|
|
7938
7957
|
|
|
7939
7958
|
export type ListGoogleBusinessLocationsError = (unknown | {
|
|
@@ -7950,6 +7969,11 @@ export type SelectGoogleBusinessLocationData = {
|
|
|
7950
7969
|
* The Google Business location ID selected by the user
|
|
7951
7970
|
*/
|
|
7952
7971
|
locationId: string;
|
|
7972
|
+
/**
|
|
7973
|
+
* Optional but recommended. The Google Business Account resource name ("accounts/123") that owns the selected location (returned per-location by GET /v1/connect/googlebusiness/locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts that own many locations. Omit only for small accounts.
|
|
7974
|
+
*
|
|
7975
|
+
*/
|
|
7976
|
+
accountId?: string;
|
|
7953
7977
|
/**
|
|
7954
7978
|
* Token from the OAuth callback redirect (pendingDataToken query param). Tokens and profile data are retrieved server-side from this token.
|
|
7955
7979
|
*/
|
|
@@ -10315,6 +10339,16 @@ export type GetGmbLocationsData = {
|
|
|
10315
10339
|
path: {
|
|
10316
10340
|
accountId: string;
|
|
10317
10341
|
};
|
|
10342
|
+
query?: {
|
|
10343
|
+
/**
|
|
10344
|
+
* Raw Google Business Information API filter expression (advanced; takes precedence over search), e.g. storeCode="LH279411".
|
|
10345
|
+
*/
|
|
10346
|
+
filter?: string;
|
|
10347
|
+
/**
|
|
10348
|
+
* Free-text search on the business name, applied server-side by Google. Use for accounts with many locations.
|
|
10349
|
+
*/
|
|
10350
|
+
search?: string;
|
|
10351
|
+
};
|
|
10318
10352
|
};
|
|
10319
10353
|
|
|
10320
10354
|
export type GetGmbLocationsResponse = ({
|
|
@@ -10326,7 +10360,12 @@ export type GetGmbLocationsResponse = ({
|
|
|
10326
10360
|
address?: string;
|
|
10327
10361
|
category?: string;
|
|
10328
10362
|
websiteUrl?: string;
|
|
10363
|
+
storeCode?: string;
|
|
10329
10364
|
}>;
|
|
10365
|
+
/**
|
|
10366
|
+
* True when more locations exist than were returned (use search to narrow down).
|
|
10367
|
+
*/
|
|
10368
|
+
hasMore?: boolean;
|
|
10330
10369
|
selectedLocationId?: string;
|
|
10331
10370
|
cached?: boolean;
|
|
10332
10371
|
});
|
|
@@ -10338,6 +10377,11 @@ export type GetGmbLocationsError = ({
|
|
|
10338
10377
|
export type UpdateGmbLocationData = {
|
|
10339
10378
|
body: {
|
|
10340
10379
|
selectedLocationId: string;
|
|
10380
|
+
/**
|
|
10381
|
+
* Optional but recommended. The Google Business Account resource name ("accounts/123") that owns the new location (from GET gmb-locations). When provided, the location is resolved directly instead of by enumerating the account, which is required for accounts with many locations.
|
|
10382
|
+
*
|
|
10383
|
+
*/
|
|
10384
|
+
accountId?: string;
|
|
10341
10385
|
};
|
|
10342
10386
|
path: {
|
|
10343
10387
|
accountId: string;
|
|
@@ -18509,36 +18553,53 @@ export type CreateStandaloneAdData = {
|
|
|
18509
18553
|
adFormat?: 'SINGLE_IMAGE' | 'CAROUSEL_IMAGE';
|
|
18510
18554
|
};
|
|
18511
18555
|
/**
|
|
18512
|
-
* Meta only. Placement asset customization: pin a SPECIFIC image
|
|
18513
|
-
* group on a SINGLE ad (e.g. a 9:16
|
|
18514
|
-
*
|
|
18515
|
-
* mapped to the creative's `asset_feed_spec` + `asset_customization_rules`.
|
|
18516
|
-
*
|
|
18517
|
-
*
|
|
18518
|
-
*
|
|
18519
|
-
* fields (`headline`, `body`, `linkUrl`, `callToAction`) since only the image varies by
|
|
18556
|
+
* Meta only. Placement asset customization: pin a SPECIFIC asset (image OR video) to
|
|
18557
|
+
* each placement group on a SINGLE ad (e.g. a 9:16 on Stories/Reels and a 4:5 on Feed).
|
|
18558
|
+
* The same thing Meta Ads Manager produces with "different creative per placement",
|
|
18559
|
+
* mapped to the creative's `asset_feed_spec` + `asset_customization_rules`. Deterministic
|
|
18560
|
+
* pinning, NOT the auto-optimizing pool of `dynamicCreative` (mutually exclusive, and it
|
|
18561
|
+
* cannot be combined with `creatives[]` or `adSetId`). Shared copy (headline, body, link,
|
|
18562
|
+
* CTA) comes from the top-level single-creative fields since only the asset varies by
|
|
18520
18563
|
* placement. Each rule's `placements` accepts the same fields as the top-level
|
|
18521
18564
|
* `placements` object; Meta enforces co-selection rules and returns an actionable error.
|
|
18522
18565
|
*
|
|
18566
|
+
* A block is all-image OR all-video, never mixed (Meta's asset_feed_spec carries one ad
|
|
18567
|
+
* format). Image mode: `defaultImageUrl` + `rules[].imageUrl`. Video mode:
|
|
18568
|
+
* `defaultVideoUrl` + `rules[].videoUrl` (optional `thumbnailUrl`/`defaultThumbnailUrl`
|
|
18569
|
+
* posters; Meta auto-generates when omitted). Exactly one catch-all default is required.
|
|
18570
|
+
*
|
|
18523
18571
|
*/
|
|
18524
18572
|
placementAssets?: {
|
|
18525
18573
|
/**
|
|
18526
|
-
* Catch-all image for any placement
|
|
18527
|
-
|
|
18528
|
-
|
|
18529
|
-
|
|
18574
|
+
* Image mode. Catch-all image for any placement no rule matches. Required in image mode (Meta mandates a default rule).
|
|
18575
|
+
*/
|
|
18576
|
+
defaultImageUrl?: string;
|
|
18577
|
+
/**
|
|
18578
|
+
* Video mode. Catch-all video for any placement no rule matches. Required in video mode.
|
|
18579
|
+
*/
|
|
18580
|
+
defaultVideoUrl?: string;
|
|
18581
|
+
/**
|
|
18582
|
+
* Video mode (optional). Poster image for the default video; Meta auto-generates one when omitted.
|
|
18530
18583
|
*/
|
|
18531
|
-
|
|
18584
|
+
defaultThumbnailUrl?: string;
|
|
18532
18585
|
/**
|
|
18533
|
-
* One entry per placement group you want to pin a specific
|
|
18586
|
+
* One entry per placement group you want to pin a specific asset to.
|
|
18534
18587
|
*/
|
|
18535
18588
|
rules: Array<{
|
|
18536
18589
|
/**
|
|
18537
|
-
* The image to deliver for this rule's placements.
|
|
18590
|
+
* Image mode. The image to deliver for this rule's placements.
|
|
18591
|
+
*/
|
|
18592
|
+
imageUrl?: string;
|
|
18593
|
+
/**
|
|
18594
|
+
* Video mode. The video to deliver for this rule's placements.
|
|
18595
|
+
*/
|
|
18596
|
+
videoUrl?: string;
|
|
18597
|
+
/**
|
|
18598
|
+
* Video mode (optional). Poster image for this rule's video; auto-generated when omitted.
|
|
18538
18599
|
*/
|
|
18539
|
-
|
|
18600
|
+
thumbnailUrl?: string;
|
|
18540
18601
|
/**
|
|
18541
|
-
* Placements this
|
|
18602
|
+
* Placements this asset is pinned to. At least one field must be set (an empty rule is invalid — that role is served by the default asset). Same enums as the top-level `placements` object.
|
|
18542
18603
|
*/
|
|
18543
18604
|
placements: {
|
|
18544
18605
|
publisherPlatforms?: Array<('facebook' | 'instagram' | 'threads' | 'messenger' | 'audience_network')>;
|