@wix/auto_sdk_seo_blog-post-candidates 1.0.0
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/build/cjs/index.d.ts +57 -0
- package/build/cjs/index.js +336 -0
- package/build/cjs/index.js.map +1 -0
- package/build/cjs/index.typings.d.ts +795 -0
- package/build/cjs/index.typings.js +314 -0
- package/build/cjs/index.typings.js.map +1 -0
- package/build/cjs/meta.d.ts +731 -0
- package/build/cjs/meta.js +290 -0
- package/build/cjs/meta.js.map +1 -0
- package/build/es/index.d.mts +57 -0
- package/build/es/index.mjs +308 -0
- package/build/es/index.mjs.map +1 -0
- package/build/es/index.typings.d.mts +795 -0
- package/build/es/index.typings.mjs +286 -0
- package/build/es/index.typings.mjs.map +1 -0
- package/build/es/meta.d.mts +731 -0
- package/build/es/meta.mjs +259 -0
- package/build/es/meta.mjs.map +1 -0
- package/build/es/package.json +3 -0
- package/build/internal/cjs/index.d.ts +57 -0
- package/build/internal/cjs/index.typings.d.ts +801 -0
- package/build/internal/cjs/meta.d.ts +779 -0
- package/build/internal/es/index.d.mts +57 -0
- package/build/internal/es/index.typings.d.mts +801 -0
- package/build/internal/es/meta.d.mts +779 -0
- package/meta/package.json +3 -0
- package/package.json +54 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
|
|
2
|
+
import { ListBlogPostCandidatesOptions, ListBlogPostCandidatesResponse, CreateContentPlanOptions, CreateContentPlanResponse, CreateContentPlanApplicationErrors } from './index.typings.js';
|
|
3
|
+
export { AccountInfo, ActionEvent, ApplicationError, BlogPostCandidate, BriefData, BulkActionMetadata, BulkMarkBlogPostCandidateItem, BulkMarkBlogPostCandidateResult, BulkMarkBlogPostCandidatesRequest, BulkMarkBlogPostCandidatesResponse, CandidateData, Column, ColumnType, ColumnTypeWithLiterals, ContentPlan, CreateContentPlanRequest, CursorPaging, CursorPagingMetadata, Cursors, DomainEvent, DomainEventBodyOneOf, EntityCreatedEvent, EntityDeletedEvent, EntityUpdatedEvent, GetBlogPostCandidateByIdRequest, GetBlogPostCandidateByIdResponse, GetBlogPostCandidateRequest, GetBlogPostCandidateResponse, GetContentPlanRequest, GetContentPlanResponse, IdentificationData, IdentificationDataIdOneOf, ItemMetadata, Keyword, ListBlogPostCandidatesRequest, MarkBlogPostCandidateRequest, MarkBlogPostCandidateResponse, MessageEnvelope, PeopleAlsoAskAnswer, PeopleAlsoAskQuestion, QueryBlogPostCandidatesRequest, QueryBlogPostCandidatesResponse, RestoreInfo, Row, RowStatus, RowStatusWithLiterals, SeoSchema, SerpData, Settings, Tag, UpdateContentPlanRequest, UpdateContentPlanResponse, WebhookIdentityType, WebhookIdentityTypeWithLiterals } from './index.typings.js';
|
|
4
|
+
|
|
5
|
+
declare function listBlogPostCandidates$1(httpClient: HttpClient): ListBlogPostCandidatesSignature;
|
|
6
|
+
interface ListBlogPostCandidatesSignature {
|
|
7
|
+
/**
|
|
8
|
+
* Retrieves a list of blog post candidates for a content plan flow.
|
|
9
|
+
*
|
|
10
|
+
* Omit `contentPlanFlowId` to read the site's most recent successful flow.
|
|
11
|
+
* A site whose flows are all still running, failed, or canceled returns a
|
|
12
|
+
* not found error.
|
|
13
|
+
*
|
|
14
|
+
* Omit `paging` to return every candidate in a single response. When
|
|
15
|
+
* `paging` is present, `limit` accepts 1 to 100 and defaults to 50.
|
|
16
|
+
*
|
|
17
|
+
* Results are sorted by the order the content plan assigns them, then by
|
|
18
|
+
* descending keyword score. The sort isn't configurable.
|
|
19
|
+
* @param - ID of the content plan flow to retrieve candidates for.
|
|
20
|
+
*
|
|
21
|
+
* Omit to read the site's most recent successful flow.
|
|
22
|
+
*/
|
|
23
|
+
(contentPlanFlowId: string, options?: ListBlogPostCandidatesOptions): Promise<NonNullablePaths<ListBlogPostCandidatesResponse, `blogPostCandidates` | `blogPostCandidates.${number}.seoData.settings.preventAutoRedirect`, 6>>;
|
|
24
|
+
}
|
|
25
|
+
declare function createContentPlan$1(httpClient: HttpClient): CreateContentPlanSignature;
|
|
26
|
+
interface CreateContentPlanSignature {
|
|
27
|
+
/**
|
|
28
|
+
* Generates the blog post briefs for a content plan flow.
|
|
29
|
+
*
|
|
30
|
+
* A content plan flow stops at `KEYWORD_RESEARCH` and waits. Call this
|
|
31
|
+
* method to generate the briefs and let the flow continue to `SUCCESS`,
|
|
32
|
+
* then poll Get Content Plan Flow to follow it. A flow that's only polled
|
|
33
|
+
* never completes.
|
|
34
|
+
*
|
|
35
|
+
* Called on a flow that already reached `SUCCESS`, this method regenerates
|
|
36
|
+
* the plan under a separate content plan flow. The response carries the new
|
|
37
|
+
* `contentPlanFlowId`, and you poll that ID rather than the original. The
|
|
38
|
+
* original flow keeps its own candidates.
|
|
39
|
+
*
|
|
40
|
+
* Check `success` in the response as well as the HTTP status. A request
|
|
41
|
+
* that omits `contentPlanFlowId` reports every failure that way, with
|
|
42
|
+
* `success` set to `false` and the reason in `message` rather than an
|
|
43
|
+
* error. A generation failure reports that way even when you do send the
|
|
44
|
+
* ID.
|
|
45
|
+
*
|
|
46
|
+
* Call this method once for a flow and wait for it to return. Concurrent
|
|
47
|
+
* calls for the same site can produce duplicate content plans.
|
|
48
|
+
*/
|
|
49
|
+
(options?: CreateContentPlanOptions): Promise<CreateContentPlanResponse & {
|
|
50
|
+
__applicationErrorsType?: CreateContentPlanApplicationErrors;
|
|
51
|
+
}>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
declare const listBlogPostCandidates: MaybeContext<BuildRESTFunction<typeof listBlogPostCandidates$1> & typeof listBlogPostCandidates$1>;
|
|
55
|
+
declare const createContentPlan: MaybeContext<BuildRESTFunction<typeof createContentPlan$1> & typeof createContentPlan$1>;
|
|
56
|
+
|
|
57
|
+
export { CreateContentPlanApplicationErrors, CreateContentPlanOptions, CreateContentPlanResponse, ListBlogPostCandidatesOptions, ListBlogPostCandidatesResponse, createContentPlan, listBlogPostCandidates };
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
ColumnType: () => ColumnType,
|
|
24
|
+
RowStatus: () => RowStatus,
|
|
25
|
+
WebhookIdentityType: () => WebhookIdentityType,
|
|
26
|
+
createContentPlan: () => createContentPlan4,
|
|
27
|
+
listBlogPostCandidates: () => listBlogPostCandidates4
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(index_exports);
|
|
30
|
+
|
|
31
|
+
// src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.ts
|
|
32
|
+
var import_transform_error = require("@wix/sdk-runtime/transform-error");
|
|
33
|
+
var import_rename_all_nested_keys = require("@wix/sdk-runtime/rename-all-nested-keys");
|
|
34
|
+
|
|
35
|
+
// src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.http.ts
|
|
36
|
+
var import_rest_modules = require("@wix/sdk-runtime/rest-modules");
|
|
37
|
+
var import_rest_modules2 = require("@wix/sdk-runtime/rest-modules");
|
|
38
|
+
function resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url(opts) {
|
|
39
|
+
const domainToMappings = {
|
|
40
|
+
"bo._base_domain_": [
|
|
41
|
+
{
|
|
42
|
+
srcPath: "/_serverless/seo-content-plan-service",
|
|
43
|
+
destPath: ""
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"wixbo.ai": [
|
|
47
|
+
{
|
|
48
|
+
srcPath: "/_serverless/seo-content-plan-service",
|
|
49
|
+
destPath: ""
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"wix-bo.com": [
|
|
53
|
+
{
|
|
54
|
+
srcPath: "/_serverless/seo-content-plan-service",
|
|
55
|
+
destPath: ""
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"api._api_base_domain_": [
|
|
59
|
+
{
|
|
60
|
+
srcPath: "/seo-content-plan-service",
|
|
61
|
+
destPath: ""
|
|
62
|
+
}
|
|
63
|
+
],
|
|
64
|
+
"manage._base_domain_": [
|
|
65
|
+
{
|
|
66
|
+
srcPath: "/_api/seo-content-plan-service",
|
|
67
|
+
destPath: ""
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"editor._base_domain_": [
|
|
71
|
+
{
|
|
72
|
+
srcPath: "/_api/seo-content-plan-service",
|
|
73
|
+
destPath: ""
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"blocks._base_domain_": [
|
|
77
|
+
{
|
|
78
|
+
srcPath: "/_api/seo-content-plan-service",
|
|
79
|
+
destPath: ""
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"create.editorx": [
|
|
83
|
+
{
|
|
84
|
+
srcPath: "/_api/seo-content-plan-service",
|
|
85
|
+
destPath: ""
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"www.wixapis.com": [
|
|
89
|
+
{
|
|
90
|
+
srcPath: "/seo-content-plan-service",
|
|
91
|
+
destPath: ""
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
srcPath: "/promote/seo/v1/content-plan-flows",
|
|
95
|
+
destPath: "/v1/content-plan-flows"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
srcPath: "/promote/seo/v1/content-plan-flow",
|
|
99
|
+
destPath: "/v1/content-plan-flow"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
srcPath: "/promote/seo/v1/content-plan-keyword-research-items",
|
|
103
|
+
destPath: "/v1/content-plan-keyword-research-items"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
srcPath: "/promote/seo/v1/keyword-research-items",
|
|
107
|
+
destPath: "/v1/keyword-research-items"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
srcPath: "/promote/seo/v1/bulk/keyword-research-items",
|
|
111
|
+
destPath: "/v1/bulk/keyword-research-items"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
srcPath: "/promote/seo/v1/create-content-plan",
|
|
115
|
+
destPath: "/v1/create-content-plan"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
srcPath: "/promote/seo/v1/trigger-content-plan-generation-flow",
|
|
119
|
+
destPath: "/v1/trigger-content-plan-generation-flow"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
srcPath: "/promote/seo/v1/cancel-content-plan-flow",
|
|
123
|
+
destPath: "/v1/cancel-content-plan-flow"
|
|
124
|
+
}
|
|
125
|
+
],
|
|
126
|
+
_: [
|
|
127
|
+
{
|
|
128
|
+
srcPath: "/seo-content-plan-service",
|
|
129
|
+
destPath: ""
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
srcPath: "/promote/seo/v1/content-plan-flows",
|
|
133
|
+
destPath: "/v1/content-plan-flows"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
srcPath: "/promote/seo/v1/content-plan-flow",
|
|
137
|
+
destPath: "/v1/content-plan-flow"
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
srcPath: "/promote/seo/v1/content-plan-keyword-research-items",
|
|
141
|
+
destPath: "/v1/content-plan-keyword-research-items"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
srcPath: "/promote/seo/v1/keyword-research-items",
|
|
145
|
+
destPath: "/v1/keyword-research-items"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
srcPath: "/promote/seo/v1/bulk/keyword-research-items",
|
|
149
|
+
destPath: "/v1/bulk/keyword-research-items"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
srcPath: "/promote/seo/v1/create-content-plan",
|
|
153
|
+
destPath: "/v1/create-content-plan"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
srcPath: "/promote/seo/v1/trigger-content-plan-generation-flow",
|
|
157
|
+
destPath: "/v1/trigger-content-plan-generation-flow"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
srcPath: "/promote/seo/v1/cancel-content-plan-flow",
|
|
161
|
+
destPath: "/v1/cancel-content-plan-flow"
|
|
162
|
+
}
|
|
163
|
+
]
|
|
164
|
+
};
|
|
165
|
+
return (0, import_rest_modules2.resolveUrl)(Object.assign(opts, { domainToMappings }));
|
|
166
|
+
}
|
|
167
|
+
var PACKAGE_NAME = "@wix/auto_sdk_seo_blog-post-candidates";
|
|
168
|
+
function listBlogPostCandidates(payload) {
|
|
169
|
+
function __listBlogPostCandidates({ host }) {
|
|
170
|
+
const metadata = {
|
|
171
|
+
entityFqdn: "wix.promote.seo.v1.content_plan_blog_post_candidate",
|
|
172
|
+
method: "GET",
|
|
173
|
+
methodFqn: "wix.promote.seo.content.plan.v1.SeoBlogPostCandidateServiceV1.ListBlogPostCandidates",
|
|
174
|
+
packageName: PACKAGE_NAME,
|
|
175
|
+
migrationOptions: {
|
|
176
|
+
optInTransformResponse: true
|
|
177
|
+
},
|
|
178
|
+
url: resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url({
|
|
179
|
+
protoPath: "/v1/content-plan-flows/{contentPlanFlowId}/blog-post-candidates",
|
|
180
|
+
data: payload,
|
|
181
|
+
host
|
|
182
|
+
}),
|
|
183
|
+
params: (0, import_rest_modules.toURLSearchParams)(payload),
|
|
184
|
+
fallback: [
|
|
185
|
+
{
|
|
186
|
+
method: "GET",
|
|
187
|
+
url: resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url(
|
|
188
|
+
{
|
|
189
|
+
protoPath: "/v1/content-plan-flows/{contentPlanFlowId}/blog-post-candidates",
|
|
190
|
+
data: payload,
|
|
191
|
+
host
|
|
192
|
+
}
|
|
193
|
+
),
|
|
194
|
+
params: (0, import_rest_modules.toURLSearchParams)(payload)
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
};
|
|
198
|
+
return metadata;
|
|
199
|
+
}
|
|
200
|
+
return __listBlogPostCandidates;
|
|
201
|
+
}
|
|
202
|
+
function createContentPlan(payload) {
|
|
203
|
+
function __createContentPlan({ host }) {
|
|
204
|
+
const metadata = {
|
|
205
|
+
entityFqdn: "wix.promote.seo.v1.content_plan_blog_post_candidate",
|
|
206
|
+
method: "POST",
|
|
207
|
+
methodFqn: "wix.promote.seo.content.plan.v1.SeoBlogPostCandidateServiceV1.CreateContentPlan",
|
|
208
|
+
packageName: PACKAGE_NAME,
|
|
209
|
+
migrationOptions: {
|
|
210
|
+
optInTransformResponse: true
|
|
211
|
+
},
|
|
212
|
+
url: resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url({
|
|
213
|
+
protoPath: "/v1/create-content-plan",
|
|
214
|
+
data: payload,
|
|
215
|
+
host
|
|
216
|
+
}),
|
|
217
|
+
data: payload
|
|
218
|
+
};
|
|
219
|
+
return metadata;
|
|
220
|
+
}
|
|
221
|
+
return __createContentPlan;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.ts
|
|
225
|
+
var ColumnType = /* @__PURE__ */ ((ColumnType2) => {
|
|
226
|
+
ColumnType2["TEXT"] = "TEXT";
|
|
227
|
+
ColumnType2["DATE"] = "DATE";
|
|
228
|
+
ColumnType2["TEXT_LONG"] = "TEXT_LONG";
|
|
229
|
+
return ColumnType2;
|
|
230
|
+
})(ColumnType || {});
|
|
231
|
+
var RowStatus = /* @__PURE__ */ ((RowStatus2) => {
|
|
232
|
+
RowStatus2["DRAFT"] = "DRAFT";
|
|
233
|
+
RowStatus2["PUBLISHED"] = "PUBLISHED";
|
|
234
|
+
return RowStatus2;
|
|
235
|
+
})(RowStatus || {});
|
|
236
|
+
var WebhookIdentityType = /* @__PURE__ */ ((WebhookIdentityType2) => {
|
|
237
|
+
WebhookIdentityType2["UNKNOWN"] = "UNKNOWN";
|
|
238
|
+
WebhookIdentityType2["ANONYMOUS_VISITOR"] = "ANONYMOUS_VISITOR";
|
|
239
|
+
WebhookIdentityType2["MEMBER"] = "MEMBER";
|
|
240
|
+
WebhookIdentityType2["WIX_USER"] = "WIX_USER";
|
|
241
|
+
WebhookIdentityType2["APP"] = "APP";
|
|
242
|
+
return WebhookIdentityType2;
|
|
243
|
+
})(WebhookIdentityType || {});
|
|
244
|
+
async function listBlogPostCandidates2(contentPlanFlowId, options) {
|
|
245
|
+
const { httpClient, sideEffects } = arguments[2];
|
|
246
|
+
const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
|
|
247
|
+
contentPlanFlowId,
|
|
248
|
+
includeOnlyUnmarked: options?.includeOnlyUnmarked,
|
|
249
|
+
paging: options?.paging
|
|
250
|
+
});
|
|
251
|
+
const reqOpts = listBlogPostCandidates(
|
|
252
|
+
payload
|
|
253
|
+
);
|
|
254
|
+
sideEffects?.onSiteCall?.();
|
|
255
|
+
try {
|
|
256
|
+
const result = await httpClient.request(reqOpts);
|
|
257
|
+
sideEffects?.onSuccess?.(result);
|
|
258
|
+
return (0, import_rename_all_nested_keys.renameKeysFromRESTResponseToSDKResponse)(result.data);
|
|
259
|
+
} catch (err) {
|
|
260
|
+
const transformedError = (0, import_transform_error.transformError)(
|
|
261
|
+
err,
|
|
262
|
+
{
|
|
263
|
+
spreadPathsToArguments: {},
|
|
264
|
+
explicitPathsToArguments: {
|
|
265
|
+
contentPlanFlowId: "$[0]",
|
|
266
|
+
includeOnlyUnmarked: "$[1].includeOnlyUnmarked",
|
|
267
|
+
paging: "$[1].paging"
|
|
268
|
+
},
|
|
269
|
+
singleArgumentUnchanged: false
|
|
270
|
+
},
|
|
271
|
+
["contentPlanFlowId", "options"]
|
|
272
|
+
);
|
|
273
|
+
sideEffects?.onError?.(err);
|
|
274
|
+
throw transformedError;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
async function createContentPlan2(options) {
|
|
278
|
+
const { httpClient, sideEffects } = arguments[1];
|
|
279
|
+
const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
|
|
280
|
+
contentPlanFlowId: options?.contentPlanFlowId
|
|
281
|
+
});
|
|
282
|
+
const reqOpts = createContentPlan(
|
|
283
|
+
payload
|
|
284
|
+
);
|
|
285
|
+
sideEffects?.onSiteCall?.();
|
|
286
|
+
try {
|
|
287
|
+
const result = await httpClient.request(reqOpts);
|
|
288
|
+
sideEffects?.onSuccess?.(result);
|
|
289
|
+
return (0, import_rename_all_nested_keys.renameKeysFromRESTResponseToSDKResponse)(result.data);
|
|
290
|
+
} catch (err) {
|
|
291
|
+
const transformedError = (0, import_transform_error.transformError)(
|
|
292
|
+
err,
|
|
293
|
+
{
|
|
294
|
+
spreadPathsToArguments: {},
|
|
295
|
+
explicitPathsToArguments: {
|
|
296
|
+
contentPlanFlowId: "$[0].contentPlanFlowId"
|
|
297
|
+
},
|
|
298
|
+
singleArgumentUnchanged: false
|
|
299
|
+
},
|
|
300
|
+
["options"]
|
|
301
|
+
);
|
|
302
|
+
sideEffects?.onError?.(err);
|
|
303
|
+
throw transformedError;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.public.ts
|
|
308
|
+
function listBlogPostCandidates3(httpClient) {
|
|
309
|
+
return (contentPlanFlowId, options) => listBlogPostCandidates2(
|
|
310
|
+
contentPlanFlowId,
|
|
311
|
+
options,
|
|
312
|
+
// @ts-ignore
|
|
313
|
+
{ httpClient }
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
function createContentPlan3(httpClient) {
|
|
317
|
+
return (options) => createContentPlan2(
|
|
318
|
+
options,
|
|
319
|
+
// @ts-ignore
|
|
320
|
+
{ httpClient }
|
|
321
|
+
);
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
// src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.context.ts
|
|
325
|
+
var import_rest_modules3 = require("@wix/sdk-runtime/rest-modules");
|
|
326
|
+
var listBlogPostCandidates4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(listBlogPostCandidates3);
|
|
327
|
+
var createContentPlan4 = /* @__PURE__ */ (0, import_rest_modules3.createRESTModule)(createContentPlan3);
|
|
328
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
329
|
+
0 && (module.exports = {
|
|
330
|
+
ColumnType,
|
|
331
|
+
RowStatus,
|
|
332
|
+
WebhookIdentityType,
|
|
333
|
+
createContentPlan,
|
|
334
|
+
listBlogPostCandidates
|
|
335
|
+
});
|
|
336
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.ts","../../src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.http.ts","../../src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.public.ts","../../src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.context.ts"],"sourcesContent":["export * from './src/promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPromoteSeoV1ContentPlanBlogPostCandidate from './promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.http.js';\n\n/**\n * A blog post candidate is a single blog post brief in a site's content plan.\n *\n * Each candidate pairs a target keyword with a suggested title, the search\n * data behind that keyword, and the site page the post should support. A site\n * owner uses a candidate as the starting point for writing a post.\n *\n * Candidates are generated by the content plan pipeline and are read-only.\n * Call Create Content Plan to generate them, and List Blog Post Candidates to\n * read them.\n */\nexport interface BlogPostCandidate {\n /**\n * Blog post candidate ID.\n *\n * Treat this value as opaque. Don't parse it or build it yourself, and\n * pass it back exactly as received. The individual IDs it's built from are\n * available on `candidateData`.\n * @maxLength 100\n * @readonly\n */\n _id?: string | null;\n /** IDs that identify the candidate and the flow that generated it. */\n candidateData?: CandidateData;\n /**\n * The blog post brief itself: the suggested title, the target keywords,\n * and the search data behind them.\n */\n briefData?: BriefData;\n /**\n * SEO tags suggested for the blog post, such as its title tag and meta\n * description.\n */\n seoData?: SeoSchema;\n}\n\nexport interface CandidateData {\n /**\n * ID of the blog post candidate within its content plan flow.\n * @format GUID\n * @readonly\n */\n blogPostCandidateId?: string | null;\n /**\n * ID of the content plan flow that generated this candidate.\n * @format GUID\n * @readonly\n */\n contentPlanFlowId?: string | null;\n}\n\nexport interface BriefData {\n /**\n * Suggested title for the blog post.\n * @maxLength 1000\n */\n h1Title?: string | null;\n /**\n * Keyword the blog post targets.\n * @maxLength 1000\n */\n keyword?: string | null;\n /**\n * Primary keyword for the page the blog post supports.\n *\n * A page has a single main keyword, and several blog posts can support the\n * same one.\n * @maxLength 1000\n */\n mainKeyword?: string | null;\n /**\n * Search engine results data for `mainKeyword`, such as its search volume\n * and how hard it is to rank for.\n *\n * List Blog Post Candidates doesn't currently return this field.\n */\n serpData?: SerpData;\n /**\n * URL of the site page the blog post is meant to support.\n * @maxLength 1000\n */\n pageUrl?: string | null;\n}\n\nexport interface SerpData {\n /**\n * SerpDataResult ID\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /**\n * list of people also ask questions\n * @maxSize 4\n */\n peopleAlsoAskSuggestions?: PeopleAlsoAskQuestion[];\n /**\n * list of related searches\n * @maxSize 10\n * @maxLength 10000\n */\n peopleAlsoSearchSuggestions?: string[] | null;\n /**\n * list of autocomplete suggestions\n * @maxSize 15\n * @maxLength 10000\n */\n autocompleteSuggestions?: string[] | null;\n}\n\nexport interface PeopleAlsoAskQuestion {\n /**\n * people also ask question title\n * @maxLength 10000\n */\n question?: string | null;\n /**\n * answers to the question\n * @maxSize 2\n */\n answers?: PeopleAlsoAskAnswer[];\n}\n\nexport interface PeopleAlsoAskAnswer {\n /**\n * people also ask answer title\n * @maxLength 10000\n */\n title?: string | null;\n /**\n * description of the answer\n * @maxLength 10000\n */\n description?: string | null;\n}\n\n/**\n * The SEO schema object contains data about different types of meta tags. It makes sure that the information about your page is presented properly to search engines.\n * The search engines use this information for ranking purposes, or to display snippets in the search results.\n * This data will override other sources of tags (for example patterns) and will be included in the <head> section of the HTML document, while not being displayed on the page itself.\n */\nexport interface SeoSchema {\n /** SEO tag information. */\n tags?: Tag[];\n /** SEO general settings. */\n settings?: Settings;\n}\n\nexport interface Keyword {\n /** Keyword value. */\n term?: string;\n /** Whether the keyword is the main focus keyword. */\n isMain?: boolean;\n /**\n * The source that added the keyword terms to the SEO settings.\n * @maxLength 1000\n */\n origin?: string | null;\n}\n\nexport interface Tag {\n /**\n * SEO tag type.\n *\n *\n * Supported values: `title`, `meta`, `script`, `link`.\n *\n * Which of these an API actually accepts depends on where the tag is being set: this\n * list is not a blanket guarantee across every API that reuses this message. Site SEO\n * Tags in particular accepts only `meta` (see `SiteSeoTags.tags`) and rejects\n * `title`/`script`/`link` with a validation error even though they appear here —\n * check the field description of the specific `tags`-typed field you're writing to\n * for the types it actually supports and the error it returns.\n *\n * Limitation: `title` and `script` (e.g. a `script` tag with `props.type`\n * `\"application/ld+json\"` carrying structured data) are supported only when\n * `custom` is unset or `false`. Setting `custom: true` on a `title` or `script`\n * tag is rejected with `TAG_TYPE_NOT_ALLOWED`, because `custom: true` routes the\n * write through the site's Advanced/Custom Tags list. To write structured data,\n * omit `custom` (or set it to `false`).\n */\n type?: string;\n /**\n * A `{\"key\": \"value\"}` pair object where each SEO tag property (`\"name\"`, `\"content\"`, `\"rel\"`, `\"href\"`) contains a value.\n * For example: `{\"name\": \"description\", \"content\": \"the description itself\"}`.\n */\n props?: Record<string, any> | null;\n /** SEO tag metadata. For example, `{\"height\": 300, \"width\": 240}`. */\n meta?: Record<string, any> | null;\n /** SEO tag inner content. For example, `<title> inner content </title>`. */\n children?: string;\n /**\n * Whether the tag is a [custom tag](https://support.wix.com/en/article/adding-additional-meta-tags-to-your-sites-pages) —\n * i.e. an entry from the site's Advanced/Custom Tags list.\n *\n * Setting this to `true` on a write restricts which `type` values are accepted\n * — the same restriction the Advanced/Custom Tags UI enforces. `title` and\n * `script` tags (including JSON-LD structured data) must be sent with `custom`\n * omitted or `false`; sending them with `custom: true` is rejected with\n * `TAG_TYPE_NOT_ALLOWED`.\n *\n * Note this is a separate restriction from Site SEO Tags' own type restriction on\n * `SiteSeoTags.tags`: even with `custom` unset, Site SEO Tags rejects `script` (e.g.\n * for site-wide structured data) unconditionally. There is currently no way to set\n * site-wide, every-page structured data through any of these APIs — write a per-page\n * `script` tag through the Item SEO Tags API instead.\n *\n * This flag is scoped to that feature only. It is NOT an indicator of whether a standard tag\n * (`title`, `description`, Open Graph, etc.) reflects a manually configured value versus a computed\n * default/pattern — standard tags always resolve with `custom: false`, even when their content comes\n * from a page's manually saved SEO title/description override. Don't use this field to verify whether\n * a live page reflects a manual per-page SEO edit.\n *\n * Limitation: when `ResolveStaticPageSeoTags` is called without `seoData`, the per-page SEO data is read\n * only from the Vibe/Wix-managed-headless override store. That store holds nothing for classic Wix Editor\n * or Wix Studio pages, so even genuine Advanced/Custom Tags saved on those pages are missing from the\n * response entirely — there, `false` means this API could not tell, not that no custom tag exists.\n * Pass `seoData` explicitly to resolve against a known set of tags.\n */\n custom?: boolean;\n /** Whether the tag is disabled. If the tag is disabled, people can't find your page when searching for this phrase in search engines. */\n disabled?: boolean;\n}\n\nexport interface Settings {\n /**\n * Whether the [automatical redirect visits](https://support.wix.com/en/article/customizing-your-pages-seo-settings-in-the-seo-panel) from the old URL to the new one is enabled.\n *\n *\n * Default: `false` (automatical redirect is enabled).\n */\n preventAutoRedirect?: boolean;\n /**\n * User-selected keyword terms for a specific page.\n * @maxSize 5\n */\n keywords?: Keyword[];\n}\n\nexport interface GetBlogPostCandidateRequest {\n /**\n * id of the content plan flow this blog post candidate belongs to\n * @format GUID\n */\n contentPlanFlowId?: string | null;\n}\n\nexport interface GetBlogPostCandidateResponse {\n /** blog post candidate */\n blogPostCandidate?: BlogPostCandidate;\n}\n\nexport interface GetBlogPostCandidateByIdRequest {\n /**\n * id of the blog post candidate\n * @minLength 1\n * @maxLength 100\n */\n blogPostCandidateId?: string | null;\n}\n\nexport interface GetBlogPostCandidateByIdResponse {\n /** blog post candidate */\n blogPostCandidate?: BlogPostCandidate;\n}\n\nexport interface MarkBlogPostCandidateRequest {\n /** ids of the blog post candidate */\n candidateData?: CandidateData;\n /**\n * ID of the blog post that was created from this candidate.\n * @format GUID\n */\n blogPostId?: string | null;\n}\n\nexport interface MarkBlogPostCandidateResponse {}\n\nexport interface BulkMarkBlogPostCandidatesRequest {\n /**\n * id of the content plan flow these blog post candidates belong to\n * @format GUID\n */\n contentPlanFlowId?: string | null;\n /**\n * List of blog post candidates to mark\n * @maxSize 1000\n */\n items?: BulkMarkBlogPostCandidateItem[];\n}\n\nexport interface BulkMarkBlogPostCandidateItem {\n /**\n * id of the blog post candidate\n * @format GUID\n */\n blogPostCandidateId?: string | null;\n /**\n * generated blog post id\n * @format GUID\n */\n blogPostId?: string | null;\n}\n\nexport interface BulkMarkBlogPostCandidatesResponse {\n /**\n * Per-entry results, correlated by `itemMetadata.originalIndex`.\n * @maxSize 1000\n */\n results?: BulkMarkBlogPostCandidateResult[];\n /** How many entries succeeded and how many failed. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n /**\n * Item ID. Should always be available, unless it's impossible (for example, when failing to create an item).\n * @maxLength 100\n */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\n/** Result of marking one blog post candidate in a bulk request. */\nexport interface BulkMarkBlogPostCandidateResult {\n /** Success/failure and error detail for this entry. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface ListBlogPostCandidatesRequest {\n /**\n * ID of the content plan flow to retrieve candidates for.\n *\n * Omit to read the site's most recent successful flow.\n * @format GUID\n */\n contentPlanFlowId: string | null;\n /**\n * Whether to return only candidates that haven't been used for a blog post\n * yet.\n *\n * A candidate is marked as used when a blog post is created from it in the\n * Wix Blog product. An app can read this flag but can't set it, so track\n * the posts you've written on your own side as well.\n *\n * Default: `false`, which returns every candidate.\n */\n includeOnlyUnmarked?: boolean | null;\n /**\n * Cursor paging. Omit for the first page.\n *\n * Omit this object entirely to return every candidate in a single response.\n */\n paging?: CursorPaging;\n}\n\nexport interface CursorPaging {\n /**\n * Max items per page. Default 50, max 100.\n * @max 100\n */\n limit?: number | null;\n /**\n * Cursor from a previous response. Omit for the first page.\n * @maxLength 16000\n */\n cursor?: string | null;\n}\n\nexport interface ListBlogPostCandidatesResponse {\n /**\n * Retrieved blog post candidates.\n * @maxSize 1000\n */\n blogPostCandidates?: BlogPostCandidate[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface CursorPagingMetadata {\n /** Items returned in this page. */\n count?: number | null;\n /** Cursors for next/previous page. */\n cursors?: Cursors;\n /** Whether there are more pages. */\n hasNext?: boolean | null;\n}\n\nexport interface Cursors {\n /**\n * Cursor for the next page.\n * @maxLength 16000\n */\n next?: string | null;\n /**\n * Cursor for the previous page.\n * @maxLength 16000\n */\n prev?: string | null;\n}\n\n/** Deprecated alias request. Same fields as ListBlogPostCandidatesRequest. */\nexport interface QueryBlogPostCandidatesRequest {\n /**\n * Content plan flow ID.\n * @format GUID\n */\n contentPlanFlowId?: string | null;\n /** Whether to return only unmarked candidates. */\n includeOnlyUnmarked?: boolean | null;\n /** Cursor paging. */\n paging?: CursorPaging;\n}\n\n/** Deprecated alias response. Same fields as ListBlogPostCandidatesResponse. */\nexport interface QueryBlogPostCandidatesResponse {\n /**\n * Blog post candidates.\n * @maxSize 1000\n */\n blogPostCandidates?: BlogPostCandidate[];\n /** Paging metadata. */\n pagingMetadata?: CursorPagingMetadata;\n}\n\nexport interface GetContentPlanRequest {\n /** requested start date */\n startDate?: Date | null;\n /** requested end date */\n endDate?: Date | null;\n}\n\nexport interface GetContentPlanResponse {\n /** content plan */\n contentPlan?: ContentPlan;\n}\n\nexport interface ContentPlan {\n /**\n * content plan columns\n * @maxSize 10\n */\n columns?: Column[];\n /**\n * content plan rows\n * @maxSize 1000\n */\n rows?: Row[];\n /**\n * description to show the user\n * @maxLength 1000\n */\n description?: string | null;\n}\n\nexport interface Column {\n /**\n * key is the column identifier (e.g. \"date\", \"post-h1\", \"tags\")\n * @maxLength 100\n */\n key?: string | null;\n /** type of the column */\n type?: ColumnTypeWithLiterals;\n /** editable flag */\n editable?: boolean;\n /** limit of characters for the column */\n limit?: number | null;\n /**\n * width of the column\n * @maxLength 100\n */\n width?: string | null;\n}\n\nexport enum ColumnType {\n TEXT = 'TEXT',\n DATE = 'DATE',\n TEXT_LONG = 'TEXT_LONG',\n}\n\n/** @enumType */\nexport type ColumnTypeWithLiterals = ColumnType | 'TEXT' | 'DATE' | 'TEXT_LONG';\n\nexport interface Row {\n /**\n * id of the row\n * @readonly\n * @format GUID\n */\n _id?: string | null;\n /** order of the row */\n order?: number | null;\n /** data of the row (key = column key, value = cell value) */\n data?: Record<string, any> | null;\n /** status */\n status?: RowStatusWithLiterals;\n}\n\nexport enum RowStatus {\n DRAFT = 'DRAFT',\n PUBLISHED = 'PUBLISHED',\n}\n\n/** @enumType */\nexport type RowStatusWithLiterals = RowStatus | 'DRAFT' | 'PUBLISHED';\n\nexport interface UpdateContentPlanRequest {\n /**\n * updated content plan rows\n * @maxSize 100\n */\n updatedRows?: Row[];\n /**\n * deleted content plan rows\n * @maxSize 1000\n * @maxLength 1000\n */\n deletedRows?: string[] | null;\n}\n\nexport interface UpdateContentPlanResponse {\n /** updated content plan */\n contentPlan?: ContentPlan;\n}\n\nexport interface CreateContentPlanRequest {\n /**\n * PMA execution ID. Internal only.\n * @internal\n * @format GUID\n */\n executionId?: string | null;\n /**\n * ID of the content plan flow to generate the blog post briefs for.\n *\n * Omit to use the site's most recent eligible flow.\n * Do not remove the fallback — existing callers depend on it.\n * @format GUID\n */\n contentPlanFlowId?: string | null;\n}\n\nexport interface CreateContentPlanResponse {\n /**\n * Whether the blog post briefs were generated.\n *\n * Check this field as well as the HTTP status. Some failures return `false`\n * here rather than an error.\n */\n success?: boolean | null;\n /**\n * Reason the generation failed.\n *\n * Returned only when `success` is `false`.\n * @maxLength 1000\n */\n message?: string | null;\n /**\n * ID of the content plan flow the briefs were generated under.\n *\n * When this method regenerates a plan for a flow that already succeeded,\n * this is a new ID. Poll this ID rather than the one you sent.\n * @format GUID\n */\n contentPlanFlowId?: string | null;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type CreateContentPlanApplicationErrors =\n | {\n code?: 'FLOW_NOT_READY_FOR_CONTENT_PLAN';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CONTENT_PLAN_FLOW_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'CONTENT_PLAN_FLOW_CANCELED';\n description?: string;\n data?: Record<string, any>;\n };\n\n/**\n * Retrieves a list of blog post candidates for a content plan flow.\n *\n * Omit `contentPlanFlowId` to read the site's most recent successful flow.\n * A site whose flows are all still running, failed, or canceled returns a\n * not found error.\n *\n * Omit `paging` to return every candidate in a single response. When\n * `paging` is present, `limit` accepts 1 to 100 and defaults to 50.\n *\n * Results are sorted by the order the content plan assigns them, then by\n * descending keyword score. The sort isn't configurable.\n * @param contentPlanFlowId - ID of the content plan flow to retrieve candidates for.\n *\n * Omit to read the site's most recent successful flow.\n * @public\n * @documentationMaturity preview\n * @requiredField contentPlanFlowId\n * @permissionId promote:seo:v1:content_plan_blog_post_candidate:list_blog_post_candidates\n * @applicableIdentity APP\n * @fqn wix.promote.seo.content.plan.v1.SeoBlogPostCandidateServiceV1.ListBlogPostCandidates\n */\nexport async function listBlogPostCandidates(\n contentPlanFlowId: string,\n options?: ListBlogPostCandidatesOptions\n): Promise<\n NonNullablePaths<\n ListBlogPostCandidatesResponse,\n | `blogPostCandidates`\n | `blogPostCandidates.${number}.seoData.settings.preventAutoRedirect`,\n 6\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n contentPlanFlowId: contentPlanFlowId,\n includeOnlyUnmarked: options?.includeOnlyUnmarked,\n paging: options?.paging,\n });\n\n const reqOpts =\n ambassadorWixPromoteSeoV1ContentPlanBlogPostCandidate.listBlogPostCandidates(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n contentPlanFlowId: '$[0]',\n includeOnlyUnmarked: '$[1].includeOnlyUnmarked',\n paging: '$[1].paging',\n },\n singleArgumentUnchanged: false,\n },\n ['contentPlanFlowId', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ListBlogPostCandidatesOptions {\n /**\n * Whether to return only candidates that haven't been used for a blog post\n * yet.\n *\n * A candidate is marked as used when a blog post is created from it in the\n * Wix Blog product. An app can read this flag but can't set it, so track\n * the posts you've written on your own side as well.\n *\n * Default: `false`, which returns every candidate.\n */\n includeOnlyUnmarked?: boolean | null;\n /**\n * Cursor paging. Omit for the first page.\n *\n * Omit this object entirely to return every candidate in a single response.\n */\n paging?: CursorPaging;\n}\n\n/**\n * Generates the blog post briefs for a content plan flow.\n *\n * A content plan flow stops at `KEYWORD_RESEARCH` and waits. Call this\n * method to generate the briefs and let the flow continue to `SUCCESS`,\n * then poll Get Content Plan Flow to follow it. A flow that's only polled\n * never completes.\n *\n * Called on a flow that already reached `SUCCESS`, this method regenerates\n * the plan under a separate content plan flow. The response carries the new\n * `contentPlanFlowId`, and you poll that ID rather than the original. The\n * original flow keeps its own candidates.\n *\n * Check `success` in the response as well as the HTTP status. A request\n * that omits `contentPlanFlowId` reports every failure that way, with\n * `success` set to `false` and the reason in `message` rather than an\n * error. A generation failure reports that way even when you do send the\n * ID.\n *\n * Call this method once for a flow and wait for it to return. Concurrent\n * calls for the same site can produce duplicate content plans.\n * @public\n * @documentationMaturity preview\n * @permissionId promote:seo:v1:content_plan_blog_post_candidate:create_content_plan\n * @applicableIdentity APP\n * @fqn wix.promote.seo.content.plan.v1.SeoBlogPostCandidateServiceV1.CreateContentPlan\n */\nexport async function createContentPlan(\n options?: CreateContentPlanOptions\n): Promise<\n CreateContentPlanResponse & {\n __applicationErrorsType?: CreateContentPlanApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n contentPlanFlowId: options?.contentPlanFlowId,\n });\n\n const reqOpts =\n ambassadorWixPromoteSeoV1ContentPlanBlogPostCandidate.createContentPlan(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n contentPlanFlowId: '$[0].contentPlanFlowId',\n },\n singleArgumentUnchanged: false,\n },\n ['options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface CreateContentPlanOptions {\n /**\n * ID of the content plan flow to generate the blog post briefs for.\n *\n * Omit to use the site's most recent eligible flow.\n * Do not remove the fallback — existing callers depend on it.\n * @format GUID\n */\n contentPlanFlowId?: string | null;\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'bo._base_domain_': [\n {\n srcPath: '/_serverless/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'wixbo.ai': [\n {\n srcPath: '/_serverless/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'wix-bo.com': [\n {\n srcPath: '/_serverless/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'api._api_base_domain_': [\n {\n srcPath: '/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'editor._base_domain_': [\n {\n srcPath: '/_api/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'blocks._base_domain_': [\n {\n srcPath: '/_api/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'create.editorx': [\n {\n srcPath: '/_api/seo-content-plan-service',\n destPath: '',\n },\n ],\n 'www.wixapis.com': [\n {\n srcPath: '/seo-content-plan-service',\n destPath: '',\n },\n {\n srcPath: '/promote/seo/v1/content-plan-flows',\n destPath: '/v1/content-plan-flows',\n },\n {\n srcPath: '/promote/seo/v1/content-plan-flow',\n destPath: '/v1/content-plan-flow',\n },\n {\n srcPath: '/promote/seo/v1/content-plan-keyword-research-items',\n destPath: '/v1/content-plan-keyword-research-items',\n },\n {\n srcPath: '/promote/seo/v1/keyword-research-items',\n destPath: '/v1/keyword-research-items',\n },\n {\n srcPath: '/promote/seo/v1/bulk/keyword-research-items',\n destPath: '/v1/bulk/keyword-research-items',\n },\n {\n srcPath: '/promote/seo/v1/create-content-plan',\n destPath: '/v1/create-content-plan',\n },\n {\n srcPath: '/promote/seo/v1/trigger-content-plan-generation-flow',\n destPath: '/v1/trigger-content-plan-generation-flow',\n },\n {\n srcPath: '/promote/seo/v1/cancel-content-plan-flow',\n destPath: '/v1/cancel-content-plan-flow',\n },\n ],\n _: [\n {\n srcPath: '/seo-content-plan-service',\n destPath: '',\n },\n {\n srcPath: '/promote/seo/v1/content-plan-flows',\n destPath: '/v1/content-plan-flows',\n },\n {\n srcPath: '/promote/seo/v1/content-plan-flow',\n destPath: '/v1/content-plan-flow',\n },\n {\n srcPath: '/promote/seo/v1/content-plan-keyword-research-items',\n destPath: '/v1/content-plan-keyword-research-items',\n },\n {\n srcPath: '/promote/seo/v1/keyword-research-items',\n destPath: '/v1/keyword-research-items',\n },\n {\n srcPath: '/promote/seo/v1/bulk/keyword-research-items',\n destPath: '/v1/bulk/keyword-research-items',\n },\n {\n srcPath: '/promote/seo/v1/create-content-plan',\n destPath: '/v1/create-content-plan',\n },\n {\n srcPath: '/promote/seo/v1/trigger-content-plan-generation-flow',\n destPath: '/v1/trigger-content-plan-generation-flow',\n },\n {\n srcPath: '/promote/seo/v1/cancel-content-plan-flow',\n destPath: '/v1/cancel-content-plan-flow',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_seo_blog-post-candidates';\n\n/**\n * Retrieves a list of blog post candidates for a content plan flow.\n *\n * Omit `contentPlanFlowId` to read the site's most recent successful flow.\n * A site whose flows are all still running, failed, or canceled returns a\n * not found error.\n *\n * Omit `paging` to return every candidate in a single response. When\n * `paging` is present, `limit` accepts 1 to 100 and defaults to 50.\n *\n * Results are sorted by the order the content plan assigns them, then by\n * descending keyword score. The sort isn't configurable.\n */\nexport function listBlogPostCandidates(\n payload: object\n): RequestOptionsFactory<any> {\n function __listBlogPostCandidates({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.seo.v1.content_plan_blog_post_candidate',\n method: 'GET' as any,\n methodFqn:\n 'wix.promote.seo.content.plan.v1.SeoBlogPostCandidateServiceV1.ListBlogPostCandidates',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url({\n protoPath:\n '/v1/content-plan-flows/{contentPlanFlowId}/blog-post-candidates',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n\n fallback: [\n {\n method: 'GET' as any,\n url: resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url(\n {\n protoPath:\n '/v1/content-plan-flows/{contentPlanFlowId}/blog-post-candidates',\n data: payload,\n host,\n }\n ),\n params: toURLSearchParams(payload),\n },\n ],\n };\n\n return metadata;\n }\n\n return __listBlogPostCandidates;\n}\n\n/**\n * Generates the blog post briefs for a content plan flow.\n *\n * A content plan flow stops at `KEYWORD_RESEARCH` and waits. Call this\n * method to generate the briefs and let the flow continue to `SUCCESS`,\n * then poll Get Content Plan Flow to follow it. A flow that's only polled\n * never completes.\n *\n * Called on a flow that already reached `SUCCESS`, this method regenerates\n * the plan under a separate content plan flow. The response carries the new\n * `contentPlanFlowId`, and you poll that ID rather than the original. The\n * original flow keeps its own candidates.\n *\n * Check `success` in the response as well as the HTTP status. A request\n * that omits `contentPlanFlowId` reports every failure that way, with\n * `success` set to `false` and the reason in `message` rather than an\n * error. A generation failure reports that way even when you do send the\n * ID.\n *\n * Call this method once for a flow and wait for it to return. Concurrent\n * calls for the same site can produce duplicate content plans.\n */\nexport function createContentPlan(payload: object): RequestOptionsFactory<any> {\n function __createContentPlan({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.promote.seo.v1.content_plan_blog_post_candidate',\n method: 'POST' as any,\n methodFqn:\n 'wix.promote.seo.content.plan.v1.SeoBlogPostCandidateServiceV1.CreateContentPlan',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixPromoteSeoContentPlanV1SeoBlogPostCandidateServiceV1Url({\n protoPath: '/v1/create-content-plan',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __createContentPlan;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n CreateContentPlanApplicationErrors,\n CreateContentPlanOptions,\n CreateContentPlanResponse,\n ListBlogPostCandidatesOptions,\n ListBlogPostCandidatesResponse,\n createContentPlan as universalCreateContentPlan,\n listBlogPostCandidates as universalListBlogPostCandidates,\n} from './promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/seo' };\n\nexport function listBlogPostCandidates(\n httpClient: HttpClient\n): ListBlogPostCandidatesSignature {\n return (contentPlanFlowId: string, options?: ListBlogPostCandidatesOptions) =>\n universalListBlogPostCandidates(\n contentPlanFlowId,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ListBlogPostCandidatesSignature {\n /**\n * Retrieves a list of blog post candidates for a content plan flow.\n *\n * Omit `contentPlanFlowId` to read the site's most recent successful flow.\n * A site whose flows are all still running, failed, or canceled returns a\n * not found error.\n *\n * Omit `paging` to return every candidate in a single response. When\n * `paging` is present, `limit` accepts 1 to 100 and defaults to 50.\n *\n * Results are sorted by the order the content plan assigns them, then by\n * descending keyword score. The sort isn't configurable.\n * @param - ID of the content plan flow to retrieve candidates for.\n *\n * Omit to read the site's most recent successful flow.\n */\n (contentPlanFlowId: string, options?: ListBlogPostCandidatesOptions): Promise<\n NonNullablePaths<\n ListBlogPostCandidatesResponse,\n | `blogPostCandidates`\n | `blogPostCandidates.${number}.seoData.settings.preventAutoRedirect`,\n 6\n >\n >;\n}\n\nexport function createContentPlan(\n httpClient: HttpClient\n): CreateContentPlanSignature {\n return (options?: CreateContentPlanOptions) =>\n universalCreateContentPlan(\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface CreateContentPlanSignature {\n /**\n * Generates the blog post briefs for a content plan flow.\n *\n * A content plan flow stops at `KEYWORD_RESEARCH` and waits. Call this\n * method to generate the briefs and let the flow continue to `SUCCESS`,\n * then poll Get Content Plan Flow to follow it. A flow that's only polled\n * never completes.\n *\n * Called on a flow that already reached `SUCCESS`, this method regenerates\n * the plan under a separate content plan flow. The response carries the new\n * `contentPlanFlowId`, and you poll that ID rather than the original. The\n * original flow keeps its own candidates.\n *\n * Check `success` in the response as well as the HTTP status. A request\n * that omits `contentPlanFlowId` reports every failure that way, with\n * `success` set to `false` and the reason in `message` rather than an\n * error. A generation failure reports that way even when you do send the\n * ID.\n *\n * Call this method once for a flow and wait for it to return. Concurrent\n * calls for the same site can produce duplicate content plans.\n */\n (options?: CreateContentPlanOptions): Promise<\n CreateContentPlanResponse & {\n __applicationErrorsType?: CreateContentPlanApplicationErrors;\n }\n >;\n}\n\nexport {\n AccountInfo,\n ActionEvent,\n ApplicationError,\n BlogPostCandidate,\n BriefData,\n BulkActionMetadata,\n BulkMarkBlogPostCandidateItem,\n BulkMarkBlogPostCandidateResult,\n BulkMarkBlogPostCandidatesRequest,\n BulkMarkBlogPostCandidatesResponse,\n CandidateData,\n Column,\n ColumnType,\n ContentPlan,\n CreateContentPlanOptions,\n CreateContentPlanRequest,\n CreateContentPlanResponse,\n CursorPaging,\n CursorPagingMetadata,\n Cursors,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n EntityDeletedEvent,\n EntityUpdatedEvent,\n GetBlogPostCandidateByIdRequest,\n GetBlogPostCandidateByIdResponse,\n GetBlogPostCandidateRequest,\n GetBlogPostCandidateResponse,\n GetContentPlanRequest,\n GetContentPlanResponse,\n IdentificationData,\n IdentificationDataIdOneOf,\n ItemMetadata,\n Keyword,\n ListBlogPostCandidatesOptions,\n ListBlogPostCandidatesRequest,\n ListBlogPostCandidatesResponse,\n MarkBlogPostCandidateRequest,\n MarkBlogPostCandidateResponse,\n MessageEnvelope,\n PeopleAlsoAskAnswer,\n PeopleAlsoAskQuestion,\n QueryBlogPostCandidatesRequest,\n QueryBlogPostCandidatesResponse,\n RestoreInfo,\n Row,\n RowStatus,\n SeoSchema,\n SerpData,\n Settings,\n Tag,\n UpdateContentPlanRequest,\n UpdateContentPlanResponse,\n WebhookIdentityType,\n} from './promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.js';\n","import {\n listBlogPostCandidates as publicListBlogPostCandidates,\n createContentPlan as publicCreateContentPlan,\n} from './promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const listBlogPostCandidates: MaybeContext<\n BuildRESTFunction<typeof publicListBlogPostCandidates> &\n typeof publicListBlogPostCandidates\n> = /*#__PURE__*/ createRESTModule(publicListBlogPostCandidates);\nexport const createContentPlan: MaybeContext<\n BuildRESTFunction<typeof publicCreateContentPlan> &\n typeof publicCreateContentPlan\n> = /*#__PURE__*/ createRESTModule(publicCreateContentPlan);\n\nexport {\n ColumnType,\n RowStatus,\n WebhookIdentityType,\n} from './promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.js';\nexport {\n BlogPostCandidate,\n CandidateData,\n BriefData,\n SerpData,\n PeopleAlsoAskQuestion,\n PeopleAlsoAskAnswer,\n SeoSchema,\n Keyword,\n Tag,\n Settings,\n GetBlogPostCandidateRequest,\n GetBlogPostCandidateResponse,\n GetBlogPostCandidateByIdRequest,\n GetBlogPostCandidateByIdResponse,\n MarkBlogPostCandidateRequest,\n MarkBlogPostCandidateResponse,\n BulkMarkBlogPostCandidatesRequest,\n BulkMarkBlogPostCandidateItem,\n BulkMarkBlogPostCandidatesResponse,\n ItemMetadata,\n ApplicationError,\n BulkMarkBlogPostCandidateResult,\n BulkActionMetadata,\n ListBlogPostCandidatesRequest,\n CursorPaging,\n ListBlogPostCandidatesResponse,\n CursorPagingMetadata,\n Cursors,\n QueryBlogPostCandidatesRequest,\n QueryBlogPostCandidatesResponse,\n GetContentPlanRequest,\n GetContentPlanResponse,\n ContentPlan,\n Column,\n Row,\n UpdateContentPlanRequest,\n UpdateContentPlanResponse,\n CreateContentPlanRequest,\n CreateContentPlanResponse,\n DomainEvent,\n DomainEventBodyOneOf,\n EntityCreatedEvent,\n RestoreInfo,\n EntityUpdatedEvent,\n EntityDeletedEvent,\n ActionEvent,\n MessageEnvelope,\n IdentificationData,\n IdentificationDataIdOneOf,\n AccountInfo,\n ListBlogPostCandidatesOptions,\n CreateContentPlanOptions,\n} from './promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.js';\nexport {\n ColumnTypeWithLiterals,\n RowStatusWithLiterals,\n WebhookIdentityTypeWithLiterals,\n CreateContentPlanApplicationErrors,\n} from './promote-seo-v1-content-plan-blog-post-candidate-blog-post-candidates.universal.js';\n"],"mappings":"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","names":["createContentPlan","listBlogPostCandidates","import_rest_modules","ColumnType","RowStatus","WebhookIdentityType","listBlogPostCandidates","sdkTransformError","createContentPlan","listBlogPostCandidates","createContentPlan","import_rest_modules","listBlogPostCandidates","createContentPlan"]}
|