@defoai/ads-client 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +2914 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2226 -0
- package/dist/index.d.ts +2061 -12
- package/dist/index.js +2892 -198
- package/dist/index.js.map +1 -0
- package/package.json +10 -7
- package/dist/generated/apis/AdAssetsApi.d.ts +0 -140
- package/dist/generated/apis/AdAssetsApi.js +0 -173
- package/dist/generated/apis/AdGroupsApi.d.ts +0 -165
- package/dist/generated/apis/AdGroupsApi.js +0 -205
- package/dist/generated/apis/AdsApi.d.ts +0 -160
- package/dist/generated/apis/AdsApi.js +0 -200
- package/dist/generated/apis/AssetsApi.d.ts +0 -162
- package/dist/generated/apis/AssetsApi.js +0 -203
- package/dist/generated/apis/CampaignAssetsApi.d.ts +0 -136
- package/dist/generated/apis/CampaignAssetsApi.js +0 -167
- package/dist/generated/apis/CampaignsApi.d.ts +0 -169
- package/dist/generated/apis/CampaignsApi.js +0 -206
- package/dist/generated/apis/KeywordsApi.d.ts +0 -160
- package/dist/generated/apis/KeywordsApi.js +0 -200
- package/dist/generated/apis/MediaApi.d.ts +0 -50
- package/dist/generated/apis/MediaApi.js +0 -51
- package/dist/generated/apis/MetaApi.d.ts +0 -86
- package/dist/generated/apis/MetaApi.js +0 -104
- package/dist/generated/apis/ReportsApi.d.ts +0 -50
- package/dist/generated/apis/ReportsApi.js +0 -51
- package/dist/generated/apis/SitesApi.d.ts +0 -163
- package/dist/generated/apis/SitesApi.js +0 -202
- package/dist/generated/apis/SyncApi.d.ts +0 -199
- package/dist/generated/apis/SyncApi.js +0 -241
- package/dist/generated/apis/index.d.ts +0 -12
- package/dist/generated/apis/index.js +0 -14
- package/dist/generated/index.d.ts +0 -3
- package/dist/generated/index.js +0 -5
- package/dist/generated/models/AdAssetCreate.d.ts +0 -83
- package/dist/generated/models/AdAssetCreate.js +0 -76
- package/dist/generated/models/AdCreate.d.ts +0 -147
- package/dist/generated/models/AdCreate.js +0 -97
- package/dist/generated/models/AdGroupAudience.d.ts +0 -44
- package/dist/generated/models/AdGroupAudience.js +0 -49
- package/dist/generated/models/AdGroupCreate.d.ts +0 -104
- package/dist/generated/models/AdGroupCreate.js +0 -74
- package/dist/generated/models/AdGroupUpdate.d.ts +0 -104
- package/dist/generated/models/AdGroupUpdate.js +0 -70
- package/dist/generated/models/AdUpdate.d.ts +0 -147
- package/dist/generated/models/AdUpdate.js +0 -85
- package/dist/generated/models/AssetCreate.d.ts +0 -117
- package/dist/generated/models/AssetCreate.js +0 -80
- package/dist/generated/models/AssetUpdate.d.ts +0 -79
- package/dist/generated/models/AssetUpdate.js +0 -61
- package/dist/generated/models/BiddingStrategy.d.ts +0 -70
- package/dist/generated/models/BiddingStrategy.js +0 -62
- package/dist/generated/models/CampaignAdScheduleField.d.ts +0 -12
- package/dist/generated/models/CampaignAdScheduleField.js +0 -4
- package/dist/generated/models/CampaignAssetCreate.d.ts +0 -57
- package/dist/generated/models/CampaignAssetCreate.js +0 -63
- package/dist/generated/models/CampaignCreate.d.ts +0 -161
- package/dist/generated/models/CampaignCreate.js +0 -102
- package/dist/generated/models/CampaignTargeting.d.ts +0 -50
- package/dist/generated/models/CampaignTargeting.js +0 -47
- package/dist/generated/models/CampaignUpdate.d.ts +0 -161
- package/dist/generated/models/CampaignUpdate.js +0 -98
- package/dist/generated/models/CampaignsListCursorParameter.d.ts +0 -26
- package/dist/generated/models/CampaignsListCursorParameter.js +0 -31
- package/dist/generated/models/ErrorEnvelope.d.ts +0 -33
- package/dist/generated/models/ErrorEnvelope.js +0 -44
- package/dist/generated/models/ErrorEnvelopeError.d.ts +0 -44
- package/dist/generated/models/ErrorEnvelopeError.js +0 -49
- package/dist/generated/models/KeywordCreate.d.ts +0 -86
- package/dist/generated/models/KeywordCreate.js +0 -73
- package/dist/generated/models/KeywordUpdate.d.ts +0 -86
- package/dist/generated/models/KeywordUpdate.js +0 -69
- package/dist/generated/models/Location.d.ts +0 -61
- package/dist/generated/models/Location.js +0 -61
- package/dist/generated/models/NegativeKeywordEntry.d.ts +0 -47
- package/dist/generated/models/NegativeKeywordEntry.js +0 -55
- package/dist/generated/models/ScheduleWindow.d.ts +0 -95
- package/dist/generated/models/ScheduleWindow.js +0 -87
- package/dist/generated/models/SiteCreate.d.ts +0 -99
- package/dist/generated/models/SiteCreate.js +0 -78
- package/dist/generated/models/SiteCreateSeoKeywords.d.ts +0 -11
- package/dist/generated/models/SiteCreateSeoKeywords.js +0 -12
- package/dist/generated/models/SiteCreateTargetGroups.d.ts +0 -11
- package/dist/generated/models/SiteCreateTargetGroups.js +0 -12
- package/dist/generated/models/SiteLinkEntry.d.ts +0 -50
- package/dist/generated/models/SiteLinkEntry.js +0 -47
- package/dist/generated/models/SiteUpdate.d.ts +0 -99
- package/dist/generated/models/SiteUpdate.js +0 -74
- package/dist/generated/models/Sitelink.d.ts +0 -64
- package/dist/generated/models/Sitelink.js +0 -51
- package/dist/generated/models/StructuredSchedule.d.ts +0 -39
- package/dist/generated/models/StructuredSchedule.js +0 -46
- package/dist/generated/models/StructuredSnippet.d.ts +0 -38
- package/dist/generated/models/StructuredSnippet.js +0 -47
- package/dist/generated/models/SuccessEnvelope.d.ts +0 -39
- package/dist/generated/models/SuccessEnvelope.js +0 -46
- package/dist/generated/models/SuccessEnvelopeMeta.d.ts +0 -39
- package/dist/generated/models/SuccessEnvelopeMeta.js +0 -44
- package/dist/generated/models/SuccessEnvelopeMetaNextCursor.d.ts +0 -26
- package/dist/generated/models/SuccessEnvelopeMetaNextCursor.js +0 -31
- package/dist/generated/models/SyncCampaignDetail.d.ts +0 -88
- package/dist/generated/models/SyncCampaignDetail.js +0 -71
- package/dist/generated/models/SyncPlan.d.ts +0 -35
- package/dist/generated/models/SyncPlan.js +0 -43
- package/dist/generated/models/SyncPlanPlatformsValue.d.ts +0 -33
- package/dist/generated/models/SyncPlanPlatformsValue.js +0 -42
- package/dist/generated/models/SyncPlanPlatformsValueTotals.d.ts +0 -44
- package/dist/generated/models/SyncPlanPlatformsValueTotals.js +0 -45
- package/dist/generated/models/SyncProgress.d.ts +0 -57
- package/dist/generated/models/SyncProgress.js +0 -50
- package/dist/generated/models/SyncRecord.d.ts +0 -103
- package/dist/generated/models/SyncRecord.js +0 -73
- package/dist/generated/models/SyncRecordErrorsInner.d.ts +0 -38
- package/dist/generated/models/SyncRecordErrorsInner.js +0 -43
- package/dist/generated/models/SyncTotals.d.ts +0 -68
- package/dist/generated/models/SyncTotals.js +0 -53
- package/dist/generated/models/SyncTriggerRequest.d.ts +0 -39
- package/dist/generated/models/SyncTriggerRequest.js +0 -44
- package/dist/generated/models/SyncTriggerRequestOptions.d.ts +0 -56
- package/dist/generated/models/SyncTriggerRequestOptions.js +0 -49
- package/dist/generated/models/SyncTriggerResponse.d.ts +0 -59
- package/dist/generated/models/SyncTriggerResponse.js +0 -55
- package/dist/generated/models/SyncUnlinkRequest.d.ts +0 -44
- package/dist/generated/models/SyncUnlinkRequest.js +0 -47
- package/dist/generated/models/index.d.ts +0 -45
- package/dist/generated/models/index.js +0 -47
- package/dist/generated/runtime.d.ts +0 -182
- package/dist/generated/runtime.js +0 -318
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,2914 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
// src/generated/runtime.ts
|
|
6
|
+
var BASE_PATH = "https://api.ads.defoai.com".replace(/\/+$/, "");
|
|
7
|
+
var Configuration = class {
|
|
8
|
+
constructor(configuration = {}) {
|
|
9
|
+
this.configuration = configuration;
|
|
10
|
+
}
|
|
11
|
+
set config(configuration) {
|
|
12
|
+
this.configuration = configuration;
|
|
13
|
+
}
|
|
14
|
+
get basePath() {
|
|
15
|
+
return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;
|
|
16
|
+
}
|
|
17
|
+
get fetchApi() {
|
|
18
|
+
return this.configuration.fetchApi;
|
|
19
|
+
}
|
|
20
|
+
get middleware() {
|
|
21
|
+
return this.configuration.middleware || [];
|
|
22
|
+
}
|
|
23
|
+
get queryParamsStringify() {
|
|
24
|
+
return this.configuration.queryParamsStringify || querystring;
|
|
25
|
+
}
|
|
26
|
+
get username() {
|
|
27
|
+
return this.configuration.username;
|
|
28
|
+
}
|
|
29
|
+
get password() {
|
|
30
|
+
return this.configuration.password;
|
|
31
|
+
}
|
|
32
|
+
get apiKey() {
|
|
33
|
+
const apiKey = this.configuration.apiKey;
|
|
34
|
+
if (apiKey) {
|
|
35
|
+
return typeof apiKey === "function" ? apiKey : () => apiKey;
|
|
36
|
+
}
|
|
37
|
+
return void 0;
|
|
38
|
+
}
|
|
39
|
+
get accessToken() {
|
|
40
|
+
const accessToken = this.configuration.accessToken;
|
|
41
|
+
if (accessToken) {
|
|
42
|
+
return typeof accessToken === "function" ? accessToken : async () => accessToken;
|
|
43
|
+
}
|
|
44
|
+
return void 0;
|
|
45
|
+
}
|
|
46
|
+
get headers() {
|
|
47
|
+
return this.configuration.headers;
|
|
48
|
+
}
|
|
49
|
+
get credentials() {
|
|
50
|
+
return this.configuration.credentials;
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
var DefaultConfig = new Configuration();
|
|
54
|
+
var _BaseAPI = class _BaseAPI {
|
|
55
|
+
constructor(configuration = DefaultConfig) {
|
|
56
|
+
this.configuration = configuration;
|
|
57
|
+
this.fetchApi = async (url, init) => {
|
|
58
|
+
let fetchParams = { url, init };
|
|
59
|
+
for (const middleware of this.middleware) {
|
|
60
|
+
if (middleware.pre) {
|
|
61
|
+
fetchParams = await middleware.pre({
|
|
62
|
+
fetch: this.fetchApi,
|
|
63
|
+
...fetchParams
|
|
64
|
+
}) || fetchParams;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
let response = void 0;
|
|
68
|
+
try {
|
|
69
|
+
response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
for (const middleware of this.middleware) {
|
|
72
|
+
if (middleware.onError) {
|
|
73
|
+
response = await middleware.onError({
|
|
74
|
+
fetch: this.fetchApi,
|
|
75
|
+
url: fetchParams.url,
|
|
76
|
+
init: fetchParams.init,
|
|
77
|
+
error: e,
|
|
78
|
+
response: response ? response.clone() : void 0
|
|
79
|
+
}) || response;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (response === void 0) {
|
|
83
|
+
if (e instanceof Error) {
|
|
84
|
+
throw new FetchError(e, "The request failed and the interceptors did not return an alternative response");
|
|
85
|
+
} else {
|
|
86
|
+
throw e;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
for (const middleware of this.middleware) {
|
|
91
|
+
if (middleware.post) {
|
|
92
|
+
response = await middleware.post({
|
|
93
|
+
fetch: this.fetchApi,
|
|
94
|
+
url: fetchParams.url,
|
|
95
|
+
init: fetchParams.init,
|
|
96
|
+
response: response.clone()
|
|
97
|
+
}) || response;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return response;
|
|
101
|
+
};
|
|
102
|
+
this.middleware = configuration.middleware;
|
|
103
|
+
}
|
|
104
|
+
withMiddleware(...middlewares) {
|
|
105
|
+
const next = this.clone();
|
|
106
|
+
next.middleware = next.middleware.concat(...middlewares);
|
|
107
|
+
return next;
|
|
108
|
+
}
|
|
109
|
+
withPreMiddleware(...preMiddlewares) {
|
|
110
|
+
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
|
111
|
+
return this.withMiddleware(...middlewares);
|
|
112
|
+
}
|
|
113
|
+
withPostMiddleware(...postMiddlewares) {
|
|
114
|
+
const middlewares = postMiddlewares.map((post) => ({ post }));
|
|
115
|
+
return this.withMiddleware(...middlewares);
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Check if the given MIME is a JSON MIME.
|
|
119
|
+
* JSON MIME examples:
|
|
120
|
+
* application/json
|
|
121
|
+
* application/json; charset=UTF8
|
|
122
|
+
* APPLICATION/JSON
|
|
123
|
+
* application/vnd.company+json
|
|
124
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
125
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
126
|
+
*/
|
|
127
|
+
isJsonMime(mime) {
|
|
128
|
+
if (!mime) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return _BaseAPI.jsonRegex.test(mime);
|
|
132
|
+
}
|
|
133
|
+
async request(context, initOverrides) {
|
|
134
|
+
const { url, init } = await this.createFetchParams(context, initOverrides);
|
|
135
|
+
const response = await this.fetchApi(url, init);
|
|
136
|
+
if (response && (response.status >= 200 && response.status < 300)) {
|
|
137
|
+
return response;
|
|
138
|
+
}
|
|
139
|
+
throw new ResponseError(response, "Response returned an error code");
|
|
140
|
+
}
|
|
141
|
+
async createFetchParams(context, initOverrides) {
|
|
142
|
+
let url = this.configuration.basePath + context.path;
|
|
143
|
+
if (context.query !== void 0 && Object.keys(context.query).length !== 0) {
|
|
144
|
+
url += "?" + this.configuration.queryParamsStringify(context.query);
|
|
145
|
+
}
|
|
146
|
+
const headers = Object.assign({}, this.configuration.headers, context.headers);
|
|
147
|
+
Object.keys(headers).forEach((key) => headers[key] === void 0 ? delete headers[key] : {});
|
|
148
|
+
const initOverrideFn = typeof initOverrides === "function" ? initOverrides : async () => initOverrides;
|
|
149
|
+
const initParams = {
|
|
150
|
+
method: context.method,
|
|
151
|
+
headers,
|
|
152
|
+
body: context.body,
|
|
153
|
+
credentials: this.configuration.credentials
|
|
154
|
+
};
|
|
155
|
+
const overriddenInit = {
|
|
156
|
+
...initParams,
|
|
157
|
+
...await initOverrideFn({
|
|
158
|
+
init: initParams,
|
|
159
|
+
context
|
|
160
|
+
})
|
|
161
|
+
};
|
|
162
|
+
let body;
|
|
163
|
+
if (isFormData(overriddenInit.body) || overriddenInit.body instanceof URLSearchParams || isBlob(overriddenInit.body)) {
|
|
164
|
+
body = overriddenInit.body;
|
|
165
|
+
} else if (this.isJsonMime(headers["Content-Type"])) {
|
|
166
|
+
body = JSON.stringify(overriddenInit.body);
|
|
167
|
+
} else {
|
|
168
|
+
body = overriddenInit.body;
|
|
169
|
+
}
|
|
170
|
+
const init = {
|
|
171
|
+
...overriddenInit,
|
|
172
|
+
body
|
|
173
|
+
};
|
|
174
|
+
return { url, init };
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Create a shallow clone of `this` by constructing a new instance
|
|
178
|
+
* and then shallow cloning data members.
|
|
179
|
+
*/
|
|
180
|
+
clone() {
|
|
181
|
+
const constructor = this.constructor;
|
|
182
|
+
const next = new constructor(this.configuration);
|
|
183
|
+
next.middleware = this.middleware.slice();
|
|
184
|
+
return next;
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
_BaseAPI.jsonRegex = new RegExp("^(:?application/json|[^;/ ]+/[^;/ ]+[+]json)[ ]*(:?;.*)?$", "i");
|
|
188
|
+
var BaseAPI = _BaseAPI;
|
|
189
|
+
function isBlob(value) {
|
|
190
|
+
return typeof Blob !== "undefined" && value instanceof Blob;
|
|
191
|
+
}
|
|
192
|
+
function isFormData(value) {
|
|
193
|
+
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
194
|
+
}
|
|
195
|
+
var ResponseError = class extends Error {
|
|
196
|
+
constructor(response, msg) {
|
|
197
|
+
super(msg);
|
|
198
|
+
this.response = response;
|
|
199
|
+
this.name = "ResponseError";
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
var FetchError = class extends Error {
|
|
203
|
+
constructor(cause, msg) {
|
|
204
|
+
super(msg);
|
|
205
|
+
this.cause = cause;
|
|
206
|
+
this.name = "FetchError";
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
var RequiredError = class extends Error {
|
|
210
|
+
constructor(field, msg) {
|
|
211
|
+
super(msg);
|
|
212
|
+
this.field = field;
|
|
213
|
+
this.name = "RequiredError";
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
function querystring(params, prefix = "") {
|
|
217
|
+
return Object.keys(params).map((key) => querystringSingleKey(key, params[key], prefix)).filter((part) => part.length > 0).join("&");
|
|
218
|
+
}
|
|
219
|
+
function querystringSingleKey(key, value, keyPrefix = "") {
|
|
220
|
+
const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);
|
|
221
|
+
if (value instanceof Array) {
|
|
222
|
+
const multiValue = value.map((singleValue) => encodeURIComponent(String(singleValue))).join(`&${encodeURIComponent(fullKey)}=`);
|
|
223
|
+
return `${encodeURIComponent(fullKey)}=${multiValue}`;
|
|
224
|
+
}
|
|
225
|
+
if (value instanceof Set) {
|
|
226
|
+
const valueAsArray = Array.from(value);
|
|
227
|
+
return querystringSingleKey(key, valueAsArray, keyPrefix);
|
|
228
|
+
}
|
|
229
|
+
if (value instanceof Date) {
|
|
230
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;
|
|
231
|
+
}
|
|
232
|
+
if (value instanceof Object) {
|
|
233
|
+
return querystring(value, fullKey);
|
|
234
|
+
}
|
|
235
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;
|
|
236
|
+
}
|
|
237
|
+
var JSONApiResponse = class {
|
|
238
|
+
constructor(raw, transformer = (jsonValue) => jsonValue) {
|
|
239
|
+
this.raw = raw;
|
|
240
|
+
this.transformer = transformer;
|
|
241
|
+
}
|
|
242
|
+
async value() {
|
|
243
|
+
return this.transformer(await this.raw.json());
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
// src/generated/models/AdAssetCreate.ts
|
|
248
|
+
function AdAssetCreateToJSON(json) {
|
|
249
|
+
return AdAssetCreateToJSONTyped(json, false);
|
|
250
|
+
}
|
|
251
|
+
function AdAssetCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
252
|
+
if (value == null) {
|
|
253
|
+
return value;
|
|
254
|
+
}
|
|
255
|
+
return {
|
|
256
|
+
"scope": value["scope"],
|
|
257
|
+
"adId": value["adId"],
|
|
258
|
+
"adGroupId": value["adGroupId"],
|
|
259
|
+
"campaignId": value["campaignId"],
|
|
260
|
+
"assetId": value["assetId"],
|
|
261
|
+
"role": value["role"]
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// src/generated/models/Sitelink.ts
|
|
266
|
+
function SitelinkToJSON(json) {
|
|
267
|
+
return SitelinkToJSONTyped(json, false);
|
|
268
|
+
}
|
|
269
|
+
function SitelinkToJSONTyped(value, ignoreDiscriminator = false) {
|
|
270
|
+
if (value == null) {
|
|
271
|
+
return value;
|
|
272
|
+
}
|
|
273
|
+
return {
|
|
274
|
+
"text": value["text"],
|
|
275
|
+
"url": value["url"],
|
|
276
|
+
"description1": value["description1"],
|
|
277
|
+
"description2": value["description2"],
|
|
278
|
+
"trackingUrlTemplate": value["trackingUrlTemplate"],
|
|
279
|
+
"urlCustomParameters": value["urlCustomParameters"]
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// src/generated/models/StructuredSnippet.ts
|
|
284
|
+
function StructuredSnippetToJSON(json) {
|
|
285
|
+
return StructuredSnippetToJSONTyped(json, false);
|
|
286
|
+
}
|
|
287
|
+
function StructuredSnippetToJSONTyped(value, ignoreDiscriminator = false) {
|
|
288
|
+
if (value == null) {
|
|
289
|
+
return value;
|
|
290
|
+
}
|
|
291
|
+
return {
|
|
292
|
+
"header": value["header"],
|
|
293
|
+
"values": value["values"]
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
// src/generated/models/AdCreate.ts
|
|
298
|
+
function AdCreateToJSON(json) {
|
|
299
|
+
return AdCreateToJSONTyped(json, false);
|
|
300
|
+
}
|
|
301
|
+
function AdCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
302
|
+
if (value == null) {
|
|
303
|
+
return value;
|
|
304
|
+
}
|
|
305
|
+
return {
|
|
306
|
+
"adGroupId": value["adGroupId"],
|
|
307
|
+
"campaignId": value["campaignId"],
|
|
308
|
+
"headlinePart1": value["headlinePart1"],
|
|
309
|
+
"headlinePart2": value["headlinePart2"],
|
|
310
|
+
"headlinePart3": value["headlinePart3"],
|
|
311
|
+
"description": value["description"],
|
|
312
|
+
"description2": value["description2"],
|
|
313
|
+
"finalUrl": value["finalUrl"],
|
|
314
|
+
"path1": value["path1"],
|
|
315
|
+
"path2": value["path2"],
|
|
316
|
+
"status": value["status"],
|
|
317
|
+
"sitelinks": value["sitelinks"] == null ? void 0 : value["sitelinks"].map(SitelinkToJSON),
|
|
318
|
+
"callouts": value["callouts"],
|
|
319
|
+
"structuredSnippets": value["structuredSnippets"] == null ? void 0 : value["structuredSnippets"].map(StructuredSnippetToJSON),
|
|
320
|
+
"customLabels": value["customLabels"],
|
|
321
|
+
"trackingUrlTemplate": value["trackingUrlTemplate"],
|
|
322
|
+
"finalUrlSuffix": value["finalUrlSuffix"],
|
|
323
|
+
"urlCustomParameters": value["urlCustomParameters"]
|
|
324
|
+
};
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
// src/generated/models/AdGroupAudience.ts
|
|
328
|
+
function AdGroupAudienceToJSON(json) {
|
|
329
|
+
return AdGroupAudienceToJSONTyped(json, false);
|
|
330
|
+
}
|
|
331
|
+
function AdGroupAudienceToJSONTyped(value, ignoreDiscriminator = false) {
|
|
332
|
+
if (value == null) {
|
|
333
|
+
return value;
|
|
334
|
+
}
|
|
335
|
+
return {
|
|
336
|
+
"type": value["type"],
|
|
337
|
+
"id": value["id"],
|
|
338
|
+
"bidAdjustment": value["bidAdjustment"]
|
|
339
|
+
};
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// src/generated/models/AdGroupCreate.ts
|
|
343
|
+
function AdGroupCreateToJSON(json) {
|
|
344
|
+
return AdGroupCreateToJSONTyped(json, false);
|
|
345
|
+
}
|
|
346
|
+
function AdGroupCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
347
|
+
if (value == null) {
|
|
348
|
+
return value;
|
|
349
|
+
}
|
|
350
|
+
return {
|
|
351
|
+
"campaignId": value["campaignId"],
|
|
352
|
+
"name": value["name"],
|
|
353
|
+
"status": value["status"],
|
|
354
|
+
"type": value["type"],
|
|
355
|
+
"cpc": value["cpc"],
|
|
356
|
+
"cpcBid": value["cpcBid"],
|
|
357
|
+
"audiences": value["audiences"] == null ? void 0 : value["audiences"].map(AdGroupAudienceToJSON),
|
|
358
|
+
"customLabels": value["customLabels"],
|
|
359
|
+
"trackingUrlTemplate": value["trackingUrlTemplate"],
|
|
360
|
+
"finalUrlSuffix": value["finalUrlSuffix"],
|
|
361
|
+
"urlCustomParameters": value["urlCustomParameters"]
|
|
362
|
+
};
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// src/generated/models/AdGroupUpdate.ts
|
|
366
|
+
function AdGroupUpdateToJSON(json) {
|
|
367
|
+
return AdGroupUpdateToJSONTyped(json, false);
|
|
368
|
+
}
|
|
369
|
+
function AdGroupUpdateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
370
|
+
if (value == null) {
|
|
371
|
+
return value;
|
|
372
|
+
}
|
|
373
|
+
return {
|
|
374
|
+
"campaignId": value["campaignId"],
|
|
375
|
+
"name": value["name"],
|
|
376
|
+
"status": value["status"],
|
|
377
|
+
"type": value["type"],
|
|
378
|
+
"cpc": value["cpc"],
|
|
379
|
+
"cpcBid": value["cpcBid"],
|
|
380
|
+
"audiences": value["audiences"] == null ? void 0 : value["audiences"].map(AdGroupAudienceToJSON),
|
|
381
|
+
"customLabels": value["customLabels"],
|
|
382
|
+
"trackingUrlTemplate": value["trackingUrlTemplate"],
|
|
383
|
+
"finalUrlSuffix": value["finalUrlSuffix"],
|
|
384
|
+
"urlCustomParameters": value["urlCustomParameters"]
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
// src/generated/models/AdUpdate.ts
|
|
389
|
+
function AdUpdateToJSON(json) {
|
|
390
|
+
return AdUpdateToJSONTyped(json, false);
|
|
391
|
+
}
|
|
392
|
+
function AdUpdateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
393
|
+
if (value == null) {
|
|
394
|
+
return value;
|
|
395
|
+
}
|
|
396
|
+
return {
|
|
397
|
+
"adGroupId": value["adGroupId"],
|
|
398
|
+
"campaignId": value["campaignId"],
|
|
399
|
+
"headlinePart1": value["headlinePart1"],
|
|
400
|
+
"headlinePart2": value["headlinePart2"],
|
|
401
|
+
"headlinePart3": value["headlinePart3"],
|
|
402
|
+
"description": value["description"],
|
|
403
|
+
"description2": value["description2"],
|
|
404
|
+
"finalUrl": value["finalUrl"],
|
|
405
|
+
"path1": value["path1"],
|
|
406
|
+
"path2": value["path2"],
|
|
407
|
+
"status": value["status"],
|
|
408
|
+
"sitelinks": value["sitelinks"] == null ? void 0 : value["sitelinks"].map(SitelinkToJSON),
|
|
409
|
+
"callouts": value["callouts"],
|
|
410
|
+
"structuredSnippets": value["structuredSnippets"] == null ? void 0 : value["structuredSnippets"].map(StructuredSnippetToJSON),
|
|
411
|
+
"customLabels": value["customLabels"],
|
|
412
|
+
"trackingUrlTemplate": value["trackingUrlTemplate"],
|
|
413
|
+
"finalUrlSuffix": value["finalUrlSuffix"],
|
|
414
|
+
"urlCustomParameters": value["urlCustomParameters"]
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// src/generated/models/AssetCreate.ts
|
|
419
|
+
function AssetCreateToJSON(json) {
|
|
420
|
+
return AssetCreateToJSONTyped(json, false);
|
|
421
|
+
}
|
|
422
|
+
function AssetCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
423
|
+
if (value == null) {
|
|
424
|
+
return value;
|
|
425
|
+
}
|
|
426
|
+
return {
|
|
427
|
+
"url": value["url"],
|
|
428
|
+
"name": value["name"],
|
|
429
|
+
"type": value["type"],
|
|
430
|
+
"mediaType": value["mediaType"],
|
|
431
|
+
"youtubeVideoId": value["youtubeVideoId"],
|
|
432
|
+
"contentType": value["contentType"],
|
|
433
|
+
"sizeBytes": value["sizeBytes"],
|
|
434
|
+
"width": value["width"],
|
|
435
|
+
"height": value["height"],
|
|
436
|
+
"tags": value["tags"],
|
|
437
|
+
"altText": value["altText"],
|
|
438
|
+
"metadata": value["metadata"]
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
// src/generated/models/AssetUpdate.ts
|
|
443
|
+
function AssetUpdateToJSON(json) {
|
|
444
|
+
return AssetUpdateToJSONTyped(json, false);
|
|
445
|
+
}
|
|
446
|
+
function AssetUpdateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
447
|
+
if (value == null) {
|
|
448
|
+
return value;
|
|
449
|
+
}
|
|
450
|
+
return {
|
|
451
|
+
"name": value["name"],
|
|
452
|
+
"altText": value["altText"],
|
|
453
|
+
"tags": value["tags"],
|
|
454
|
+
"metadata": value["metadata"],
|
|
455
|
+
"status": value["status"],
|
|
456
|
+
"width": value["width"],
|
|
457
|
+
"height": value["height"]
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// src/generated/models/BiddingStrategy.ts
|
|
462
|
+
function BiddingStrategyToJSON(json) {
|
|
463
|
+
return BiddingStrategyToJSONTyped(json, false);
|
|
464
|
+
}
|
|
465
|
+
function BiddingStrategyToJSONTyped(value, ignoreDiscriminator = false) {
|
|
466
|
+
if (value == null) {
|
|
467
|
+
return value;
|
|
468
|
+
}
|
|
469
|
+
return {
|
|
470
|
+
"type": value["type"],
|
|
471
|
+
"targetCpa": value["targetCpa"],
|
|
472
|
+
"targetRoas": value["targetRoas"],
|
|
473
|
+
"targetImpressionShare": value["targetImpressionShare"],
|
|
474
|
+
"maxCpcBidCeiling": value["maxCpcBidCeiling"]
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// src/generated/models/CampaignAdScheduleField.ts
|
|
479
|
+
function CampaignAdScheduleFieldToJSON(value) {
|
|
480
|
+
return value;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// src/generated/models/CampaignAssetCreate.ts
|
|
484
|
+
function CampaignAssetCreateToJSON(json) {
|
|
485
|
+
return CampaignAssetCreateToJSONTyped(json, false);
|
|
486
|
+
}
|
|
487
|
+
function CampaignAssetCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
488
|
+
if (value == null) {
|
|
489
|
+
return value;
|
|
490
|
+
}
|
|
491
|
+
return {
|
|
492
|
+
"campaignId": value["campaignId"],
|
|
493
|
+
"assetId": value["assetId"],
|
|
494
|
+
"role": value["role"]
|
|
495
|
+
};
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
// src/generated/models/CampaignTargeting.ts
|
|
499
|
+
function CampaignTargetingToJSON(json) {
|
|
500
|
+
return CampaignTargetingToJSONTyped(json, false);
|
|
501
|
+
}
|
|
502
|
+
function CampaignTargetingToJSONTyped(value, ignoreDiscriminator = false) {
|
|
503
|
+
if (value == null) {
|
|
504
|
+
return value;
|
|
505
|
+
}
|
|
506
|
+
return {
|
|
507
|
+
"schedule": value["schedule"],
|
|
508
|
+
"devices": value["devices"],
|
|
509
|
+
"radius": value["radius"],
|
|
510
|
+
"linkedin": value["linkedin"]
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
// src/generated/models/NegativeKeywordEntry.ts
|
|
515
|
+
function NegativeKeywordEntryToJSON(json) {
|
|
516
|
+
return NegativeKeywordEntryToJSONTyped(json, false);
|
|
517
|
+
}
|
|
518
|
+
function NegativeKeywordEntryToJSONTyped(value, ignoreDiscriminator = false) {
|
|
519
|
+
if (value == null) {
|
|
520
|
+
return value;
|
|
521
|
+
}
|
|
522
|
+
return {
|
|
523
|
+
"text": value["text"],
|
|
524
|
+
"matchType": value["matchType"]
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
// src/generated/models/Location.ts
|
|
529
|
+
function LocationToJSON(json) {
|
|
530
|
+
return LocationToJSONTyped(json, false);
|
|
531
|
+
}
|
|
532
|
+
function LocationToJSONTyped(value, ignoreDiscriminator = false) {
|
|
533
|
+
if (value == null) {
|
|
534
|
+
return value;
|
|
535
|
+
}
|
|
536
|
+
return {
|
|
537
|
+
"criterionId": value["criterionId"],
|
|
538
|
+
"name": value["name"],
|
|
539
|
+
"type": value["type"],
|
|
540
|
+
"countryCode": value["countryCode"]
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
|
|
544
|
+
// src/generated/models/CampaignCreate.ts
|
|
545
|
+
function CampaignCreateToJSON(json) {
|
|
546
|
+
return CampaignCreateToJSONTyped(json, false);
|
|
547
|
+
}
|
|
548
|
+
function CampaignCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
549
|
+
if (value == null) {
|
|
550
|
+
return value;
|
|
551
|
+
}
|
|
552
|
+
return {
|
|
553
|
+
"name": value["name"],
|
|
554
|
+
"budget": value["budget"],
|
|
555
|
+
"currency": value["currency"],
|
|
556
|
+
"status": value["status"],
|
|
557
|
+
"type": value["type"],
|
|
558
|
+
"networks": value["networks"],
|
|
559
|
+
"languages": value["languages"],
|
|
560
|
+
"siteId": value["siteId"],
|
|
561
|
+
"goal": value["goal"],
|
|
562
|
+
"targetLocations": value["targetLocations"] == null ? void 0 : value["targetLocations"].map(LocationToJSON),
|
|
563
|
+
"customLabels": value["customLabels"],
|
|
564
|
+
"adSchedule": CampaignAdScheduleFieldToJSON(value["adSchedule"]),
|
|
565
|
+
"biddingStrategy": BiddingStrategyToJSON(value["biddingStrategy"]),
|
|
566
|
+
"targeting": CampaignTargetingToJSON(value["targeting"]),
|
|
567
|
+
"trackingUrlTemplate": value["trackingUrlTemplate"],
|
|
568
|
+
"finalUrlSuffix": value["finalUrlSuffix"],
|
|
569
|
+
"urlCustomParameters": value["urlCustomParameters"],
|
|
570
|
+
"negativeKeywords": value["negativeKeywords"] == null ? void 0 : value["negativeKeywords"].map(NegativeKeywordEntryToJSON)
|
|
571
|
+
};
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
// src/generated/models/CampaignUpdate.ts
|
|
575
|
+
function CampaignUpdateToJSON(json) {
|
|
576
|
+
return CampaignUpdateToJSONTyped(json, false);
|
|
577
|
+
}
|
|
578
|
+
function CampaignUpdateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
579
|
+
if (value == null) {
|
|
580
|
+
return value;
|
|
581
|
+
}
|
|
582
|
+
return {
|
|
583
|
+
"name": value["name"],
|
|
584
|
+
"budget": value["budget"],
|
|
585
|
+
"currency": value["currency"],
|
|
586
|
+
"status": value["status"],
|
|
587
|
+
"type": value["type"],
|
|
588
|
+
"networks": value["networks"],
|
|
589
|
+
"languages": value["languages"],
|
|
590
|
+
"siteId": value["siteId"],
|
|
591
|
+
"goal": value["goal"],
|
|
592
|
+
"targetLocations": value["targetLocations"] == null ? void 0 : value["targetLocations"].map(LocationToJSON),
|
|
593
|
+
"customLabels": value["customLabels"],
|
|
594
|
+
"adSchedule": CampaignAdScheduleFieldToJSON(value["adSchedule"]),
|
|
595
|
+
"biddingStrategy": BiddingStrategyToJSON(value["biddingStrategy"]),
|
|
596
|
+
"targeting": CampaignTargetingToJSON(value["targeting"]),
|
|
597
|
+
"trackingUrlTemplate": value["trackingUrlTemplate"],
|
|
598
|
+
"finalUrlSuffix": value["finalUrlSuffix"],
|
|
599
|
+
"urlCustomParameters": value["urlCustomParameters"],
|
|
600
|
+
"negativeKeywords": value["negativeKeywords"] == null ? void 0 : value["negativeKeywords"].map(NegativeKeywordEntryToJSON)
|
|
601
|
+
};
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
// src/generated/models/KeywordCreate.ts
|
|
605
|
+
function KeywordCreateToJSON(json) {
|
|
606
|
+
return KeywordCreateToJSONTyped(json, false);
|
|
607
|
+
}
|
|
608
|
+
function KeywordCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
609
|
+
if (value == null) {
|
|
610
|
+
return value;
|
|
611
|
+
}
|
|
612
|
+
return {
|
|
613
|
+
"adGroupId": value["adGroupId"],
|
|
614
|
+
"campaignId": value["campaignId"],
|
|
615
|
+
"text": value["text"],
|
|
616
|
+
"matchType": value["matchType"],
|
|
617
|
+
"status": value["status"],
|
|
618
|
+
"isNegative": value["isNegative"],
|
|
619
|
+
"cpcBid": value["cpcBid"]
|
|
620
|
+
};
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
// src/generated/models/KeywordUpdate.ts
|
|
624
|
+
function KeywordUpdateToJSON(json) {
|
|
625
|
+
return KeywordUpdateToJSONTyped(json, false);
|
|
626
|
+
}
|
|
627
|
+
function KeywordUpdateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
628
|
+
if (value == null) {
|
|
629
|
+
return value;
|
|
630
|
+
}
|
|
631
|
+
return {
|
|
632
|
+
"adGroupId": value["adGroupId"],
|
|
633
|
+
"campaignId": value["campaignId"],
|
|
634
|
+
"text": value["text"],
|
|
635
|
+
"matchType": value["matchType"],
|
|
636
|
+
"status": value["status"],
|
|
637
|
+
"isNegative": value["isNegative"],
|
|
638
|
+
"cpcBid": value["cpcBid"]
|
|
639
|
+
};
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
// src/generated/models/SiteLinkEntry.ts
|
|
643
|
+
function SiteLinkEntryToJSON(json) {
|
|
644
|
+
return SiteLinkEntryToJSONTyped(json, false);
|
|
645
|
+
}
|
|
646
|
+
function SiteLinkEntryToJSONTyped(value, ignoreDiscriminator = false) {
|
|
647
|
+
if (value == null) {
|
|
648
|
+
return value;
|
|
649
|
+
}
|
|
650
|
+
return {
|
|
651
|
+
"text": value["text"],
|
|
652
|
+
"url": value["url"],
|
|
653
|
+
"description1": value["description1"],
|
|
654
|
+
"description2": value["description2"]
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
// src/generated/models/SiteCreateSeoKeywords.ts
|
|
659
|
+
function SiteCreateSeoKeywordsToJSON(value) {
|
|
660
|
+
return value;
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
// src/generated/models/SiteCreateTargetGroups.ts
|
|
664
|
+
function SiteCreateTargetGroupsToJSON(value) {
|
|
665
|
+
return value;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
// src/generated/models/SiteCreate.ts
|
|
669
|
+
function SiteCreateToJSON(json) {
|
|
670
|
+
return SiteCreateToJSONTyped(json, false);
|
|
671
|
+
}
|
|
672
|
+
function SiteCreateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
673
|
+
if (value == null) {
|
|
674
|
+
return value;
|
|
675
|
+
}
|
|
676
|
+
return {
|
|
677
|
+
"name": value["name"],
|
|
678
|
+
"url": value["url"],
|
|
679
|
+
"description": value["description"],
|
|
680
|
+
"seoKeywords": SiteCreateSeoKeywordsToJSON(value["seoKeywords"]),
|
|
681
|
+
"targetGroups": SiteCreateTargetGroupsToJSON(value["targetGroups"]),
|
|
682
|
+
"status": value["status"],
|
|
683
|
+
"logoUrl": value["logoUrl"],
|
|
684
|
+
"logoSource": value["logoSource"],
|
|
685
|
+
"siteLinks": value["siteLinks"] == null ? void 0 : value["siteLinks"].map(SiteLinkEntryToJSON)
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
// src/generated/models/SiteUpdate.ts
|
|
690
|
+
function SiteUpdateToJSON(json) {
|
|
691
|
+
return SiteUpdateToJSONTyped(json, false);
|
|
692
|
+
}
|
|
693
|
+
function SiteUpdateToJSONTyped(value, ignoreDiscriminator = false) {
|
|
694
|
+
if (value == null) {
|
|
695
|
+
return value;
|
|
696
|
+
}
|
|
697
|
+
return {
|
|
698
|
+
"name": value["name"],
|
|
699
|
+
"url": value["url"],
|
|
700
|
+
"description": value["description"],
|
|
701
|
+
"seoKeywords": SiteCreateSeoKeywordsToJSON(value["seoKeywords"]),
|
|
702
|
+
"targetGroups": SiteCreateTargetGroupsToJSON(value["targetGroups"]),
|
|
703
|
+
"status": value["status"],
|
|
704
|
+
"logoUrl": value["logoUrl"],
|
|
705
|
+
"logoSource": value["logoSource"],
|
|
706
|
+
"siteLinks": value["siteLinks"] == null ? void 0 : value["siteLinks"].map(SiteLinkEntryToJSON)
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
// src/generated/models/SuccessEnvelopeMetaNextCursor.ts
|
|
711
|
+
function SuccessEnvelopeMetaNextCursorFromJSON(json) {
|
|
712
|
+
return SuccessEnvelopeMetaNextCursorFromJSONTyped(json);
|
|
713
|
+
}
|
|
714
|
+
function SuccessEnvelopeMetaNextCursorFromJSONTyped(json, ignoreDiscriminator) {
|
|
715
|
+
return json;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
// src/generated/models/SuccessEnvelopeMeta.ts
|
|
719
|
+
function SuccessEnvelopeMetaFromJSON(json) {
|
|
720
|
+
return SuccessEnvelopeMetaFromJSONTyped(json);
|
|
721
|
+
}
|
|
722
|
+
function SuccessEnvelopeMetaFromJSONTyped(json, ignoreDiscriminator) {
|
|
723
|
+
if (json == null) {
|
|
724
|
+
return json;
|
|
725
|
+
}
|
|
726
|
+
return {
|
|
727
|
+
"nextCursor": json["nextCursor"] == null ? void 0 : SuccessEnvelopeMetaNextCursorFromJSON(json["nextCursor"]),
|
|
728
|
+
"total": json["total"] == null ? void 0 : json["total"]
|
|
729
|
+
};
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
// src/generated/models/SuccessEnvelope.ts
|
|
733
|
+
function SuccessEnvelopeFromJSON(json) {
|
|
734
|
+
return SuccessEnvelopeFromJSONTyped(json);
|
|
735
|
+
}
|
|
736
|
+
function SuccessEnvelopeFromJSONTyped(json, ignoreDiscriminator) {
|
|
737
|
+
if (json == null) {
|
|
738
|
+
return json;
|
|
739
|
+
}
|
|
740
|
+
return {
|
|
741
|
+
"data": json["data"],
|
|
742
|
+
"meta": json["meta"] == null ? void 0 : SuccessEnvelopeMetaFromJSON(json["meta"])
|
|
743
|
+
};
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
// src/generated/models/SyncTriggerRequestOptions.ts
|
|
747
|
+
function SyncTriggerRequestOptionsToJSON(json) {
|
|
748
|
+
return SyncTriggerRequestOptionsToJSONTyped(json, false);
|
|
749
|
+
}
|
|
750
|
+
function SyncTriggerRequestOptionsToJSONTyped(value, ignoreDiscriminator = false) {
|
|
751
|
+
if (value == null) {
|
|
752
|
+
return value;
|
|
753
|
+
}
|
|
754
|
+
return {
|
|
755
|
+
"includeAdGroups": value["includeAdGroups"],
|
|
756
|
+
"includeKeywords": value["includeKeywords"],
|
|
757
|
+
"includeAds": value["includeAds"],
|
|
758
|
+
"force": value["force"],
|
|
759
|
+
"campaignIds": value["campaignIds"]
|
|
760
|
+
};
|
|
761
|
+
}
|
|
762
|
+
|
|
763
|
+
// src/generated/models/SyncTriggerRequest.ts
|
|
764
|
+
function SyncTriggerRequestToJSON(json) {
|
|
765
|
+
return SyncTriggerRequestToJSONTyped(json, false);
|
|
766
|
+
}
|
|
767
|
+
function SyncTriggerRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
768
|
+
if (value == null) {
|
|
769
|
+
return value;
|
|
770
|
+
}
|
|
771
|
+
return {
|
|
772
|
+
"platforms": value["platforms"],
|
|
773
|
+
"options": SyncTriggerRequestOptionsToJSON(value["options"])
|
|
774
|
+
};
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
// src/generated/models/SyncUnlinkRequest.ts
|
|
778
|
+
function SyncUnlinkRequestToJSON(json) {
|
|
779
|
+
return SyncUnlinkRequestToJSONTyped(json, false);
|
|
780
|
+
}
|
|
781
|
+
function SyncUnlinkRequestToJSONTyped(value, ignoreDiscriminator = false) {
|
|
782
|
+
if (value == null) {
|
|
783
|
+
return value;
|
|
784
|
+
}
|
|
785
|
+
return {
|
|
786
|
+
"platform": value["platform"],
|
|
787
|
+
"campaignIds": value["campaignIds"],
|
|
788
|
+
"deleteRemote": value["deleteRemote"]
|
|
789
|
+
};
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
// src/generated/apis/AdAssetsApi.ts
|
|
793
|
+
var AdAssetsApi = class extends BaseAPI {
|
|
794
|
+
/**
|
|
795
|
+
* Bind an asset to an ad or ad group with a role
|
|
796
|
+
*/
|
|
797
|
+
async adAssetsCreateRaw(requestParameters, initOverrides) {
|
|
798
|
+
if (requestParameters["adAssetCreate"] == null) {
|
|
799
|
+
throw new RequiredError(
|
|
800
|
+
"adAssetCreate",
|
|
801
|
+
'Required parameter "adAssetCreate" was null or undefined when calling adAssetsCreate().'
|
|
802
|
+
);
|
|
803
|
+
}
|
|
804
|
+
const queryParameters = {};
|
|
805
|
+
const headerParameters = {};
|
|
806
|
+
headerParameters["Content-Type"] = "application/json";
|
|
807
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
808
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
809
|
+
}
|
|
810
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
811
|
+
const token = this.configuration.accessToken;
|
|
812
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
813
|
+
if (tokenString) {
|
|
814
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
const response = await this.request({
|
|
818
|
+
path: `/api/v1/ad-assets`,
|
|
819
|
+
method: "POST",
|
|
820
|
+
headers: headerParameters,
|
|
821
|
+
query: queryParameters,
|
|
822
|
+
body: AdAssetCreateToJSON(requestParameters["adAssetCreate"])
|
|
823
|
+
}, initOverrides);
|
|
824
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
825
|
+
}
|
|
826
|
+
/**
|
|
827
|
+
* Bind an asset to an ad or ad group with a role
|
|
828
|
+
*/
|
|
829
|
+
async adAssetsCreate(requestParameters, initOverrides) {
|
|
830
|
+
const response = await this.adAssetsCreateRaw(requestParameters, initOverrides);
|
|
831
|
+
return await response.value();
|
|
832
|
+
}
|
|
833
|
+
/**
|
|
834
|
+
* Remove an ad-asset binding
|
|
835
|
+
*/
|
|
836
|
+
async adAssetsDeleteRaw(requestParameters, initOverrides) {
|
|
837
|
+
if (requestParameters["id"] == null) {
|
|
838
|
+
throw new RequiredError(
|
|
839
|
+
"id",
|
|
840
|
+
'Required parameter "id" was null or undefined when calling adAssetsDelete().'
|
|
841
|
+
);
|
|
842
|
+
}
|
|
843
|
+
const queryParameters = {};
|
|
844
|
+
const headerParameters = {};
|
|
845
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
846
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
847
|
+
}
|
|
848
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
849
|
+
const token = this.configuration.accessToken;
|
|
850
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
851
|
+
if (tokenString) {
|
|
852
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
const response = await this.request({
|
|
856
|
+
path: `/api/v1/ad-assets/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
857
|
+
method: "DELETE",
|
|
858
|
+
headers: headerParameters,
|
|
859
|
+
query: queryParameters
|
|
860
|
+
}, initOverrides);
|
|
861
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
862
|
+
}
|
|
863
|
+
/**
|
|
864
|
+
* Remove an ad-asset binding
|
|
865
|
+
*/
|
|
866
|
+
async adAssetsDelete(requestParameters, initOverrides) {
|
|
867
|
+
const response = await this.adAssetsDeleteRaw(requestParameters, initOverrides);
|
|
868
|
+
return await response.value();
|
|
869
|
+
}
|
|
870
|
+
/**
|
|
871
|
+
* Get ad-asset binding
|
|
872
|
+
*/
|
|
873
|
+
async adAssetsGetRaw(requestParameters, initOverrides) {
|
|
874
|
+
if (requestParameters["id"] == null) {
|
|
875
|
+
throw new RequiredError(
|
|
876
|
+
"id",
|
|
877
|
+
'Required parameter "id" was null or undefined when calling adAssetsGet().'
|
|
878
|
+
);
|
|
879
|
+
}
|
|
880
|
+
const queryParameters = {};
|
|
881
|
+
const headerParameters = {};
|
|
882
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
883
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
884
|
+
}
|
|
885
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
886
|
+
const token = this.configuration.accessToken;
|
|
887
|
+
const tokenString = await token("ApiToken", ["ads:read"]);
|
|
888
|
+
if (tokenString) {
|
|
889
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
const response = await this.request({
|
|
893
|
+
path: `/api/v1/ad-assets/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
894
|
+
method: "GET",
|
|
895
|
+
headers: headerParameters,
|
|
896
|
+
query: queryParameters
|
|
897
|
+
}, initOverrides);
|
|
898
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
899
|
+
}
|
|
900
|
+
/**
|
|
901
|
+
* Get ad-asset binding
|
|
902
|
+
*/
|
|
903
|
+
async adAssetsGet(requestParameters, initOverrides) {
|
|
904
|
+
const response = await this.adAssetsGetRaw(requestParameters, initOverrides);
|
|
905
|
+
return await response.value();
|
|
906
|
+
}
|
|
907
|
+
/**
|
|
908
|
+
* List ad / ad-group asset bindings (filter by adId/adGroupId/campaignId)
|
|
909
|
+
*/
|
|
910
|
+
async adAssetsListRaw(requestParameters, initOverrides) {
|
|
911
|
+
const queryParameters = {};
|
|
912
|
+
if (requestParameters["limit"] != null) {
|
|
913
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
914
|
+
}
|
|
915
|
+
if (requestParameters["cursor"] != null) {
|
|
916
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
917
|
+
}
|
|
918
|
+
if (requestParameters["adId"] != null) {
|
|
919
|
+
queryParameters["adId"] = requestParameters["adId"];
|
|
920
|
+
}
|
|
921
|
+
if (requestParameters["adGroupId"] != null) {
|
|
922
|
+
queryParameters["adGroupId"] = requestParameters["adGroupId"];
|
|
923
|
+
}
|
|
924
|
+
if (requestParameters["campaignId"] != null) {
|
|
925
|
+
queryParameters["campaignId"] = requestParameters["campaignId"];
|
|
926
|
+
}
|
|
927
|
+
if (requestParameters["role"] != null) {
|
|
928
|
+
queryParameters["role"] = requestParameters["role"];
|
|
929
|
+
}
|
|
930
|
+
const headerParameters = {};
|
|
931
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
932
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
933
|
+
}
|
|
934
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
935
|
+
const token = this.configuration.accessToken;
|
|
936
|
+
const tokenString = await token("ApiToken", ["ads:read"]);
|
|
937
|
+
if (tokenString) {
|
|
938
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
939
|
+
}
|
|
940
|
+
}
|
|
941
|
+
const response = await this.request({
|
|
942
|
+
path: `/api/v1/ad-assets`,
|
|
943
|
+
method: "GET",
|
|
944
|
+
headers: headerParameters,
|
|
945
|
+
query: queryParameters
|
|
946
|
+
}, initOverrides);
|
|
947
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
948
|
+
}
|
|
949
|
+
/**
|
|
950
|
+
* List ad / ad-group asset bindings (filter by adId/adGroupId/campaignId)
|
|
951
|
+
*/
|
|
952
|
+
async adAssetsList(requestParameters = {}, initOverrides) {
|
|
953
|
+
const response = await this.adAssetsListRaw(requestParameters, initOverrides);
|
|
954
|
+
return await response.value();
|
|
955
|
+
}
|
|
956
|
+
};
|
|
957
|
+
|
|
958
|
+
// src/generated/apis/AdGroupsApi.ts
|
|
959
|
+
var AdGroupsApi = class extends BaseAPI {
|
|
960
|
+
/**
|
|
961
|
+
* Create ad group
|
|
962
|
+
*/
|
|
963
|
+
async adGroupsCreateRaw(requestParameters, initOverrides) {
|
|
964
|
+
if (requestParameters["adGroupCreate"] == null) {
|
|
965
|
+
throw new RequiredError(
|
|
966
|
+
"adGroupCreate",
|
|
967
|
+
'Required parameter "adGroupCreate" was null or undefined when calling adGroupsCreate().'
|
|
968
|
+
);
|
|
969
|
+
}
|
|
970
|
+
const queryParameters = {};
|
|
971
|
+
const headerParameters = {};
|
|
972
|
+
headerParameters["Content-Type"] = "application/json";
|
|
973
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
974
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
975
|
+
}
|
|
976
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
977
|
+
const token = this.configuration.accessToken;
|
|
978
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
979
|
+
if (tokenString) {
|
|
980
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
981
|
+
}
|
|
982
|
+
}
|
|
983
|
+
const response = await this.request({
|
|
984
|
+
path: `/api/v1/ad-groups`,
|
|
985
|
+
method: "POST",
|
|
986
|
+
headers: headerParameters,
|
|
987
|
+
query: queryParameters,
|
|
988
|
+
body: AdGroupCreateToJSON(requestParameters["adGroupCreate"])
|
|
989
|
+
}, initOverrides);
|
|
990
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
991
|
+
}
|
|
992
|
+
/**
|
|
993
|
+
* Create ad group
|
|
994
|
+
*/
|
|
995
|
+
async adGroupsCreate(requestParameters, initOverrides) {
|
|
996
|
+
const response = await this.adGroupsCreateRaw(requestParameters, initOverrides);
|
|
997
|
+
return await response.value();
|
|
998
|
+
}
|
|
999
|
+
/**
|
|
1000
|
+
* Returns 409 CONFLICT with `details: { ads, keywords }` when the ad group still has dependent ads or keywords. Pass `?cascade=true` to delete them in the same request.
|
|
1001
|
+
* Delete ad group
|
|
1002
|
+
*/
|
|
1003
|
+
async adGroupsDeleteRaw(requestParameters, initOverrides) {
|
|
1004
|
+
if (requestParameters["id"] == null) {
|
|
1005
|
+
throw new RequiredError(
|
|
1006
|
+
"id",
|
|
1007
|
+
'Required parameter "id" was null or undefined when calling adGroupsDelete().'
|
|
1008
|
+
);
|
|
1009
|
+
}
|
|
1010
|
+
const queryParameters = {};
|
|
1011
|
+
if (requestParameters["cascade"] != null) {
|
|
1012
|
+
queryParameters["cascade"] = requestParameters["cascade"];
|
|
1013
|
+
}
|
|
1014
|
+
const headerParameters = {};
|
|
1015
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1016
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1017
|
+
}
|
|
1018
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1019
|
+
const token = this.configuration.accessToken;
|
|
1020
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
1021
|
+
if (tokenString) {
|
|
1022
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
const response = await this.request({
|
|
1026
|
+
path: `/api/v1/ad-groups/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1027
|
+
method: "DELETE",
|
|
1028
|
+
headers: headerParameters,
|
|
1029
|
+
query: queryParameters
|
|
1030
|
+
}, initOverrides);
|
|
1031
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1032
|
+
}
|
|
1033
|
+
/**
|
|
1034
|
+
* Returns 409 CONFLICT with `details: { ads, keywords }` when the ad group still has dependent ads or keywords. Pass `?cascade=true` to delete them in the same request.
|
|
1035
|
+
* Delete ad group
|
|
1036
|
+
*/
|
|
1037
|
+
async adGroupsDelete(requestParameters, initOverrides) {
|
|
1038
|
+
const response = await this.adGroupsDeleteRaw(requestParameters, initOverrides);
|
|
1039
|
+
return await response.value();
|
|
1040
|
+
}
|
|
1041
|
+
/**
|
|
1042
|
+
* Get ad group
|
|
1043
|
+
*/
|
|
1044
|
+
async adGroupsGetRaw(requestParameters, initOverrides) {
|
|
1045
|
+
if (requestParameters["id"] == null) {
|
|
1046
|
+
throw new RequiredError(
|
|
1047
|
+
"id",
|
|
1048
|
+
'Required parameter "id" was null or undefined when calling adGroupsGet().'
|
|
1049
|
+
);
|
|
1050
|
+
}
|
|
1051
|
+
const queryParameters = {};
|
|
1052
|
+
const headerParameters = {};
|
|
1053
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1054
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1055
|
+
}
|
|
1056
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1057
|
+
const token = this.configuration.accessToken;
|
|
1058
|
+
const tokenString = await token("ApiToken", ["ads:read"]);
|
|
1059
|
+
if (tokenString) {
|
|
1060
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
const response = await this.request({
|
|
1064
|
+
path: `/api/v1/ad-groups/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1065
|
+
method: "GET",
|
|
1066
|
+
headers: headerParameters,
|
|
1067
|
+
query: queryParameters
|
|
1068
|
+
}, initOverrides);
|
|
1069
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1070
|
+
}
|
|
1071
|
+
/**
|
|
1072
|
+
* Get ad group
|
|
1073
|
+
*/
|
|
1074
|
+
async adGroupsGet(requestParameters, initOverrides) {
|
|
1075
|
+
const response = await this.adGroupsGetRaw(requestParameters, initOverrides);
|
|
1076
|
+
return await response.value();
|
|
1077
|
+
}
|
|
1078
|
+
/**
|
|
1079
|
+
* List ad groups
|
|
1080
|
+
*/
|
|
1081
|
+
async adGroupsListRaw(requestParameters, initOverrides) {
|
|
1082
|
+
const queryParameters = {};
|
|
1083
|
+
if (requestParameters["limit"] != null) {
|
|
1084
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
1085
|
+
}
|
|
1086
|
+
if (requestParameters["cursor"] != null) {
|
|
1087
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
1088
|
+
}
|
|
1089
|
+
const headerParameters = {};
|
|
1090
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1091
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1092
|
+
}
|
|
1093
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1094
|
+
const token = this.configuration.accessToken;
|
|
1095
|
+
const tokenString = await token("ApiToken", ["ads:read"]);
|
|
1096
|
+
if (tokenString) {
|
|
1097
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
const response = await this.request({
|
|
1101
|
+
path: `/api/v1/ad-groups`,
|
|
1102
|
+
method: "GET",
|
|
1103
|
+
headers: headerParameters,
|
|
1104
|
+
query: queryParameters
|
|
1105
|
+
}, initOverrides);
|
|
1106
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1107
|
+
}
|
|
1108
|
+
/**
|
|
1109
|
+
* List ad groups
|
|
1110
|
+
*/
|
|
1111
|
+
async adGroupsList(requestParameters = {}, initOverrides) {
|
|
1112
|
+
const response = await this.adGroupsListRaw(requestParameters, initOverrides);
|
|
1113
|
+
return await response.value();
|
|
1114
|
+
}
|
|
1115
|
+
/**
|
|
1116
|
+
* Update ad group
|
|
1117
|
+
*/
|
|
1118
|
+
async adGroupsUpdateRaw(requestParameters, initOverrides) {
|
|
1119
|
+
if (requestParameters["id"] == null) {
|
|
1120
|
+
throw new RequiredError(
|
|
1121
|
+
"id",
|
|
1122
|
+
'Required parameter "id" was null or undefined when calling adGroupsUpdate().'
|
|
1123
|
+
);
|
|
1124
|
+
}
|
|
1125
|
+
if (requestParameters["adGroupUpdate"] == null) {
|
|
1126
|
+
throw new RequiredError(
|
|
1127
|
+
"adGroupUpdate",
|
|
1128
|
+
'Required parameter "adGroupUpdate" was null or undefined when calling adGroupsUpdate().'
|
|
1129
|
+
);
|
|
1130
|
+
}
|
|
1131
|
+
const queryParameters = {};
|
|
1132
|
+
const headerParameters = {};
|
|
1133
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1134
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1135
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1136
|
+
}
|
|
1137
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1138
|
+
const token = this.configuration.accessToken;
|
|
1139
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
1140
|
+
if (tokenString) {
|
|
1141
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1142
|
+
}
|
|
1143
|
+
}
|
|
1144
|
+
const response = await this.request({
|
|
1145
|
+
path: `/api/v1/ad-groups/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1146
|
+
method: "PUT",
|
|
1147
|
+
headers: headerParameters,
|
|
1148
|
+
query: queryParameters,
|
|
1149
|
+
body: AdGroupUpdateToJSON(requestParameters["adGroupUpdate"])
|
|
1150
|
+
}, initOverrides);
|
|
1151
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1152
|
+
}
|
|
1153
|
+
/**
|
|
1154
|
+
* Update ad group
|
|
1155
|
+
*/
|
|
1156
|
+
async adGroupsUpdate(requestParameters, initOverrides) {
|
|
1157
|
+
const response = await this.adGroupsUpdateRaw(requestParameters, initOverrides);
|
|
1158
|
+
return await response.value();
|
|
1159
|
+
}
|
|
1160
|
+
};
|
|
1161
|
+
|
|
1162
|
+
// src/generated/apis/AdsApi.ts
|
|
1163
|
+
var AdsApi = class extends BaseAPI {
|
|
1164
|
+
/**
|
|
1165
|
+
* Create ad
|
|
1166
|
+
*/
|
|
1167
|
+
async adsCreateRaw(requestParameters, initOverrides) {
|
|
1168
|
+
if (requestParameters["adCreate"] == null) {
|
|
1169
|
+
throw new RequiredError(
|
|
1170
|
+
"adCreate",
|
|
1171
|
+
'Required parameter "adCreate" was null or undefined when calling adsCreate().'
|
|
1172
|
+
);
|
|
1173
|
+
}
|
|
1174
|
+
const queryParameters = {};
|
|
1175
|
+
const headerParameters = {};
|
|
1176
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1177
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1178
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1179
|
+
}
|
|
1180
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1181
|
+
const token = this.configuration.accessToken;
|
|
1182
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
1183
|
+
if (tokenString) {
|
|
1184
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
const response = await this.request({
|
|
1188
|
+
path: `/api/v1/ads`,
|
|
1189
|
+
method: "POST",
|
|
1190
|
+
headers: headerParameters,
|
|
1191
|
+
query: queryParameters,
|
|
1192
|
+
body: AdCreateToJSON(requestParameters["adCreate"])
|
|
1193
|
+
}, initOverrides);
|
|
1194
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1195
|
+
}
|
|
1196
|
+
/**
|
|
1197
|
+
* Create ad
|
|
1198
|
+
*/
|
|
1199
|
+
async adsCreate(requestParameters, initOverrides) {
|
|
1200
|
+
const response = await this.adsCreateRaw(requestParameters, initOverrides);
|
|
1201
|
+
return await response.value();
|
|
1202
|
+
}
|
|
1203
|
+
/**
|
|
1204
|
+
* Delete ad
|
|
1205
|
+
*/
|
|
1206
|
+
async adsDeleteRaw(requestParameters, initOverrides) {
|
|
1207
|
+
if (requestParameters["id"] == null) {
|
|
1208
|
+
throw new RequiredError(
|
|
1209
|
+
"id",
|
|
1210
|
+
'Required parameter "id" was null or undefined when calling adsDelete().'
|
|
1211
|
+
);
|
|
1212
|
+
}
|
|
1213
|
+
const queryParameters = {};
|
|
1214
|
+
const headerParameters = {};
|
|
1215
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1216
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1217
|
+
}
|
|
1218
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1219
|
+
const token = this.configuration.accessToken;
|
|
1220
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
1221
|
+
if (tokenString) {
|
|
1222
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
const response = await this.request({
|
|
1226
|
+
path: `/api/v1/ads/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1227
|
+
method: "DELETE",
|
|
1228
|
+
headers: headerParameters,
|
|
1229
|
+
query: queryParameters
|
|
1230
|
+
}, initOverrides);
|
|
1231
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1232
|
+
}
|
|
1233
|
+
/**
|
|
1234
|
+
* Delete ad
|
|
1235
|
+
*/
|
|
1236
|
+
async adsDelete(requestParameters, initOverrides) {
|
|
1237
|
+
const response = await this.adsDeleteRaw(requestParameters, initOverrides);
|
|
1238
|
+
return await response.value();
|
|
1239
|
+
}
|
|
1240
|
+
/**
|
|
1241
|
+
* Get ad
|
|
1242
|
+
*/
|
|
1243
|
+
async adsGetRaw(requestParameters, initOverrides) {
|
|
1244
|
+
if (requestParameters["id"] == null) {
|
|
1245
|
+
throw new RequiredError(
|
|
1246
|
+
"id",
|
|
1247
|
+
'Required parameter "id" was null or undefined when calling adsGet().'
|
|
1248
|
+
);
|
|
1249
|
+
}
|
|
1250
|
+
const queryParameters = {};
|
|
1251
|
+
const headerParameters = {};
|
|
1252
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1253
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1254
|
+
}
|
|
1255
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1256
|
+
const token = this.configuration.accessToken;
|
|
1257
|
+
const tokenString = await token("ApiToken", ["ads:read"]);
|
|
1258
|
+
if (tokenString) {
|
|
1259
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
const response = await this.request({
|
|
1263
|
+
path: `/api/v1/ads/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1264
|
+
method: "GET",
|
|
1265
|
+
headers: headerParameters,
|
|
1266
|
+
query: queryParameters
|
|
1267
|
+
}, initOverrides);
|
|
1268
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1269
|
+
}
|
|
1270
|
+
/**
|
|
1271
|
+
* Get ad
|
|
1272
|
+
*/
|
|
1273
|
+
async adsGet(requestParameters, initOverrides) {
|
|
1274
|
+
const response = await this.adsGetRaw(requestParameters, initOverrides);
|
|
1275
|
+
return await response.value();
|
|
1276
|
+
}
|
|
1277
|
+
/**
|
|
1278
|
+
* List ads
|
|
1279
|
+
*/
|
|
1280
|
+
async adsListRaw(requestParameters, initOverrides) {
|
|
1281
|
+
const queryParameters = {};
|
|
1282
|
+
if (requestParameters["limit"] != null) {
|
|
1283
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
1284
|
+
}
|
|
1285
|
+
if (requestParameters["cursor"] != null) {
|
|
1286
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
1287
|
+
}
|
|
1288
|
+
const headerParameters = {};
|
|
1289
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1290
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1291
|
+
}
|
|
1292
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1293
|
+
const token = this.configuration.accessToken;
|
|
1294
|
+
const tokenString = await token("ApiToken", ["ads:read"]);
|
|
1295
|
+
if (tokenString) {
|
|
1296
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1297
|
+
}
|
|
1298
|
+
}
|
|
1299
|
+
const response = await this.request({
|
|
1300
|
+
path: `/api/v1/ads`,
|
|
1301
|
+
method: "GET",
|
|
1302
|
+
headers: headerParameters,
|
|
1303
|
+
query: queryParameters
|
|
1304
|
+
}, initOverrides);
|
|
1305
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1306
|
+
}
|
|
1307
|
+
/**
|
|
1308
|
+
* List ads
|
|
1309
|
+
*/
|
|
1310
|
+
async adsList(requestParameters = {}, initOverrides) {
|
|
1311
|
+
const response = await this.adsListRaw(requestParameters, initOverrides);
|
|
1312
|
+
return await response.value();
|
|
1313
|
+
}
|
|
1314
|
+
/**
|
|
1315
|
+
* Update ad (used by partial-resync flows)
|
|
1316
|
+
*/
|
|
1317
|
+
async adsUpdateRaw(requestParameters, initOverrides) {
|
|
1318
|
+
if (requestParameters["id"] == null) {
|
|
1319
|
+
throw new RequiredError(
|
|
1320
|
+
"id",
|
|
1321
|
+
'Required parameter "id" was null or undefined when calling adsUpdate().'
|
|
1322
|
+
);
|
|
1323
|
+
}
|
|
1324
|
+
if (requestParameters["adUpdate"] == null) {
|
|
1325
|
+
throw new RequiredError(
|
|
1326
|
+
"adUpdate",
|
|
1327
|
+
'Required parameter "adUpdate" was null or undefined when calling adsUpdate().'
|
|
1328
|
+
);
|
|
1329
|
+
}
|
|
1330
|
+
const queryParameters = {};
|
|
1331
|
+
const headerParameters = {};
|
|
1332
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1333
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1334
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1335
|
+
}
|
|
1336
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1337
|
+
const token = this.configuration.accessToken;
|
|
1338
|
+
const tokenString = await token("ApiToken", ["ads:write"]);
|
|
1339
|
+
if (tokenString) {
|
|
1340
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1343
|
+
const response = await this.request({
|
|
1344
|
+
path: `/api/v1/ads/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1345
|
+
method: "PUT",
|
|
1346
|
+
headers: headerParameters,
|
|
1347
|
+
query: queryParameters,
|
|
1348
|
+
body: AdUpdateToJSON(requestParameters["adUpdate"])
|
|
1349
|
+
}, initOverrides);
|
|
1350
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1351
|
+
}
|
|
1352
|
+
/**
|
|
1353
|
+
* Update ad (used by partial-resync flows)
|
|
1354
|
+
*/
|
|
1355
|
+
async adsUpdate(requestParameters, initOverrides) {
|
|
1356
|
+
const response = await this.adsUpdateRaw(requestParameters, initOverrides);
|
|
1357
|
+
return await response.value();
|
|
1358
|
+
}
|
|
1359
|
+
};
|
|
1360
|
+
|
|
1361
|
+
// src/generated/apis/AssetsApi.ts
|
|
1362
|
+
var AssetsApi = class extends BaseAPI {
|
|
1363
|
+
/**
|
|
1364
|
+
* Create asset (URL-by-reference)
|
|
1365
|
+
*/
|
|
1366
|
+
async assetsCreateRaw(requestParameters, initOverrides) {
|
|
1367
|
+
if (requestParameters["assetCreate"] == null) {
|
|
1368
|
+
throw new RequiredError(
|
|
1369
|
+
"assetCreate",
|
|
1370
|
+
'Required parameter "assetCreate" was null or undefined when calling assetsCreate().'
|
|
1371
|
+
);
|
|
1372
|
+
}
|
|
1373
|
+
const queryParameters = {};
|
|
1374
|
+
const headerParameters = {};
|
|
1375
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1376
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1377
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1378
|
+
}
|
|
1379
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1380
|
+
const token = this.configuration.accessToken;
|
|
1381
|
+
const tokenString = await token("ApiToken", ["assets:write"]);
|
|
1382
|
+
if (tokenString) {
|
|
1383
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1384
|
+
}
|
|
1385
|
+
}
|
|
1386
|
+
const response = await this.request({
|
|
1387
|
+
path: `/api/v1/assets`,
|
|
1388
|
+
method: "POST",
|
|
1389
|
+
headers: headerParameters,
|
|
1390
|
+
query: queryParameters,
|
|
1391
|
+
body: AssetCreateToJSON(requestParameters["assetCreate"])
|
|
1392
|
+
}, initOverrides);
|
|
1393
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1394
|
+
}
|
|
1395
|
+
/**
|
|
1396
|
+
* Create asset (URL-by-reference)
|
|
1397
|
+
*/
|
|
1398
|
+
async assetsCreate(requestParameters, initOverrides) {
|
|
1399
|
+
const response = await this.assetsCreateRaw(requestParameters, initOverrides);
|
|
1400
|
+
return await response.value();
|
|
1401
|
+
}
|
|
1402
|
+
/**
|
|
1403
|
+
* Delete asset
|
|
1404
|
+
*/
|
|
1405
|
+
async assetsDeleteRaw(requestParameters, initOverrides) {
|
|
1406
|
+
if (requestParameters["id"] == null) {
|
|
1407
|
+
throw new RequiredError(
|
|
1408
|
+
"id",
|
|
1409
|
+
'Required parameter "id" was null or undefined when calling assetsDelete().'
|
|
1410
|
+
);
|
|
1411
|
+
}
|
|
1412
|
+
const queryParameters = {};
|
|
1413
|
+
const headerParameters = {};
|
|
1414
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1415
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1416
|
+
}
|
|
1417
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1418
|
+
const token = this.configuration.accessToken;
|
|
1419
|
+
const tokenString = await token("ApiToken", ["assets:write"]);
|
|
1420
|
+
if (tokenString) {
|
|
1421
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
const response = await this.request({
|
|
1425
|
+
path: `/api/v1/assets/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1426
|
+
method: "DELETE",
|
|
1427
|
+
headers: headerParameters,
|
|
1428
|
+
query: queryParameters
|
|
1429
|
+
}, initOverrides);
|
|
1430
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1431
|
+
}
|
|
1432
|
+
/**
|
|
1433
|
+
* Delete asset
|
|
1434
|
+
*/
|
|
1435
|
+
async assetsDelete(requestParameters, initOverrides) {
|
|
1436
|
+
const response = await this.assetsDeleteRaw(requestParameters, initOverrides);
|
|
1437
|
+
return await response.value();
|
|
1438
|
+
}
|
|
1439
|
+
/**
|
|
1440
|
+
* Get asset
|
|
1441
|
+
*/
|
|
1442
|
+
async assetsGetRaw(requestParameters, initOverrides) {
|
|
1443
|
+
if (requestParameters["id"] == null) {
|
|
1444
|
+
throw new RequiredError(
|
|
1445
|
+
"id",
|
|
1446
|
+
'Required parameter "id" was null or undefined when calling assetsGet().'
|
|
1447
|
+
);
|
|
1448
|
+
}
|
|
1449
|
+
const queryParameters = {};
|
|
1450
|
+
const headerParameters = {};
|
|
1451
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1452
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1453
|
+
}
|
|
1454
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1455
|
+
const token = this.configuration.accessToken;
|
|
1456
|
+
const tokenString = await token("ApiToken", ["assets:read"]);
|
|
1457
|
+
if (tokenString) {
|
|
1458
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1459
|
+
}
|
|
1460
|
+
}
|
|
1461
|
+
const response = await this.request({
|
|
1462
|
+
path: `/api/v1/assets/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1463
|
+
method: "GET",
|
|
1464
|
+
headers: headerParameters,
|
|
1465
|
+
query: queryParameters
|
|
1466
|
+
}, initOverrides);
|
|
1467
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1468
|
+
}
|
|
1469
|
+
/**
|
|
1470
|
+
* Get asset
|
|
1471
|
+
*/
|
|
1472
|
+
async assetsGet(requestParameters, initOverrides) {
|
|
1473
|
+
const response = await this.assetsGetRaw(requestParameters, initOverrides);
|
|
1474
|
+
return await response.value();
|
|
1475
|
+
}
|
|
1476
|
+
/**
|
|
1477
|
+
* List assets
|
|
1478
|
+
*/
|
|
1479
|
+
async assetsListRaw(requestParameters, initOverrides) {
|
|
1480
|
+
const queryParameters = {};
|
|
1481
|
+
if (requestParameters["limit"] != null) {
|
|
1482
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
1483
|
+
}
|
|
1484
|
+
if (requestParameters["cursor"] != null) {
|
|
1485
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
1486
|
+
}
|
|
1487
|
+
if (requestParameters["type"] != null) {
|
|
1488
|
+
queryParameters["type"] = requestParameters["type"];
|
|
1489
|
+
}
|
|
1490
|
+
const headerParameters = {};
|
|
1491
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1492
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1493
|
+
}
|
|
1494
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1495
|
+
const token = this.configuration.accessToken;
|
|
1496
|
+
const tokenString = await token("ApiToken", ["assets:read"]);
|
|
1497
|
+
if (tokenString) {
|
|
1498
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
const response = await this.request({
|
|
1502
|
+
path: `/api/v1/assets`,
|
|
1503
|
+
method: "GET",
|
|
1504
|
+
headers: headerParameters,
|
|
1505
|
+
query: queryParameters
|
|
1506
|
+
}, initOverrides);
|
|
1507
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1508
|
+
}
|
|
1509
|
+
/**
|
|
1510
|
+
* List assets
|
|
1511
|
+
*/
|
|
1512
|
+
async assetsList(requestParameters = {}, initOverrides) {
|
|
1513
|
+
const response = await this.assetsListRaw(requestParameters, initOverrides);
|
|
1514
|
+
return await response.value();
|
|
1515
|
+
}
|
|
1516
|
+
/**
|
|
1517
|
+
* Update asset (partial: name, altText, tags, metadata, status, width, height)
|
|
1518
|
+
*/
|
|
1519
|
+
async assetsUpdateRaw(requestParameters, initOverrides) {
|
|
1520
|
+
if (requestParameters["id"] == null) {
|
|
1521
|
+
throw new RequiredError(
|
|
1522
|
+
"id",
|
|
1523
|
+
'Required parameter "id" was null or undefined when calling assetsUpdate().'
|
|
1524
|
+
);
|
|
1525
|
+
}
|
|
1526
|
+
if (requestParameters["assetUpdate"] == null) {
|
|
1527
|
+
throw new RequiredError(
|
|
1528
|
+
"assetUpdate",
|
|
1529
|
+
'Required parameter "assetUpdate" was null or undefined when calling assetsUpdate().'
|
|
1530
|
+
);
|
|
1531
|
+
}
|
|
1532
|
+
const queryParameters = {};
|
|
1533
|
+
const headerParameters = {};
|
|
1534
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1535
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1536
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1537
|
+
}
|
|
1538
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1539
|
+
const token = this.configuration.accessToken;
|
|
1540
|
+
const tokenString = await token("ApiToken", ["assets:write"]);
|
|
1541
|
+
if (tokenString) {
|
|
1542
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
const response = await this.request({
|
|
1546
|
+
path: `/api/v1/assets/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1547
|
+
method: "PUT",
|
|
1548
|
+
headers: headerParameters,
|
|
1549
|
+
query: queryParameters,
|
|
1550
|
+
body: AssetUpdateToJSON(requestParameters["assetUpdate"])
|
|
1551
|
+
}, initOverrides);
|
|
1552
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1553
|
+
}
|
|
1554
|
+
/**
|
|
1555
|
+
* Update asset (partial: name, altText, tags, metadata, status, width, height)
|
|
1556
|
+
*/
|
|
1557
|
+
async assetsUpdate(requestParameters, initOverrides) {
|
|
1558
|
+
const response = await this.assetsUpdateRaw(requestParameters, initOverrides);
|
|
1559
|
+
return await response.value();
|
|
1560
|
+
}
|
|
1561
|
+
};
|
|
1562
|
+
|
|
1563
|
+
// src/generated/apis/CampaignAssetsApi.ts
|
|
1564
|
+
var CampaignAssetsApi = class extends BaseAPI {
|
|
1565
|
+
/**
|
|
1566
|
+
* Bind an asset to a campaign with a role
|
|
1567
|
+
*/
|
|
1568
|
+
async campaignAssetsCreateRaw(requestParameters, initOverrides) {
|
|
1569
|
+
if (requestParameters["campaignAssetCreate"] == null) {
|
|
1570
|
+
throw new RequiredError(
|
|
1571
|
+
"campaignAssetCreate",
|
|
1572
|
+
'Required parameter "campaignAssetCreate" was null or undefined when calling campaignAssetsCreate().'
|
|
1573
|
+
);
|
|
1574
|
+
}
|
|
1575
|
+
const queryParameters = {};
|
|
1576
|
+
const headerParameters = {};
|
|
1577
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1578
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1579
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1580
|
+
}
|
|
1581
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1582
|
+
const token = this.configuration.accessToken;
|
|
1583
|
+
const tokenString = await token("ApiToken", ["assets:write"]);
|
|
1584
|
+
if (tokenString) {
|
|
1585
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1586
|
+
}
|
|
1587
|
+
}
|
|
1588
|
+
const response = await this.request({
|
|
1589
|
+
path: `/api/v1/campaign-assets`,
|
|
1590
|
+
method: "POST",
|
|
1591
|
+
headers: headerParameters,
|
|
1592
|
+
query: queryParameters,
|
|
1593
|
+
body: CampaignAssetCreateToJSON(requestParameters["campaignAssetCreate"])
|
|
1594
|
+
}, initOverrides);
|
|
1595
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1596
|
+
}
|
|
1597
|
+
/**
|
|
1598
|
+
* Bind an asset to a campaign with a role
|
|
1599
|
+
*/
|
|
1600
|
+
async campaignAssetsCreate(requestParameters, initOverrides) {
|
|
1601
|
+
const response = await this.campaignAssetsCreateRaw(requestParameters, initOverrides);
|
|
1602
|
+
return await response.value();
|
|
1603
|
+
}
|
|
1604
|
+
/**
|
|
1605
|
+
* Remove a campaign-asset binding
|
|
1606
|
+
*/
|
|
1607
|
+
async campaignAssetsDeleteRaw(requestParameters, initOverrides) {
|
|
1608
|
+
if (requestParameters["id"] == null) {
|
|
1609
|
+
throw new RequiredError(
|
|
1610
|
+
"id",
|
|
1611
|
+
'Required parameter "id" was null or undefined when calling campaignAssetsDelete().'
|
|
1612
|
+
);
|
|
1613
|
+
}
|
|
1614
|
+
const queryParameters = {};
|
|
1615
|
+
const headerParameters = {};
|
|
1616
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1617
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1618
|
+
}
|
|
1619
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1620
|
+
const token = this.configuration.accessToken;
|
|
1621
|
+
const tokenString = await token("ApiToken", ["assets:write"]);
|
|
1622
|
+
if (tokenString) {
|
|
1623
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1624
|
+
}
|
|
1625
|
+
}
|
|
1626
|
+
const response = await this.request({
|
|
1627
|
+
path: `/api/v1/campaign-assets/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1628
|
+
method: "DELETE",
|
|
1629
|
+
headers: headerParameters,
|
|
1630
|
+
query: queryParameters
|
|
1631
|
+
}, initOverrides);
|
|
1632
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1633
|
+
}
|
|
1634
|
+
/**
|
|
1635
|
+
* Remove a campaign-asset binding
|
|
1636
|
+
*/
|
|
1637
|
+
async campaignAssetsDelete(requestParameters, initOverrides) {
|
|
1638
|
+
const response = await this.campaignAssetsDeleteRaw(requestParameters, initOverrides);
|
|
1639
|
+
return await response.value();
|
|
1640
|
+
}
|
|
1641
|
+
/**
|
|
1642
|
+
* Get campaign-asset binding
|
|
1643
|
+
*/
|
|
1644
|
+
async campaignAssetsGetRaw(requestParameters, initOverrides) {
|
|
1645
|
+
if (requestParameters["id"] == null) {
|
|
1646
|
+
throw new RequiredError(
|
|
1647
|
+
"id",
|
|
1648
|
+
'Required parameter "id" was null or undefined when calling campaignAssetsGet().'
|
|
1649
|
+
);
|
|
1650
|
+
}
|
|
1651
|
+
const queryParameters = {};
|
|
1652
|
+
const headerParameters = {};
|
|
1653
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1654
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1655
|
+
}
|
|
1656
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1657
|
+
const token = this.configuration.accessToken;
|
|
1658
|
+
const tokenString = await token("ApiToken", ["assets:read"]);
|
|
1659
|
+
if (tokenString) {
|
|
1660
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
const response = await this.request({
|
|
1664
|
+
path: `/api/v1/campaign-assets/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1665
|
+
method: "GET",
|
|
1666
|
+
headers: headerParameters,
|
|
1667
|
+
query: queryParameters
|
|
1668
|
+
}, initOverrides);
|
|
1669
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1670
|
+
}
|
|
1671
|
+
/**
|
|
1672
|
+
* Get campaign-asset binding
|
|
1673
|
+
*/
|
|
1674
|
+
async campaignAssetsGet(requestParameters, initOverrides) {
|
|
1675
|
+
const response = await this.campaignAssetsGetRaw(requestParameters, initOverrides);
|
|
1676
|
+
return await response.value();
|
|
1677
|
+
}
|
|
1678
|
+
/**
|
|
1679
|
+
* List campaign-asset bindings (filter by campaignId/assetId)
|
|
1680
|
+
*/
|
|
1681
|
+
async campaignAssetsListRaw(requestParameters, initOverrides) {
|
|
1682
|
+
const queryParameters = {};
|
|
1683
|
+
if (requestParameters["limit"] != null) {
|
|
1684
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
1685
|
+
}
|
|
1686
|
+
if (requestParameters["cursor"] != null) {
|
|
1687
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
1688
|
+
}
|
|
1689
|
+
if (requestParameters["campaignId"] != null) {
|
|
1690
|
+
queryParameters["campaignId"] = requestParameters["campaignId"];
|
|
1691
|
+
}
|
|
1692
|
+
if (requestParameters["assetId"] != null) {
|
|
1693
|
+
queryParameters["assetId"] = requestParameters["assetId"];
|
|
1694
|
+
}
|
|
1695
|
+
const headerParameters = {};
|
|
1696
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1697
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1698
|
+
}
|
|
1699
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1700
|
+
const token = this.configuration.accessToken;
|
|
1701
|
+
const tokenString = await token("ApiToken", ["assets:read"]);
|
|
1702
|
+
if (tokenString) {
|
|
1703
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1704
|
+
}
|
|
1705
|
+
}
|
|
1706
|
+
const response = await this.request({
|
|
1707
|
+
path: `/api/v1/campaign-assets`,
|
|
1708
|
+
method: "GET",
|
|
1709
|
+
headers: headerParameters,
|
|
1710
|
+
query: queryParameters
|
|
1711
|
+
}, initOverrides);
|
|
1712
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1713
|
+
}
|
|
1714
|
+
/**
|
|
1715
|
+
* List campaign-asset bindings (filter by campaignId/assetId)
|
|
1716
|
+
*/
|
|
1717
|
+
async campaignAssetsList(requestParameters = {}, initOverrides) {
|
|
1718
|
+
const response = await this.campaignAssetsListRaw(requestParameters, initOverrides);
|
|
1719
|
+
return await response.value();
|
|
1720
|
+
}
|
|
1721
|
+
};
|
|
1722
|
+
|
|
1723
|
+
// src/generated/apis/CampaignsApi.ts
|
|
1724
|
+
var CampaignsApi = class extends BaseAPI {
|
|
1725
|
+
/**
|
|
1726
|
+
* Body accepts a Campaign object. The `adSchedule` field (US-ADS-133) follows the CampaignAdScheduleField shape — see components.schemas.
|
|
1727
|
+
* Create campaign
|
|
1728
|
+
*/
|
|
1729
|
+
async campaignsCreateRaw(requestParameters, initOverrides) {
|
|
1730
|
+
if (requestParameters["campaignCreate"] == null) {
|
|
1731
|
+
throw new RequiredError(
|
|
1732
|
+
"campaignCreate",
|
|
1733
|
+
'Required parameter "campaignCreate" was null or undefined when calling campaignsCreate().'
|
|
1734
|
+
);
|
|
1735
|
+
}
|
|
1736
|
+
const queryParameters = {};
|
|
1737
|
+
const headerParameters = {};
|
|
1738
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1739
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1740
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1741
|
+
}
|
|
1742
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1743
|
+
const token = this.configuration.accessToken;
|
|
1744
|
+
const tokenString = await token("ApiToken", ["campaigns:write"]);
|
|
1745
|
+
if (tokenString) {
|
|
1746
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1747
|
+
}
|
|
1748
|
+
}
|
|
1749
|
+
const response = await this.request({
|
|
1750
|
+
path: `/api/v1/campaigns`,
|
|
1751
|
+
method: "POST",
|
|
1752
|
+
headers: headerParameters,
|
|
1753
|
+
query: queryParameters,
|
|
1754
|
+
body: CampaignCreateToJSON(requestParameters["campaignCreate"])
|
|
1755
|
+
}, initOverrides);
|
|
1756
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1757
|
+
}
|
|
1758
|
+
/**
|
|
1759
|
+
* Body accepts a Campaign object. The `adSchedule` field (US-ADS-133) follows the CampaignAdScheduleField shape — see components.schemas.
|
|
1760
|
+
* Create campaign
|
|
1761
|
+
*/
|
|
1762
|
+
async campaignsCreate(requestParameters, initOverrides) {
|
|
1763
|
+
const response = await this.campaignsCreateRaw(requestParameters, initOverrides);
|
|
1764
|
+
return await response.value();
|
|
1765
|
+
}
|
|
1766
|
+
/**
|
|
1767
|
+
* Delete campaign
|
|
1768
|
+
*/
|
|
1769
|
+
async campaignsDeleteRaw(requestParameters, initOverrides) {
|
|
1770
|
+
if (requestParameters["id"] == null) {
|
|
1771
|
+
throw new RequiredError(
|
|
1772
|
+
"id",
|
|
1773
|
+
'Required parameter "id" was null or undefined when calling campaignsDelete().'
|
|
1774
|
+
);
|
|
1775
|
+
}
|
|
1776
|
+
const queryParameters = {};
|
|
1777
|
+
const headerParameters = {};
|
|
1778
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1779
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1780
|
+
}
|
|
1781
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1782
|
+
const token = this.configuration.accessToken;
|
|
1783
|
+
const tokenString = await token("ApiToken", ["campaigns:write"]);
|
|
1784
|
+
if (tokenString) {
|
|
1785
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1786
|
+
}
|
|
1787
|
+
}
|
|
1788
|
+
const response = await this.request({
|
|
1789
|
+
path: `/api/v1/campaigns/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1790
|
+
method: "DELETE",
|
|
1791
|
+
headers: headerParameters,
|
|
1792
|
+
query: queryParameters
|
|
1793
|
+
}, initOverrides);
|
|
1794
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1795
|
+
}
|
|
1796
|
+
/**
|
|
1797
|
+
* Delete campaign
|
|
1798
|
+
*/
|
|
1799
|
+
async campaignsDelete(requestParameters, initOverrides) {
|
|
1800
|
+
const response = await this.campaignsDeleteRaw(requestParameters, initOverrides);
|
|
1801
|
+
return await response.value();
|
|
1802
|
+
}
|
|
1803
|
+
/**
|
|
1804
|
+
* Response carries both `adSchedule` (legacy enum echo when set as such) and `adScheduleStructured` (canonical StructuredSchedule).
|
|
1805
|
+
* Get campaign
|
|
1806
|
+
*/
|
|
1807
|
+
async campaignsGetRaw(requestParameters, initOverrides) {
|
|
1808
|
+
if (requestParameters["id"] == null) {
|
|
1809
|
+
throw new RequiredError(
|
|
1810
|
+
"id",
|
|
1811
|
+
'Required parameter "id" was null or undefined when calling campaignsGet().'
|
|
1812
|
+
);
|
|
1813
|
+
}
|
|
1814
|
+
const queryParameters = {};
|
|
1815
|
+
const headerParameters = {};
|
|
1816
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1817
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1818
|
+
}
|
|
1819
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1820
|
+
const token = this.configuration.accessToken;
|
|
1821
|
+
const tokenString = await token("ApiToken", ["campaigns:read"]);
|
|
1822
|
+
if (tokenString) {
|
|
1823
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1824
|
+
}
|
|
1825
|
+
}
|
|
1826
|
+
const response = await this.request({
|
|
1827
|
+
path: `/api/v1/campaigns/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1828
|
+
method: "GET",
|
|
1829
|
+
headers: headerParameters,
|
|
1830
|
+
query: queryParameters
|
|
1831
|
+
}, initOverrides);
|
|
1832
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1833
|
+
}
|
|
1834
|
+
/**
|
|
1835
|
+
* Response carries both `adSchedule` (legacy enum echo when set as such) and `adScheduleStructured` (canonical StructuredSchedule).
|
|
1836
|
+
* Get campaign
|
|
1837
|
+
*/
|
|
1838
|
+
async campaignsGet(requestParameters, initOverrides) {
|
|
1839
|
+
const response = await this.campaignsGetRaw(requestParameters, initOverrides);
|
|
1840
|
+
return await response.value();
|
|
1841
|
+
}
|
|
1842
|
+
/**
|
|
1843
|
+
* List campaigns
|
|
1844
|
+
*/
|
|
1845
|
+
async campaignsListRaw(requestParameters, initOverrides) {
|
|
1846
|
+
const queryParameters = {};
|
|
1847
|
+
if (requestParameters["limit"] != null) {
|
|
1848
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
1849
|
+
}
|
|
1850
|
+
if (requestParameters["cursor"] != null) {
|
|
1851
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
1852
|
+
}
|
|
1853
|
+
const headerParameters = {};
|
|
1854
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1855
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1856
|
+
}
|
|
1857
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1858
|
+
const token = this.configuration.accessToken;
|
|
1859
|
+
const tokenString = await token("ApiToken", ["campaigns:read"]);
|
|
1860
|
+
if (tokenString) {
|
|
1861
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1862
|
+
}
|
|
1863
|
+
}
|
|
1864
|
+
const response = await this.request({
|
|
1865
|
+
path: `/api/v1/campaigns`,
|
|
1866
|
+
method: "GET",
|
|
1867
|
+
headers: headerParameters,
|
|
1868
|
+
query: queryParameters
|
|
1869
|
+
}, initOverrides);
|
|
1870
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1871
|
+
}
|
|
1872
|
+
/**
|
|
1873
|
+
* List campaigns
|
|
1874
|
+
*/
|
|
1875
|
+
async campaignsList(requestParameters = {}, initOverrides) {
|
|
1876
|
+
const response = await this.campaignsListRaw(requestParameters, initOverrides);
|
|
1877
|
+
return await response.value();
|
|
1878
|
+
}
|
|
1879
|
+
/**
|
|
1880
|
+
* Body fields are merged into the existing campaign. `adSchedule` can be the legacy enum or a StructuredSchedule; the canonical form is recomputed each write.
|
|
1881
|
+
* Update campaign
|
|
1882
|
+
*/
|
|
1883
|
+
async campaignsUpdateRaw(requestParameters, initOverrides) {
|
|
1884
|
+
if (requestParameters["id"] == null) {
|
|
1885
|
+
throw new RequiredError(
|
|
1886
|
+
"id",
|
|
1887
|
+
'Required parameter "id" was null or undefined when calling campaignsUpdate().'
|
|
1888
|
+
);
|
|
1889
|
+
}
|
|
1890
|
+
if (requestParameters["campaignUpdate"] == null) {
|
|
1891
|
+
throw new RequiredError(
|
|
1892
|
+
"campaignUpdate",
|
|
1893
|
+
'Required parameter "campaignUpdate" was null or undefined when calling campaignsUpdate().'
|
|
1894
|
+
);
|
|
1895
|
+
}
|
|
1896
|
+
const queryParameters = {};
|
|
1897
|
+
const headerParameters = {};
|
|
1898
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1899
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1900
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1901
|
+
}
|
|
1902
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1903
|
+
const token = this.configuration.accessToken;
|
|
1904
|
+
const tokenString = await token("ApiToken", ["campaigns:write"]);
|
|
1905
|
+
if (tokenString) {
|
|
1906
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1907
|
+
}
|
|
1908
|
+
}
|
|
1909
|
+
const response = await this.request({
|
|
1910
|
+
path: `/api/v1/campaigns/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1911
|
+
method: "PUT",
|
|
1912
|
+
headers: headerParameters,
|
|
1913
|
+
query: queryParameters,
|
|
1914
|
+
body: CampaignUpdateToJSON(requestParameters["campaignUpdate"])
|
|
1915
|
+
}, initOverrides);
|
|
1916
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1917
|
+
}
|
|
1918
|
+
/**
|
|
1919
|
+
* Body fields are merged into the existing campaign. `adSchedule` can be the legacy enum or a StructuredSchedule; the canonical form is recomputed each write.
|
|
1920
|
+
* Update campaign
|
|
1921
|
+
*/
|
|
1922
|
+
async campaignsUpdate(requestParameters, initOverrides) {
|
|
1923
|
+
const response = await this.campaignsUpdateRaw(requestParameters, initOverrides);
|
|
1924
|
+
return await response.value();
|
|
1925
|
+
}
|
|
1926
|
+
};
|
|
1927
|
+
|
|
1928
|
+
// src/generated/apis/KeywordsApi.ts
|
|
1929
|
+
var KeywordsApi = class extends BaseAPI {
|
|
1930
|
+
/**
|
|
1931
|
+
* Create keyword
|
|
1932
|
+
*/
|
|
1933
|
+
async keywordsCreateRaw(requestParameters, initOverrides) {
|
|
1934
|
+
if (requestParameters["keywordCreate"] == null) {
|
|
1935
|
+
throw new RequiredError(
|
|
1936
|
+
"keywordCreate",
|
|
1937
|
+
'Required parameter "keywordCreate" was null or undefined when calling keywordsCreate().'
|
|
1938
|
+
);
|
|
1939
|
+
}
|
|
1940
|
+
const queryParameters = {};
|
|
1941
|
+
const headerParameters = {};
|
|
1942
|
+
headerParameters["Content-Type"] = "application/json";
|
|
1943
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1944
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1945
|
+
}
|
|
1946
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1947
|
+
const token = this.configuration.accessToken;
|
|
1948
|
+
const tokenString = await token("ApiToken", ["keywords:write"]);
|
|
1949
|
+
if (tokenString) {
|
|
1950
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1951
|
+
}
|
|
1952
|
+
}
|
|
1953
|
+
const response = await this.request({
|
|
1954
|
+
path: `/api/v1/keywords`,
|
|
1955
|
+
method: "POST",
|
|
1956
|
+
headers: headerParameters,
|
|
1957
|
+
query: queryParameters,
|
|
1958
|
+
body: KeywordCreateToJSON(requestParameters["keywordCreate"])
|
|
1959
|
+
}, initOverrides);
|
|
1960
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1961
|
+
}
|
|
1962
|
+
/**
|
|
1963
|
+
* Create keyword
|
|
1964
|
+
*/
|
|
1965
|
+
async keywordsCreate(requestParameters, initOverrides) {
|
|
1966
|
+
const response = await this.keywordsCreateRaw(requestParameters, initOverrides);
|
|
1967
|
+
return await response.value();
|
|
1968
|
+
}
|
|
1969
|
+
/**
|
|
1970
|
+
* Delete keyword
|
|
1971
|
+
*/
|
|
1972
|
+
async keywordsDeleteRaw(requestParameters, initOverrides) {
|
|
1973
|
+
if (requestParameters["id"] == null) {
|
|
1974
|
+
throw new RequiredError(
|
|
1975
|
+
"id",
|
|
1976
|
+
'Required parameter "id" was null or undefined when calling keywordsDelete().'
|
|
1977
|
+
);
|
|
1978
|
+
}
|
|
1979
|
+
const queryParameters = {};
|
|
1980
|
+
const headerParameters = {};
|
|
1981
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
1982
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
1983
|
+
}
|
|
1984
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
1985
|
+
const token = this.configuration.accessToken;
|
|
1986
|
+
const tokenString = await token("ApiToken", ["keywords:write"]);
|
|
1987
|
+
if (tokenString) {
|
|
1988
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
1989
|
+
}
|
|
1990
|
+
}
|
|
1991
|
+
const response = await this.request({
|
|
1992
|
+
path: `/api/v1/keywords/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
1993
|
+
method: "DELETE",
|
|
1994
|
+
headers: headerParameters,
|
|
1995
|
+
query: queryParameters
|
|
1996
|
+
}, initOverrides);
|
|
1997
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
1998
|
+
}
|
|
1999
|
+
/**
|
|
2000
|
+
* Delete keyword
|
|
2001
|
+
*/
|
|
2002
|
+
async keywordsDelete(requestParameters, initOverrides) {
|
|
2003
|
+
const response = await this.keywordsDeleteRaw(requestParameters, initOverrides);
|
|
2004
|
+
return await response.value();
|
|
2005
|
+
}
|
|
2006
|
+
/**
|
|
2007
|
+
* Get keyword
|
|
2008
|
+
*/
|
|
2009
|
+
async keywordsGetRaw(requestParameters, initOverrides) {
|
|
2010
|
+
if (requestParameters["id"] == null) {
|
|
2011
|
+
throw new RequiredError(
|
|
2012
|
+
"id",
|
|
2013
|
+
'Required parameter "id" was null or undefined when calling keywordsGet().'
|
|
2014
|
+
);
|
|
2015
|
+
}
|
|
2016
|
+
const queryParameters = {};
|
|
2017
|
+
const headerParameters = {};
|
|
2018
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2019
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2020
|
+
}
|
|
2021
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2022
|
+
const token = this.configuration.accessToken;
|
|
2023
|
+
const tokenString = await token("ApiToken", ["keywords:read"]);
|
|
2024
|
+
if (tokenString) {
|
|
2025
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2026
|
+
}
|
|
2027
|
+
}
|
|
2028
|
+
const response = await this.request({
|
|
2029
|
+
path: `/api/v1/keywords/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
2030
|
+
method: "GET",
|
|
2031
|
+
headers: headerParameters,
|
|
2032
|
+
query: queryParameters
|
|
2033
|
+
}, initOverrides);
|
|
2034
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2035
|
+
}
|
|
2036
|
+
/**
|
|
2037
|
+
* Get keyword
|
|
2038
|
+
*/
|
|
2039
|
+
async keywordsGet(requestParameters, initOverrides) {
|
|
2040
|
+
const response = await this.keywordsGetRaw(requestParameters, initOverrides);
|
|
2041
|
+
return await response.value();
|
|
2042
|
+
}
|
|
2043
|
+
/**
|
|
2044
|
+
* List keywords
|
|
2045
|
+
*/
|
|
2046
|
+
async keywordsListRaw(requestParameters, initOverrides) {
|
|
2047
|
+
const queryParameters = {};
|
|
2048
|
+
if (requestParameters["limit"] != null) {
|
|
2049
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
2050
|
+
}
|
|
2051
|
+
if (requestParameters["cursor"] != null) {
|
|
2052
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
2053
|
+
}
|
|
2054
|
+
const headerParameters = {};
|
|
2055
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2056
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2057
|
+
}
|
|
2058
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2059
|
+
const token = this.configuration.accessToken;
|
|
2060
|
+
const tokenString = await token("ApiToken", ["keywords:read"]);
|
|
2061
|
+
if (tokenString) {
|
|
2062
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2063
|
+
}
|
|
2064
|
+
}
|
|
2065
|
+
const response = await this.request({
|
|
2066
|
+
path: `/api/v1/keywords`,
|
|
2067
|
+
method: "GET",
|
|
2068
|
+
headers: headerParameters,
|
|
2069
|
+
query: queryParameters
|
|
2070
|
+
}, initOverrides);
|
|
2071
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2072
|
+
}
|
|
2073
|
+
/**
|
|
2074
|
+
* List keywords
|
|
2075
|
+
*/
|
|
2076
|
+
async keywordsList(requestParameters = {}, initOverrides) {
|
|
2077
|
+
const response = await this.keywordsListRaw(requestParameters, initOverrides);
|
|
2078
|
+
return await response.value();
|
|
2079
|
+
}
|
|
2080
|
+
/**
|
|
2081
|
+
* Update keyword
|
|
2082
|
+
*/
|
|
2083
|
+
async keywordsUpdateRaw(requestParameters, initOverrides) {
|
|
2084
|
+
if (requestParameters["id"] == null) {
|
|
2085
|
+
throw new RequiredError(
|
|
2086
|
+
"id",
|
|
2087
|
+
'Required parameter "id" was null or undefined when calling keywordsUpdate().'
|
|
2088
|
+
);
|
|
2089
|
+
}
|
|
2090
|
+
if (requestParameters["keywordUpdate"] == null) {
|
|
2091
|
+
throw new RequiredError(
|
|
2092
|
+
"keywordUpdate",
|
|
2093
|
+
'Required parameter "keywordUpdate" was null or undefined when calling keywordsUpdate().'
|
|
2094
|
+
);
|
|
2095
|
+
}
|
|
2096
|
+
const queryParameters = {};
|
|
2097
|
+
const headerParameters = {};
|
|
2098
|
+
headerParameters["Content-Type"] = "application/json";
|
|
2099
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2100
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2101
|
+
}
|
|
2102
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2103
|
+
const token = this.configuration.accessToken;
|
|
2104
|
+
const tokenString = await token("ApiToken", ["keywords:write"]);
|
|
2105
|
+
if (tokenString) {
|
|
2106
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2107
|
+
}
|
|
2108
|
+
}
|
|
2109
|
+
const response = await this.request({
|
|
2110
|
+
path: `/api/v1/keywords/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
2111
|
+
method: "PUT",
|
|
2112
|
+
headers: headerParameters,
|
|
2113
|
+
query: queryParameters,
|
|
2114
|
+
body: KeywordUpdateToJSON(requestParameters["keywordUpdate"])
|
|
2115
|
+
}, initOverrides);
|
|
2116
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2117
|
+
}
|
|
2118
|
+
/**
|
|
2119
|
+
* Update keyword
|
|
2120
|
+
*/
|
|
2121
|
+
async keywordsUpdate(requestParameters, initOverrides) {
|
|
2122
|
+
const response = await this.keywordsUpdateRaw(requestParameters, initOverrides);
|
|
2123
|
+
return await response.value();
|
|
2124
|
+
}
|
|
2125
|
+
};
|
|
2126
|
+
|
|
2127
|
+
// src/generated/apis/MediaApi.ts
|
|
2128
|
+
var MediaApi = class extends BaseAPI {
|
|
2129
|
+
/**
|
|
2130
|
+
* Media requirements matrix (per platform/campaign type: required & optional roles, scope, ad format). Versioned so consumers can detect drift.
|
|
2131
|
+
*/
|
|
2132
|
+
async mediaMatrixRaw(requestParameters, initOverrides) {
|
|
2133
|
+
const queryParameters = {};
|
|
2134
|
+
const headerParameters = {};
|
|
2135
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2136
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2137
|
+
}
|
|
2138
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2139
|
+
const token = this.configuration.accessToken;
|
|
2140
|
+
const tokenString = await token("ApiToken", []);
|
|
2141
|
+
if (tokenString) {
|
|
2142
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2143
|
+
}
|
|
2144
|
+
}
|
|
2145
|
+
const response = await this.request({
|
|
2146
|
+
path: `/api/v1/media/matrix`,
|
|
2147
|
+
method: "GET",
|
|
2148
|
+
headers: headerParameters,
|
|
2149
|
+
query: queryParameters
|
|
2150
|
+
}, initOverrides);
|
|
2151
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2152
|
+
}
|
|
2153
|
+
/**
|
|
2154
|
+
* Media requirements matrix (per platform/campaign type: required & optional roles, scope, ad format). Versioned so consumers can detect drift.
|
|
2155
|
+
*/
|
|
2156
|
+
async mediaMatrix(requestParameters = {}, initOverrides) {
|
|
2157
|
+
const response = await this.mediaMatrixRaw(requestParameters, initOverrides);
|
|
2158
|
+
return await response.value();
|
|
2159
|
+
}
|
|
2160
|
+
};
|
|
2161
|
+
|
|
2162
|
+
// src/generated/apis/MetaApi.ts
|
|
2163
|
+
var MetaApi = class extends BaseAPI {
|
|
2164
|
+
/**
|
|
2165
|
+
* Introspect the authenticated API token
|
|
2166
|
+
*/
|
|
2167
|
+
async meGetRaw(initOverrides) {
|
|
2168
|
+
const queryParameters = {};
|
|
2169
|
+
const headerParameters = {};
|
|
2170
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2171
|
+
const token = this.configuration.accessToken;
|
|
2172
|
+
const tokenString = await token("ApiToken", []);
|
|
2173
|
+
if (tokenString) {
|
|
2174
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
const response = await this.request({
|
|
2178
|
+
path: `/api/v1/me`,
|
|
2179
|
+
method: "GET",
|
|
2180
|
+
headers: headerParameters,
|
|
2181
|
+
query: queryParameters
|
|
2182
|
+
}, initOverrides);
|
|
2183
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2184
|
+
}
|
|
2185
|
+
/**
|
|
2186
|
+
* Introspect the authenticated API token
|
|
2187
|
+
*/
|
|
2188
|
+
async meGet(initOverrides) {
|
|
2189
|
+
const response = await this.meGetRaw(initOverrides);
|
|
2190
|
+
return await response.value();
|
|
2191
|
+
}
|
|
2192
|
+
/**
|
|
2193
|
+
* OpenAPI specification for this API
|
|
2194
|
+
*/
|
|
2195
|
+
async openapiGetRaw(initOverrides) {
|
|
2196
|
+
const queryParameters = {};
|
|
2197
|
+
const headerParameters = {};
|
|
2198
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2199
|
+
const token = this.configuration.accessToken;
|
|
2200
|
+
const tokenString = await token("ApiToken", []);
|
|
2201
|
+
if (tokenString) {
|
|
2202
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2203
|
+
}
|
|
2204
|
+
}
|
|
2205
|
+
const response = await this.request({
|
|
2206
|
+
path: `/api/v1/openapi.json`,
|
|
2207
|
+
method: "GET",
|
|
2208
|
+
headers: headerParameters,
|
|
2209
|
+
query: queryParameters
|
|
2210
|
+
}, initOverrides);
|
|
2211
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2212
|
+
}
|
|
2213
|
+
/**
|
|
2214
|
+
* OpenAPI specification for this API
|
|
2215
|
+
*/
|
|
2216
|
+
async openapiGet(initOverrides) {
|
|
2217
|
+
const response = await this.openapiGetRaw(initOverrides);
|
|
2218
|
+
return await response.value();
|
|
2219
|
+
}
|
|
2220
|
+
/**
|
|
2221
|
+
* List Spaces the token owner is a member of
|
|
2222
|
+
*/
|
|
2223
|
+
async spacesListRaw(initOverrides) {
|
|
2224
|
+
const queryParameters = {};
|
|
2225
|
+
const headerParameters = {};
|
|
2226
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2227
|
+
const token = this.configuration.accessToken;
|
|
2228
|
+
const tokenString = await token("ApiToken", []);
|
|
2229
|
+
if (tokenString) {
|
|
2230
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2231
|
+
}
|
|
2232
|
+
}
|
|
2233
|
+
const response = await this.request({
|
|
2234
|
+
path: `/api/v1/spaces`,
|
|
2235
|
+
method: "GET",
|
|
2236
|
+
headers: headerParameters,
|
|
2237
|
+
query: queryParameters
|
|
2238
|
+
}, initOverrides);
|
|
2239
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2240
|
+
}
|
|
2241
|
+
/**
|
|
2242
|
+
* List Spaces the token owner is a member of
|
|
2243
|
+
*/
|
|
2244
|
+
async spacesList(initOverrides) {
|
|
2245
|
+
const response = await this.spacesListRaw(initOverrides);
|
|
2246
|
+
return await response.value();
|
|
2247
|
+
}
|
|
2248
|
+
};
|
|
2249
|
+
|
|
2250
|
+
// src/generated/apis/ReportsApi.ts
|
|
2251
|
+
var ReportsApi = class extends BaseAPI {
|
|
2252
|
+
/**
|
|
2253
|
+
* Account-wide stats
|
|
2254
|
+
*/
|
|
2255
|
+
async reportsStatsRaw(requestParameters, initOverrides) {
|
|
2256
|
+
const queryParameters = {};
|
|
2257
|
+
const headerParameters = {};
|
|
2258
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2259
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2260
|
+
}
|
|
2261
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2262
|
+
const token = this.configuration.accessToken;
|
|
2263
|
+
const tokenString = await token("ApiToken", ["reports:read"]);
|
|
2264
|
+
if (tokenString) {
|
|
2265
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2266
|
+
}
|
|
2267
|
+
}
|
|
2268
|
+
const response = await this.request({
|
|
2269
|
+
path: `/api/v1/reports/stats`,
|
|
2270
|
+
method: "GET",
|
|
2271
|
+
headers: headerParameters,
|
|
2272
|
+
query: queryParameters
|
|
2273
|
+
}, initOverrides);
|
|
2274
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2275
|
+
}
|
|
2276
|
+
/**
|
|
2277
|
+
* Account-wide stats
|
|
2278
|
+
*/
|
|
2279
|
+
async reportsStats(requestParameters = {}, initOverrides) {
|
|
2280
|
+
const response = await this.reportsStatsRaw(requestParameters, initOverrides);
|
|
2281
|
+
return await response.value();
|
|
2282
|
+
}
|
|
2283
|
+
};
|
|
2284
|
+
|
|
2285
|
+
// src/generated/apis/SitesApi.ts
|
|
2286
|
+
var SitesApi = class extends BaseAPI {
|
|
2287
|
+
/**
|
|
2288
|
+
* Create site
|
|
2289
|
+
*/
|
|
2290
|
+
async sitesCreateRaw(requestParameters, initOverrides) {
|
|
2291
|
+
if (requestParameters["siteCreate"] == null) {
|
|
2292
|
+
throw new RequiredError(
|
|
2293
|
+
"siteCreate",
|
|
2294
|
+
'Required parameter "siteCreate" was null or undefined when calling sitesCreate().'
|
|
2295
|
+
);
|
|
2296
|
+
}
|
|
2297
|
+
const queryParameters = {};
|
|
2298
|
+
const headerParameters = {};
|
|
2299
|
+
headerParameters["Content-Type"] = "application/json";
|
|
2300
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2301
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2302
|
+
}
|
|
2303
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2304
|
+
const token = this.configuration.accessToken;
|
|
2305
|
+
const tokenString = await token("ApiToken", ["sites:write"]);
|
|
2306
|
+
if (tokenString) {
|
|
2307
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
const response = await this.request({
|
|
2311
|
+
path: `/api/v1/sites`,
|
|
2312
|
+
method: "POST",
|
|
2313
|
+
headers: headerParameters,
|
|
2314
|
+
query: queryParameters,
|
|
2315
|
+
body: SiteCreateToJSON(requestParameters["siteCreate"])
|
|
2316
|
+
}, initOverrides);
|
|
2317
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2318
|
+
}
|
|
2319
|
+
/**
|
|
2320
|
+
* Create site
|
|
2321
|
+
*/
|
|
2322
|
+
async sitesCreate(requestParameters, initOverrides) {
|
|
2323
|
+
const response = await this.sitesCreateRaw(requestParameters, initOverrides);
|
|
2324
|
+
return await response.value();
|
|
2325
|
+
}
|
|
2326
|
+
/**
|
|
2327
|
+
* Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
|
|
2328
|
+
* Delete site
|
|
2329
|
+
*/
|
|
2330
|
+
async sitesDeleteRaw(requestParameters, initOverrides) {
|
|
2331
|
+
if (requestParameters["id"] == null) {
|
|
2332
|
+
throw new RequiredError(
|
|
2333
|
+
"id",
|
|
2334
|
+
'Required parameter "id" was null or undefined when calling sitesDelete().'
|
|
2335
|
+
);
|
|
2336
|
+
}
|
|
2337
|
+
const queryParameters = {};
|
|
2338
|
+
const headerParameters = {};
|
|
2339
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2340
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2341
|
+
}
|
|
2342
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2343
|
+
const token = this.configuration.accessToken;
|
|
2344
|
+
const tokenString = await token("ApiToken", ["sites:write"]);
|
|
2345
|
+
if (tokenString) {
|
|
2346
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2347
|
+
}
|
|
2348
|
+
}
|
|
2349
|
+
const response = await this.request({
|
|
2350
|
+
path: `/api/v1/sites/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
2351
|
+
method: "DELETE",
|
|
2352
|
+
headers: headerParameters,
|
|
2353
|
+
query: queryParameters
|
|
2354
|
+
}, initOverrides);
|
|
2355
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2356
|
+
}
|
|
2357
|
+
/**
|
|
2358
|
+
* Returns 409 CONFLICT with `details: { campaigns }` when one or more campaigns still reference the site. Delete or reassign those campaigns first; no cascade is offered.
|
|
2359
|
+
* Delete site
|
|
2360
|
+
*/
|
|
2361
|
+
async sitesDelete(requestParameters, initOverrides) {
|
|
2362
|
+
const response = await this.sitesDeleteRaw(requestParameters, initOverrides);
|
|
2363
|
+
return await response.value();
|
|
2364
|
+
}
|
|
2365
|
+
/**
|
|
2366
|
+
* Get site
|
|
2367
|
+
*/
|
|
2368
|
+
async sitesGetRaw(requestParameters, initOverrides) {
|
|
2369
|
+
if (requestParameters["id"] == null) {
|
|
2370
|
+
throw new RequiredError(
|
|
2371
|
+
"id",
|
|
2372
|
+
'Required parameter "id" was null or undefined when calling sitesGet().'
|
|
2373
|
+
);
|
|
2374
|
+
}
|
|
2375
|
+
const queryParameters = {};
|
|
2376
|
+
const headerParameters = {};
|
|
2377
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2378
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2379
|
+
}
|
|
2380
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2381
|
+
const token = this.configuration.accessToken;
|
|
2382
|
+
const tokenString = await token("ApiToken", ["sites:read"]);
|
|
2383
|
+
if (tokenString) {
|
|
2384
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2385
|
+
}
|
|
2386
|
+
}
|
|
2387
|
+
const response = await this.request({
|
|
2388
|
+
path: `/api/v1/sites/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
2389
|
+
method: "GET",
|
|
2390
|
+
headers: headerParameters,
|
|
2391
|
+
query: queryParameters
|
|
2392
|
+
}, initOverrides);
|
|
2393
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2394
|
+
}
|
|
2395
|
+
/**
|
|
2396
|
+
* Get site
|
|
2397
|
+
*/
|
|
2398
|
+
async sitesGet(requestParameters, initOverrides) {
|
|
2399
|
+
const response = await this.sitesGetRaw(requestParameters, initOverrides);
|
|
2400
|
+
return await response.value();
|
|
2401
|
+
}
|
|
2402
|
+
/**
|
|
2403
|
+
* List sites
|
|
2404
|
+
*/
|
|
2405
|
+
async sitesListRaw(requestParameters, initOverrides) {
|
|
2406
|
+
const queryParameters = {};
|
|
2407
|
+
if (requestParameters["limit"] != null) {
|
|
2408
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
2409
|
+
}
|
|
2410
|
+
if (requestParameters["cursor"] != null) {
|
|
2411
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
2412
|
+
}
|
|
2413
|
+
const headerParameters = {};
|
|
2414
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2415
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2416
|
+
}
|
|
2417
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2418
|
+
const token = this.configuration.accessToken;
|
|
2419
|
+
const tokenString = await token("ApiToken", ["sites:read"]);
|
|
2420
|
+
if (tokenString) {
|
|
2421
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2422
|
+
}
|
|
2423
|
+
}
|
|
2424
|
+
const response = await this.request({
|
|
2425
|
+
path: `/api/v1/sites`,
|
|
2426
|
+
method: "GET",
|
|
2427
|
+
headers: headerParameters,
|
|
2428
|
+
query: queryParameters
|
|
2429
|
+
}, initOverrides);
|
|
2430
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2431
|
+
}
|
|
2432
|
+
/**
|
|
2433
|
+
* List sites
|
|
2434
|
+
*/
|
|
2435
|
+
async sitesList(requestParameters = {}, initOverrides) {
|
|
2436
|
+
const response = await this.sitesListRaw(requestParameters, initOverrides);
|
|
2437
|
+
return await response.value();
|
|
2438
|
+
}
|
|
2439
|
+
/**
|
|
2440
|
+
* Update site
|
|
2441
|
+
*/
|
|
2442
|
+
async sitesUpdateRaw(requestParameters, initOverrides) {
|
|
2443
|
+
if (requestParameters["id"] == null) {
|
|
2444
|
+
throw new RequiredError(
|
|
2445
|
+
"id",
|
|
2446
|
+
'Required parameter "id" was null or undefined when calling sitesUpdate().'
|
|
2447
|
+
);
|
|
2448
|
+
}
|
|
2449
|
+
if (requestParameters["siteUpdate"] == null) {
|
|
2450
|
+
throw new RequiredError(
|
|
2451
|
+
"siteUpdate",
|
|
2452
|
+
'Required parameter "siteUpdate" was null or undefined when calling sitesUpdate().'
|
|
2453
|
+
);
|
|
2454
|
+
}
|
|
2455
|
+
const queryParameters = {};
|
|
2456
|
+
const headerParameters = {};
|
|
2457
|
+
headerParameters["Content-Type"] = "application/json";
|
|
2458
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2459
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2460
|
+
}
|
|
2461
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2462
|
+
const token = this.configuration.accessToken;
|
|
2463
|
+
const tokenString = await token("ApiToken", ["sites:write"]);
|
|
2464
|
+
if (tokenString) {
|
|
2465
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2466
|
+
}
|
|
2467
|
+
}
|
|
2468
|
+
const response = await this.request({
|
|
2469
|
+
path: `/api/v1/sites/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
2470
|
+
method: "PUT",
|
|
2471
|
+
headers: headerParameters,
|
|
2472
|
+
query: queryParameters,
|
|
2473
|
+
body: SiteUpdateToJSON(requestParameters["siteUpdate"])
|
|
2474
|
+
}, initOverrides);
|
|
2475
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2476
|
+
}
|
|
2477
|
+
/**
|
|
2478
|
+
* Update site
|
|
2479
|
+
*/
|
|
2480
|
+
async sitesUpdate(requestParameters, initOverrides) {
|
|
2481
|
+
const response = await this.sitesUpdateRaw(requestParameters, initOverrides);
|
|
2482
|
+
return await response.value();
|
|
2483
|
+
}
|
|
2484
|
+
};
|
|
2485
|
+
|
|
2486
|
+
// src/generated/apis/SyncApi.ts
|
|
2487
|
+
var SyncApi = class extends BaseAPI {
|
|
2488
|
+
/**
|
|
2489
|
+
* Cancellation takes effect at the next campaign boundary.
|
|
2490
|
+
* Request cancellation of a running sync
|
|
2491
|
+
*/
|
|
2492
|
+
async syncCancelRaw(requestParameters, initOverrides) {
|
|
2493
|
+
if (requestParameters["id"] == null) {
|
|
2494
|
+
throw new RequiredError(
|
|
2495
|
+
"id",
|
|
2496
|
+
'Required parameter "id" was null or undefined when calling syncCancel().'
|
|
2497
|
+
);
|
|
2498
|
+
}
|
|
2499
|
+
const queryParameters = {};
|
|
2500
|
+
const headerParameters = {};
|
|
2501
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2502
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2503
|
+
}
|
|
2504
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2505
|
+
const token = this.configuration.accessToken;
|
|
2506
|
+
const tokenString = await token("ApiToken", ["sync:write"]);
|
|
2507
|
+
if (tokenString) {
|
|
2508
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
const response = await this.request({
|
|
2512
|
+
path: `/api/v1/sync/{id}/cancel`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
2513
|
+
method: "POST",
|
|
2514
|
+
headers: headerParameters,
|
|
2515
|
+
query: queryParameters
|
|
2516
|
+
}, initOverrides);
|
|
2517
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2518
|
+
}
|
|
2519
|
+
/**
|
|
2520
|
+
* Cancellation takes effect at the next campaign boundary.
|
|
2521
|
+
* Request cancellation of a running sync
|
|
2522
|
+
*/
|
|
2523
|
+
async syncCancel(requestParameters, initOverrides) {
|
|
2524
|
+
const response = await this.syncCancelRaw(requestParameters, initOverrides);
|
|
2525
|
+
return await response.value();
|
|
2526
|
+
}
|
|
2527
|
+
/**
|
|
2528
|
+
* Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
|
|
2529
|
+
* Get a sync record (status, progress, totals, errors)
|
|
2530
|
+
*/
|
|
2531
|
+
async syncGetRaw(requestParameters, initOverrides) {
|
|
2532
|
+
if (requestParameters["id"] == null) {
|
|
2533
|
+
throw new RequiredError(
|
|
2534
|
+
"id",
|
|
2535
|
+
'Required parameter "id" was null or undefined when calling syncGet().'
|
|
2536
|
+
);
|
|
2537
|
+
}
|
|
2538
|
+
const queryParameters = {};
|
|
2539
|
+
const headerParameters = {};
|
|
2540
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2541
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2542
|
+
}
|
|
2543
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2544
|
+
const token = this.configuration.accessToken;
|
|
2545
|
+
const tokenString = await token("ApiToken", ["sync:read"]);
|
|
2546
|
+
if (tokenString) {
|
|
2547
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2548
|
+
}
|
|
2549
|
+
}
|
|
2550
|
+
const response = await this.request({
|
|
2551
|
+
path: `/api/v1/sync/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters["id"]))),
|
|
2552
|
+
method: "GET",
|
|
2553
|
+
headers: headerParameters,
|
|
2554
|
+
query: queryParameters
|
|
2555
|
+
}, initOverrides);
|
|
2556
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2557
|
+
}
|
|
2558
|
+
/**
|
|
2559
|
+
* Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
|
|
2560
|
+
* Get a sync record (status, progress, totals, errors)
|
|
2561
|
+
*/
|
|
2562
|
+
async syncGet(requestParameters, initOverrides) {
|
|
2563
|
+
const response = await this.syncGetRaw(requestParameters, initOverrides);
|
|
2564
|
+
return await response.value();
|
|
2565
|
+
}
|
|
2566
|
+
/**
|
|
2567
|
+
* List recent syncs for the active Space
|
|
2568
|
+
*/
|
|
2569
|
+
async syncListRaw(requestParameters, initOverrides) {
|
|
2570
|
+
const queryParameters = {};
|
|
2571
|
+
if (requestParameters["limit"] != null) {
|
|
2572
|
+
queryParameters["limit"] = requestParameters["limit"];
|
|
2573
|
+
}
|
|
2574
|
+
if (requestParameters["cursor"] != null) {
|
|
2575
|
+
queryParameters["cursor"] = requestParameters["cursor"];
|
|
2576
|
+
}
|
|
2577
|
+
const headerParameters = {};
|
|
2578
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2579
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2580
|
+
}
|
|
2581
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2582
|
+
const token = this.configuration.accessToken;
|
|
2583
|
+
const tokenString = await token("ApiToken", ["sync:read"]);
|
|
2584
|
+
if (tokenString) {
|
|
2585
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2586
|
+
}
|
|
2587
|
+
}
|
|
2588
|
+
const response = await this.request({
|
|
2589
|
+
path: `/api/v1/sync`,
|
|
2590
|
+
method: "GET",
|
|
2591
|
+
headers: headerParameters,
|
|
2592
|
+
query: queryParameters
|
|
2593
|
+
}, initOverrides);
|
|
2594
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2595
|
+
}
|
|
2596
|
+
/**
|
|
2597
|
+
* List recent syncs for the active Space
|
|
2598
|
+
*/
|
|
2599
|
+
async syncList(requestParameters = {}, initOverrides) {
|
|
2600
|
+
const response = await this.syncListRaw(requestParameters, initOverrides);
|
|
2601
|
+
return await response.value();
|
|
2602
|
+
}
|
|
2603
|
+
/**
|
|
2604
|
+
* Computes the import/export/remove plan for the active Space without executing.
|
|
2605
|
+
* Preview what a sync would do (dry run)
|
|
2606
|
+
*/
|
|
2607
|
+
async syncPlanRaw(requestParameters, initOverrides) {
|
|
2608
|
+
const queryParameters = {};
|
|
2609
|
+
if (requestParameters["platforms"] != null) {
|
|
2610
|
+
queryParameters["platforms"] = requestParameters["platforms"];
|
|
2611
|
+
}
|
|
2612
|
+
const headerParameters = {};
|
|
2613
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2614
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2615
|
+
}
|
|
2616
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2617
|
+
const token = this.configuration.accessToken;
|
|
2618
|
+
const tokenString = await token("ApiToken", ["sync:read"]);
|
|
2619
|
+
if (tokenString) {
|
|
2620
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2621
|
+
}
|
|
2622
|
+
}
|
|
2623
|
+
const response = await this.request({
|
|
2624
|
+
path: `/api/v1/sync/plan`,
|
|
2625
|
+
method: "GET",
|
|
2626
|
+
headers: headerParameters,
|
|
2627
|
+
query: queryParameters
|
|
2628
|
+
}, initOverrides);
|
|
2629
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2630
|
+
}
|
|
2631
|
+
/**
|
|
2632
|
+
* Computes the import/export/remove plan for the active Space without executing.
|
|
2633
|
+
* Preview what a sync would do (dry run)
|
|
2634
|
+
*/
|
|
2635
|
+
async syncPlan(requestParameters = {}, initOverrides) {
|
|
2636
|
+
const response = await this.syncPlanRaw(requestParameters, initOverrides);
|
|
2637
|
+
return await response.value();
|
|
2638
|
+
}
|
|
2639
|
+
/**
|
|
2640
|
+
* Pushes the active Space\'s campaign tree to the connected ad platforms (and imports remote changes). Asynchronous: returns a `syncId` immediately with status `started` (or `nothing_to_sync`). Poll `GET /api/v1/sync/{id}` for progress and errors. Returns 409 CONFLICT (details: { activeSyncId, startedAt }) if a sync is already running in this Space. The platform connection used is account-wide; the campaigns synced are the active Space\'s.
|
|
2641
|
+
* Trigger a sync for the active Space
|
|
2642
|
+
*/
|
|
2643
|
+
async syncTriggerRaw(requestParameters, initOverrides) {
|
|
2644
|
+
if (requestParameters["syncTriggerRequest"] == null) {
|
|
2645
|
+
throw new RequiredError(
|
|
2646
|
+
"syncTriggerRequest",
|
|
2647
|
+
'Required parameter "syncTriggerRequest" was null or undefined when calling syncTrigger().'
|
|
2648
|
+
);
|
|
2649
|
+
}
|
|
2650
|
+
const queryParameters = {};
|
|
2651
|
+
const headerParameters = {};
|
|
2652
|
+
headerParameters["Content-Type"] = "application/json";
|
|
2653
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2654
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2655
|
+
}
|
|
2656
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2657
|
+
const token = this.configuration.accessToken;
|
|
2658
|
+
const tokenString = await token("ApiToken", ["sync:write"]);
|
|
2659
|
+
if (tokenString) {
|
|
2660
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2661
|
+
}
|
|
2662
|
+
}
|
|
2663
|
+
const response = await this.request({
|
|
2664
|
+
path: `/api/v1/sync`,
|
|
2665
|
+
method: "POST",
|
|
2666
|
+
headers: headerParameters,
|
|
2667
|
+
query: queryParameters,
|
|
2668
|
+
body: SyncTriggerRequestToJSON(requestParameters["syncTriggerRequest"])
|
|
2669
|
+
}, initOverrides);
|
|
2670
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2671
|
+
}
|
|
2672
|
+
/**
|
|
2673
|
+
* Pushes the active Space\'s campaign tree to the connected ad platforms (and imports remote changes). Asynchronous: returns a `syncId` immediately with status `started` (or `nothing_to_sync`). Poll `GET /api/v1/sync/{id}` for progress and errors. Returns 409 CONFLICT (details: { activeSyncId, startedAt }) if a sync is already running in this Space. The platform connection used is account-wide; the campaigns synced are the active Space\'s.
|
|
2674
|
+
* Trigger a sync for the active Space
|
|
2675
|
+
*/
|
|
2676
|
+
async syncTrigger(requestParameters, initOverrides) {
|
|
2677
|
+
const response = await this.syncTriggerRaw(requestParameters, initOverrides);
|
|
2678
|
+
return await response.value();
|
|
2679
|
+
}
|
|
2680
|
+
/**
|
|
2681
|
+
* Clears the platform link (and optionally removes the remote campaign) while keeping the local campaign. Returns a per-id result map; already-unlinked ids report `not_linked`. Unlink then sync to re-create campaigns cleanly on the platform.
|
|
2682
|
+
* Unlink the active Space\'s campaigns from a platform
|
|
2683
|
+
*/
|
|
2684
|
+
async syncUnlinkRaw(requestParameters, initOverrides) {
|
|
2685
|
+
if (requestParameters["syncUnlinkRequest"] == null) {
|
|
2686
|
+
throw new RequiredError(
|
|
2687
|
+
"syncUnlinkRequest",
|
|
2688
|
+
'Required parameter "syncUnlinkRequest" was null or undefined when calling syncUnlink().'
|
|
2689
|
+
);
|
|
2690
|
+
}
|
|
2691
|
+
const queryParameters = {};
|
|
2692
|
+
const headerParameters = {};
|
|
2693
|
+
headerParameters["Content-Type"] = "application/json";
|
|
2694
|
+
if (requestParameters["xSpaceId"] != null) {
|
|
2695
|
+
headerParameters["X-Space-Id"] = String(requestParameters["xSpaceId"]);
|
|
2696
|
+
}
|
|
2697
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
2698
|
+
const token = this.configuration.accessToken;
|
|
2699
|
+
const tokenString = await token("ApiToken", ["sync:write"]);
|
|
2700
|
+
if (tokenString) {
|
|
2701
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
2702
|
+
}
|
|
2703
|
+
}
|
|
2704
|
+
const response = await this.request({
|
|
2705
|
+
path: `/api/v1/sync/unlink`,
|
|
2706
|
+
method: "POST",
|
|
2707
|
+
headers: headerParameters,
|
|
2708
|
+
query: queryParameters,
|
|
2709
|
+
body: SyncUnlinkRequestToJSON(requestParameters["syncUnlinkRequest"])
|
|
2710
|
+
}, initOverrides);
|
|
2711
|
+
return new JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
2712
|
+
}
|
|
2713
|
+
/**
|
|
2714
|
+
* Clears the platform link (and optionally removes the remote campaign) while keeping the local campaign. Returns a per-id result map; already-unlinked ids report `not_linked`. Unlink then sync to re-create campaigns cleanly on the platform.
|
|
2715
|
+
* Unlink the active Space\'s campaigns from a platform
|
|
2716
|
+
*/
|
|
2717
|
+
async syncUnlink(requestParameters, initOverrides) {
|
|
2718
|
+
const response = await this.syncUnlinkRaw(requestParameters, initOverrides);
|
|
2719
|
+
return await response.value();
|
|
2720
|
+
}
|
|
2721
|
+
};
|
|
2722
|
+
|
|
2723
|
+
// src/index.ts
|
|
2724
|
+
var PRODUCTION_BASE_URL = "https://api.ads.defoai.com";
|
|
2725
|
+
var STAGING_BASE_URL = "https://api-ads-staging.defoai.com";
|
|
2726
|
+
var DefoAdsError = class extends Error {
|
|
2727
|
+
constructor(status, code, message, details) {
|
|
2728
|
+
super(message);
|
|
2729
|
+
this.name = "DefoAdsError";
|
|
2730
|
+
this.status = status;
|
|
2731
|
+
this.code = code;
|
|
2732
|
+
this.details = details;
|
|
2733
|
+
}
|
|
2734
|
+
};
|
|
2735
|
+
var AuthError = class extends DefoAdsError {
|
|
2736
|
+
constructor() {
|
|
2737
|
+
super(...arguments);
|
|
2738
|
+
this.name = "AuthError";
|
|
2739
|
+
}
|
|
2740
|
+
};
|
|
2741
|
+
var ForbiddenError = class extends DefoAdsError {
|
|
2742
|
+
constructor() {
|
|
2743
|
+
super(...arguments);
|
|
2744
|
+
this.name = "ForbiddenError";
|
|
2745
|
+
}
|
|
2746
|
+
};
|
|
2747
|
+
var NotFoundError = class extends DefoAdsError {
|
|
2748
|
+
constructor() {
|
|
2749
|
+
super(...arguments);
|
|
2750
|
+
this.name = "NotFoundError";
|
|
2751
|
+
}
|
|
2752
|
+
};
|
|
2753
|
+
var ConflictError = class extends DefoAdsError {
|
|
2754
|
+
constructor() {
|
|
2755
|
+
super(...arguments);
|
|
2756
|
+
this.name = "ConflictError";
|
|
2757
|
+
}
|
|
2758
|
+
};
|
|
2759
|
+
var RateLimitError = class extends DefoAdsError {
|
|
2760
|
+
constructor() {
|
|
2761
|
+
super(...arguments);
|
|
2762
|
+
this.name = "RateLimitError";
|
|
2763
|
+
}
|
|
2764
|
+
};
|
|
2765
|
+
function toTypedError(status, code, message, details) {
|
|
2766
|
+
const msg = message || `HTTP ${status}`;
|
|
2767
|
+
switch (status) {
|
|
2768
|
+
case 401:
|
|
2769
|
+
return new AuthError(status, code, msg, details);
|
|
2770
|
+
case 403:
|
|
2771
|
+
return new ForbiddenError(status, code, msg, details);
|
|
2772
|
+
case 404:
|
|
2773
|
+
return new NotFoundError(status, code, msg, details);
|
|
2774
|
+
case 409:
|
|
2775
|
+
return new ConflictError(status, code, msg, details);
|
|
2776
|
+
case 429:
|
|
2777
|
+
return new RateLimitError(status, code, msg, details);
|
|
2778
|
+
default:
|
|
2779
|
+
return new DefoAdsError(status, code, msg, details);
|
|
2780
|
+
}
|
|
2781
|
+
}
|
|
2782
|
+
function retryingFetch(baseFetch, maxRetries) {
|
|
2783
|
+
return async (input, init) => {
|
|
2784
|
+
const method = (init?.method || "GET").toUpperCase();
|
|
2785
|
+
const idempotent = method === "GET" || method === "PUT" || method === "DELETE";
|
|
2786
|
+
let attempt = 0;
|
|
2787
|
+
while (true) {
|
|
2788
|
+
const res = await baseFetch(input, init);
|
|
2789
|
+
const retryable = res.status === 429 || res.status >= 500 && idempotent;
|
|
2790
|
+
if (!retryable || attempt >= maxRetries) return res;
|
|
2791
|
+
const retryAfter = res.headers.get("retry-after");
|
|
2792
|
+
const waitMs = retryAfter ? Number(retryAfter) * 1e3 : Math.min(2 ** attempt * 500, 8e3);
|
|
2793
|
+
await new Promise((r) => setTimeout(r, Number.isFinite(waitMs) ? waitMs : 1e3));
|
|
2794
|
+
attempt += 1;
|
|
2795
|
+
}
|
|
2796
|
+
};
|
|
2797
|
+
}
|
|
2798
|
+
var errorMiddleware = {
|
|
2799
|
+
post: async ({ response }) => {
|
|
2800
|
+
if (response.status >= 400) {
|
|
2801
|
+
let code;
|
|
2802
|
+
let message = response.statusText;
|
|
2803
|
+
let details;
|
|
2804
|
+
try {
|
|
2805
|
+
const body = await response.clone().json();
|
|
2806
|
+
code = body?.error?.code;
|
|
2807
|
+
message = body?.error?.message ?? message;
|
|
2808
|
+
details = body?.error?.details;
|
|
2809
|
+
} catch {
|
|
2810
|
+
}
|
|
2811
|
+
throw toTypedError(response.status, code, message, details);
|
|
2812
|
+
}
|
|
2813
|
+
return response;
|
|
2814
|
+
}
|
|
2815
|
+
};
|
|
2816
|
+
var data = (env) => env?.data;
|
|
2817
|
+
function crudResource(api, prefix, createKey, updateKey) {
|
|
2818
|
+
return {
|
|
2819
|
+
/** List one page (default 50, max 200). */
|
|
2820
|
+
list: (params = {}) => api[`${prefix}List`]({ ...params }).then(data),
|
|
2821
|
+
/** Async-iterate EVERY item across all pages (follows `meta.nextCursor`). */
|
|
2822
|
+
async *listAll(params = {}) {
|
|
2823
|
+
let cursor = params.cursor;
|
|
2824
|
+
do {
|
|
2825
|
+
const env = await api[`${prefix}List`]({ ...params, cursor });
|
|
2826
|
+
for (const item of env.data ?? []) yield item;
|
|
2827
|
+
cursor = env.meta?.nextCursor ?? void 0;
|
|
2828
|
+
} while (cursor);
|
|
2829
|
+
},
|
|
2830
|
+
/** Fetch one by id. */
|
|
2831
|
+
get: (id) => api[`${prefix}Get`]({ id }).then(data),
|
|
2832
|
+
/** Create. */
|
|
2833
|
+
create: (body) => api[`${prefix}Create`]({ [createKey]: body }).then(data),
|
|
2834
|
+
/** Partial update by id. */
|
|
2835
|
+
update: (id, body) => api[`${prefix}Update`]({ id, [updateKey]: body }).then(data),
|
|
2836
|
+
/** Delete by id. */
|
|
2837
|
+
delete: (id) => api[`${prefix}Delete`]({ id }).then(data)
|
|
2838
|
+
};
|
|
2839
|
+
}
|
|
2840
|
+
var DefoAds = class {
|
|
2841
|
+
constructor(options) {
|
|
2842
|
+
if (!options?.token) throw new Error("DefoAds: `token` is required (a dads_\u2026 personal access token).");
|
|
2843
|
+
const baseFetch = options.fetch ?? globalThis.fetch;
|
|
2844
|
+
if (!baseFetch) throw new Error("DefoAds: no global fetch \u2014 pass `fetch` in options (Node < 18).");
|
|
2845
|
+
const config = new Configuration({
|
|
2846
|
+
basePath: options.baseUrl ?? PRODUCTION_BASE_URL,
|
|
2847
|
+
accessToken: options.token,
|
|
2848
|
+
// → Authorization: Bearer <token>
|
|
2849
|
+
headers: options.space ? { "X-Space-Id": options.space } : {},
|
|
2850
|
+
fetchApi: retryingFetch(baseFetch, options.maxRetries ?? 3),
|
|
2851
|
+
middleware: [errorMiddleware]
|
|
2852
|
+
});
|
|
2853
|
+
this.campaigns = crudResource(new CampaignsApi(config), "campaigns", "campaignCreate", "campaignUpdate");
|
|
2854
|
+
this.adGroups = crudResource(new AdGroupsApi(config), "adGroups", "adGroupCreate", "adGroupUpdate");
|
|
2855
|
+
this.ads = crudResource(new AdsApi(config), "ads", "adCreate", "adUpdate");
|
|
2856
|
+
this.keywords = crudResource(new KeywordsApi(config), "keywords", "keywordCreate", "keywordUpdate");
|
|
2857
|
+
this.sites = crudResource(new SitesApi(config), "sites", "siteCreate", "siteUpdate");
|
|
2858
|
+
this.assets = crudResource(new AssetsApi(config), "assets", "assetCreate", "assetUpdate");
|
|
2859
|
+
const campaignAssetsApi = new CampaignAssetsApi(config);
|
|
2860
|
+
this.campaignAssets = {
|
|
2861
|
+
list: (p = {}) => campaignAssetsApi.campaignAssetsList(p).then(data),
|
|
2862
|
+
get: (id) => campaignAssetsApi.campaignAssetsGet({ id }).then(data),
|
|
2863
|
+
create: (body) => campaignAssetsApi.campaignAssetsCreate({ campaignAssetCreate: body }).then(data),
|
|
2864
|
+
delete: (id) => campaignAssetsApi.campaignAssetsDelete({ id }).then(data)
|
|
2865
|
+
};
|
|
2866
|
+
const adAssetsApi = new AdAssetsApi(config);
|
|
2867
|
+
this.adAssets = {
|
|
2868
|
+
list: (p = {}) => adAssetsApi.adAssetsList(p).then(data),
|
|
2869
|
+
get: (id) => adAssetsApi.adAssetsGet({ id }).then(data),
|
|
2870
|
+
create: (body) => adAssetsApi.adAssetsCreate({ adAssetCreate: body }).then(data),
|
|
2871
|
+
delete: (id) => adAssetsApi.adAssetsDelete({ id }).then(data)
|
|
2872
|
+
};
|
|
2873
|
+
const mediaApi = new MediaApi(config);
|
|
2874
|
+
this.media = { matrix: () => mediaApi.mediaMatrix().then(data) };
|
|
2875
|
+
const reportsApi = new ReportsApi(config);
|
|
2876
|
+
this.reports = {
|
|
2877
|
+
/** Performance stats; see the reference for `date_range`, `group_by`, `metrics`, etc. */
|
|
2878
|
+
stats: (params = {}) => reportsApi.reportsStats(params).then(data)
|
|
2879
|
+
};
|
|
2880
|
+
const syncApi = new SyncApi(config);
|
|
2881
|
+
this.sync = {
|
|
2882
|
+
/** Trigger a sync for the active Space (async — poll `get(syncId)`). */
|
|
2883
|
+
trigger: (body = {}) => syncApi.syncTrigger({ syncTriggerRequest: body }).then(data),
|
|
2884
|
+
list: (p = {}) => syncApi.syncList(p).then(data),
|
|
2885
|
+
/** Dry-run plan (import/export/remove) without executing. */
|
|
2886
|
+
plan: (p = {}) => syncApi.syncPlan(p).then(data),
|
|
2887
|
+
get: (id) => syncApi.syncGet({ id }).then(data),
|
|
2888
|
+
cancel: (id) => syncApi.syncCancel({ id }).then(data),
|
|
2889
|
+
/** Unlink campaigns from a platform (keeps the local campaign). */
|
|
2890
|
+
unlink: (body) => syncApi.syncUnlink({ syncUnlinkRequest: body }).then(data)
|
|
2891
|
+
};
|
|
2892
|
+
const metaApi = new MetaApi(config);
|
|
2893
|
+
this.meta = {
|
|
2894
|
+
/** Introspect the authenticated token. */
|
|
2895
|
+
me: () => metaApi.meGet().then(data),
|
|
2896
|
+
/** List Spaces the token can access. */
|
|
2897
|
+
spaces: () => metaApi.spacesList().then(data)
|
|
2898
|
+
};
|
|
2899
|
+
}
|
|
2900
|
+
};
|
|
2901
|
+
var index_default = DefoAds;
|
|
2902
|
+
|
|
2903
|
+
exports.AuthError = AuthError;
|
|
2904
|
+
exports.ConflictError = ConflictError;
|
|
2905
|
+
exports.DefoAds = DefoAds;
|
|
2906
|
+
exports.DefoAdsError = DefoAdsError;
|
|
2907
|
+
exports.ForbiddenError = ForbiddenError;
|
|
2908
|
+
exports.NotFoundError = NotFoundError;
|
|
2909
|
+
exports.PRODUCTION_BASE_URL = PRODUCTION_BASE_URL;
|
|
2910
|
+
exports.RateLimitError = RateLimitError;
|
|
2911
|
+
exports.STAGING_BASE_URL = STAGING_BASE_URL;
|
|
2912
|
+
exports.default = index_default;
|
|
2913
|
+
//# sourceMappingURL=index.cjs.map
|
|
2914
|
+
//# sourceMappingURL=index.cjs.map
|