@defoai/ads-client 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -0
- package/dist/generated/apis/AdAssetsApi.d.ts +140 -0
- package/dist/generated/apis/AdAssetsApi.js +173 -0
- package/dist/generated/apis/AdGroupsApi.d.ts +165 -0
- package/dist/generated/apis/AdGroupsApi.js +205 -0
- package/dist/generated/apis/AdsApi.d.ts +160 -0
- package/dist/generated/apis/AdsApi.js +200 -0
- package/dist/generated/apis/AssetsApi.d.ts +162 -0
- package/dist/generated/apis/AssetsApi.js +203 -0
- package/dist/generated/apis/CampaignAssetsApi.d.ts +136 -0
- package/dist/generated/apis/CampaignAssetsApi.js +167 -0
- package/dist/generated/apis/CampaignsApi.d.ts +169 -0
- package/dist/generated/apis/CampaignsApi.js +206 -0
- package/dist/generated/apis/KeywordsApi.d.ts +160 -0
- package/dist/generated/apis/KeywordsApi.js +200 -0
- package/dist/generated/apis/MediaApi.d.ts +50 -0
- package/dist/generated/apis/MediaApi.js +51 -0
- package/dist/generated/apis/MetaApi.d.ts +86 -0
- package/dist/generated/apis/MetaApi.js +104 -0
- package/dist/generated/apis/ReportsApi.d.ts +50 -0
- package/dist/generated/apis/ReportsApi.js +51 -0
- package/dist/generated/apis/SitesApi.d.ts +163 -0
- package/dist/generated/apis/SitesApi.js +202 -0
- package/dist/generated/apis/SyncApi.d.ts +199 -0
- package/dist/generated/apis/SyncApi.js +241 -0
- package/dist/generated/apis/index.d.ts +12 -0
- package/dist/generated/apis/index.js +14 -0
- package/dist/generated/index.d.ts +3 -0
- package/dist/generated/index.js +5 -0
- package/dist/generated/models/AdAssetCreate.d.ts +83 -0
- package/dist/generated/models/AdAssetCreate.js +76 -0
- package/dist/generated/models/AdCreate.d.ts +147 -0
- package/dist/generated/models/AdCreate.js +97 -0
- package/dist/generated/models/AdGroupAudience.d.ts +44 -0
- package/dist/generated/models/AdGroupAudience.js +49 -0
- package/dist/generated/models/AdGroupCreate.d.ts +104 -0
- package/dist/generated/models/AdGroupCreate.js +74 -0
- package/dist/generated/models/AdGroupUpdate.d.ts +104 -0
- package/dist/generated/models/AdGroupUpdate.js +70 -0
- package/dist/generated/models/AdUpdate.d.ts +147 -0
- package/dist/generated/models/AdUpdate.js +85 -0
- package/dist/generated/models/AssetCreate.d.ts +117 -0
- package/dist/generated/models/AssetCreate.js +80 -0
- package/dist/generated/models/AssetUpdate.d.ts +79 -0
- package/dist/generated/models/AssetUpdate.js +61 -0
- package/dist/generated/models/BiddingStrategy.d.ts +70 -0
- package/dist/generated/models/BiddingStrategy.js +62 -0
- package/dist/generated/models/CampaignAdScheduleField.d.ts +12 -0
- package/dist/generated/models/CampaignAdScheduleField.js +4 -0
- package/dist/generated/models/CampaignAssetCreate.d.ts +57 -0
- package/dist/generated/models/CampaignAssetCreate.js +63 -0
- package/dist/generated/models/CampaignCreate.d.ts +161 -0
- package/dist/generated/models/CampaignCreate.js +102 -0
- package/dist/generated/models/CampaignTargeting.d.ts +50 -0
- package/dist/generated/models/CampaignTargeting.js +47 -0
- package/dist/generated/models/CampaignUpdate.d.ts +161 -0
- package/dist/generated/models/CampaignUpdate.js +98 -0
- package/dist/generated/models/CampaignsListCursorParameter.d.ts +26 -0
- package/dist/generated/models/CampaignsListCursorParameter.js +31 -0
- package/dist/generated/models/ErrorEnvelope.d.ts +33 -0
- package/dist/generated/models/ErrorEnvelope.js +44 -0
- package/dist/generated/models/ErrorEnvelopeError.d.ts +44 -0
- package/dist/generated/models/ErrorEnvelopeError.js +49 -0
- package/dist/generated/models/KeywordCreate.d.ts +86 -0
- package/dist/generated/models/KeywordCreate.js +73 -0
- package/dist/generated/models/KeywordUpdate.d.ts +86 -0
- package/dist/generated/models/KeywordUpdate.js +69 -0
- package/dist/generated/models/Location.d.ts +61 -0
- package/dist/generated/models/Location.js +61 -0
- package/dist/generated/models/NegativeKeywordEntry.d.ts +47 -0
- package/dist/generated/models/NegativeKeywordEntry.js +55 -0
- package/dist/generated/models/ScheduleWindow.d.ts +95 -0
- package/dist/generated/models/ScheduleWindow.js +87 -0
- package/dist/generated/models/SiteCreate.d.ts +99 -0
- package/dist/generated/models/SiteCreate.js +78 -0
- package/dist/generated/models/SiteCreateSeoKeywords.d.ts +11 -0
- package/dist/generated/models/SiteCreateSeoKeywords.js +12 -0
- package/dist/generated/models/SiteCreateTargetGroups.d.ts +11 -0
- package/dist/generated/models/SiteCreateTargetGroups.js +12 -0
- package/dist/generated/models/SiteLinkEntry.d.ts +50 -0
- package/dist/generated/models/SiteLinkEntry.js +47 -0
- package/dist/generated/models/SiteUpdate.d.ts +99 -0
- package/dist/generated/models/SiteUpdate.js +74 -0
- package/dist/generated/models/Sitelink.d.ts +64 -0
- package/dist/generated/models/Sitelink.js +51 -0
- package/dist/generated/models/StructuredSchedule.d.ts +39 -0
- package/dist/generated/models/StructuredSchedule.js +46 -0
- package/dist/generated/models/StructuredSnippet.d.ts +38 -0
- package/dist/generated/models/StructuredSnippet.js +47 -0
- package/dist/generated/models/SuccessEnvelope.d.ts +39 -0
- package/dist/generated/models/SuccessEnvelope.js +46 -0
- package/dist/generated/models/SuccessEnvelopeMeta.d.ts +39 -0
- package/dist/generated/models/SuccessEnvelopeMeta.js +44 -0
- package/dist/generated/models/SuccessEnvelopeMetaNextCursor.d.ts +26 -0
- package/dist/generated/models/SuccessEnvelopeMetaNextCursor.js +31 -0
- package/dist/generated/models/SyncCampaignDetail.d.ts +88 -0
- package/dist/generated/models/SyncCampaignDetail.js +71 -0
- package/dist/generated/models/SyncPlan.d.ts +35 -0
- package/dist/generated/models/SyncPlan.js +43 -0
- package/dist/generated/models/SyncPlanPlatformsValue.d.ts +33 -0
- package/dist/generated/models/SyncPlanPlatformsValue.js +42 -0
- package/dist/generated/models/SyncPlanPlatformsValueTotals.d.ts +44 -0
- package/dist/generated/models/SyncPlanPlatformsValueTotals.js +45 -0
- package/dist/generated/models/SyncProgress.d.ts +57 -0
- package/dist/generated/models/SyncProgress.js +50 -0
- package/dist/generated/models/SyncRecord.d.ts +103 -0
- package/dist/generated/models/SyncRecord.js +73 -0
- package/dist/generated/models/SyncRecordErrorsInner.d.ts +38 -0
- package/dist/generated/models/SyncRecordErrorsInner.js +43 -0
- package/dist/generated/models/SyncTotals.d.ts +68 -0
- package/dist/generated/models/SyncTotals.js +53 -0
- package/dist/generated/models/SyncTriggerRequest.d.ts +39 -0
- package/dist/generated/models/SyncTriggerRequest.js +44 -0
- package/dist/generated/models/SyncTriggerRequestOptions.d.ts +56 -0
- package/dist/generated/models/SyncTriggerRequestOptions.js +49 -0
- package/dist/generated/models/SyncTriggerResponse.d.ts +59 -0
- package/dist/generated/models/SyncTriggerResponse.js +55 -0
- package/dist/generated/models/SyncUnlinkRequest.d.ts +44 -0
- package/dist/generated/models/SyncUnlinkRequest.js +47 -0
- package/dist/generated/models/index.d.ts +45 -0
- package/dist/generated/models/index.js +47 -0
- package/dist/generated/runtime.d.ts +182 -0
- package/dist/generated/runtime.js +318 -0
- package/dist/index.d.ts +177 -0
- package/dist/index.js +207 -0
- package/package.json +32 -0
- package/src/generated/apis/AdAssetsApi.ts +342 -0
- package/src/generated/apis/AdGroupsApi.ts +408 -0
- package/src/generated/apis/AdsApi.ts +399 -0
- package/src/generated/apis/AssetsApi.ts +405 -0
- package/src/generated/apis/CampaignAssetsApi.ts +330 -0
- package/src/generated/apis/CampaignsApi.ts +408 -0
- package/src/generated/apis/KeywordsApi.ts +399 -0
- package/src/generated/apis/MediaApi.ts +99 -0
- package/src/generated/apis/MetaApi.ts +186 -0
- package/src/generated/apis/ReportsApi.ts +99 -0
- package/src/generated/apis/SitesApi.ts +402 -0
- package/src/generated/apis/SyncApi.ts +468 -0
- package/src/generated/apis/index.ts +14 -0
- package/src/generated/index.ts +5 -0
- package/src/generated/models/AdAssetCreate.ts +133 -0
- package/src/generated/models/AdCreate.ts +234 -0
- package/src/generated/models/AdGroupAudience.ts +83 -0
- package/src/generated/models/AdGroupCreate.ts +167 -0
- package/src/generated/models/AdGroupUpdate.ts +165 -0
- package/src/generated/models/AdUpdate.ts +228 -0
- package/src/generated/models/AssetCreate.ts +175 -0
- package/src/generated/models/AssetUpdate.ts +125 -0
- package/src/generated/models/BiddingStrategy.ts +114 -0
- package/src/generated/models/CampaignAdScheduleField.ts +16 -0
- package/src/generated/models/CampaignAssetCreate.ts +100 -0
- package/src/generated/models/CampaignCreate.ts +263 -0
- package/src/generated/models/CampaignTargeting.ts +89 -0
- package/src/generated/models/CampaignUpdate.ts +261 -0
- package/src/generated/models/CampaignsListCursorParameter.ts +46 -0
- package/src/generated/models/ErrorEnvelope.ts +74 -0
- package/src/generated/models/ErrorEnvelopeError.ts +83 -0
- package/src/generated/models/KeywordCreate.ts +137 -0
- package/src/generated/models/KeywordUpdate.ts +135 -0
- package/src/generated/models/Location.ts +105 -0
- package/src/generated/models/NegativeKeywordEntry.ts +87 -0
- package/src/generated/models/ScheduleWindow.ts +146 -0
- package/src/generated/models/SiteCreate.ts +173 -0
- package/src/generated/models/SiteCreateSeoKeywords.ts +16 -0
- package/src/generated/models/SiteCreateTargetGroups.ts +16 -0
- package/src/generated/models/SiteLinkEntry.ts +89 -0
- package/src/generated/models/SiteUpdate.ts +171 -0
- package/src/generated/models/Sitelink.ts +105 -0
- package/src/generated/models/StructuredSchedule.ts +82 -0
- package/src/generated/models/StructuredSnippet.ts +75 -0
- package/src/generated/models/SuccessEnvelope.ts +82 -0
- package/src/generated/models/SuccessEnvelopeMeta.ts +81 -0
- package/src/generated/models/SuccessEnvelopeMetaNextCursor.ts +46 -0
- package/src/generated/models/SyncCampaignDetail.ts +137 -0
- package/src/generated/models/SyncPlan.ts +73 -0
- package/src/generated/models/SyncPlanPlatformsValue.ts +73 -0
- package/src/generated/models/SyncPlanPlatformsValueTotals.ts +81 -0
- package/src/generated/models/SyncProgress.ts +105 -0
- package/src/generated/models/SyncRecord.ts +174 -0
- package/src/generated/models/SyncRecordErrorsInner.ts +73 -0
- package/src/generated/models/SyncTotals.ts +113 -0
- package/src/generated/models/SyncTriggerRequest.ts +81 -0
- package/src/generated/models/SyncTriggerRequestOptions.ts +97 -0
- package/src/generated/models/SyncTriggerResponse.ts +108 -0
- package/src/generated/models/SyncUnlinkRequest.ts +82 -0
- package/src/generated/models/index.ts +47 -0
- package/src/generated/runtime.ts +431 -0
- package/src/index.ts +229 -0
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Defo Ads Public API
|
|
5
|
+
* Stable public API for managing campaigns, ads, keywords, and sites.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.4.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
import * as runtime from '../runtime';
|
|
17
|
+
import type {
|
|
18
|
+
CampaignsListCursorParameter,
|
|
19
|
+
ErrorEnvelope,
|
|
20
|
+
SuccessEnvelope,
|
|
21
|
+
SyncTriggerRequest,
|
|
22
|
+
SyncUnlinkRequest,
|
|
23
|
+
} from '../models/index';
|
|
24
|
+
import {
|
|
25
|
+
CampaignsListCursorParameterFromJSON,
|
|
26
|
+
CampaignsListCursorParameterToJSON,
|
|
27
|
+
ErrorEnvelopeFromJSON,
|
|
28
|
+
ErrorEnvelopeToJSON,
|
|
29
|
+
SuccessEnvelopeFromJSON,
|
|
30
|
+
SuccessEnvelopeToJSON,
|
|
31
|
+
SyncTriggerRequestFromJSON,
|
|
32
|
+
SyncTriggerRequestToJSON,
|
|
33
|
+
SyncUnlinkRequestFromJSON,
|
|
34
|
+
SyncUnlinkRequestToJSON,
|
|
35
|
+
} from '../models/index';
|
|
36
|
+
|
|
37
|
+
export interface SyncCancelRequest {
|
|
38
|
+
id: string;
|
|
39
|
+
xSpaceId?: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface SyncGetRequest {
|
|
43
|
+
id: string;
|
|
44
|
+
xSpaceId?: string;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface SyncListRequest {
|
|
48
|
+
limit?: number;
|
|
49
|
+
cursor?: CampaignsListCursorParameter;
|
|
50
|
+
xSpaceId?: string;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface SyncPlanRequest {
|
|
54
|
+
platforms?: string;
|
|
55
|
+
xSpaceId?: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface SyncTriggerOperationRequest {
|
|
59
|
+
syncTriggerRequest: SyncTriggerRequest;
|
|
60
|
+
xSpaceId?: string;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export interface SyncUnlinkOperationRequest {
|
|
64
|
+
syncUnlinkRequest: SyncUnlinkRequest;
|
|
65
|
+
xSpaceId?: string;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* SyncApi - interface
|
|
70
|
+
*
|
|
71
|
+
* @export
|
|
72
|
+
* @interface SyncApiInterface
|
|
73
|
+
*/
|
|
74
|
+
export interface SyncApiInterface {
|
|
75
|
+
/**
|
|
76
|
+
* Cancellation takes effect at the next campaign boundary.
|
|
77
|
+
* @summary Request cancellation of a running sync
|
|
78
|
+
* @param {string} id
|
|
79
|
+
* @param {string} [xSpaceId] Target Space ID (e.g. `spc_…`). Omit to use the caller\'s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
|
|
80
|
+
* @param {*} [options] Override http request option.
|
|
81
|
+
* @throws {RequiredError}
|
|
82
|
+
* @memberof SyncApiInterface
|
|
83
|
+
*/
|
|
84
|
+
syncCancelRaw(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Cancellation takes effect at the next campaign boundary.
|
|
88
|
+
* Request cancellation of a running sync
|
|
89
|
+
*/
|
|
90
|
+
syncCancel(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
|
|
94
|
+
* @summary Get a sync record (status, progress, totals, errors)
|
|
95
|
+
* @param {string} id
|
|
96
|
+
* @param {string} [xSpaceId] Target Space ID (e.g. `spc_…`). Omit to use the caller\'s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
|
|
97
|
+
* @param {*} [options] Override http request option.
|
|
98
|
+
* @throws {RequiredError}
|
|
99
|
+
* @memberof SyncApiInterface
|
|
100
|
+
*/
|
|
101
|
+
syncGetRaw(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
|
|
105
|
+
* Get a sync record (status, progress, totals, errors)
|
|
106
|
+
*/
|
|
107
|
+
syncGet(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
*
|
|
111
|
+
* @summary List recent syncs for the active Space
|
|
112
|
+
* @param {number} [limit] Maximum items to return. Default 50, max 200.
|
|
113
|
+
* @param {CampaignsListCursorParameter} [cursor] Opaque pagination cursor returned by the previous page in `meta.nextCursor`.
|
|
114
|
+
* @param {string} [xSpaceId] Target Space ID (e.g. `spc_…`). Omit to use the caller\'s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
|
|
115
|
+
* @param {*} [options] Override http request option.
|
|
116
|
+
* @throws {RequiredError}
|
|
117
|
+
* @memberof SyncApiInterface
|
|
118
|
+
*/
|
|
119
|
+
syncListRaw(requestParameters: SyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* List recent syncs for the active Space
|
|
123
|
+
*/
|
|
124
|
+
syncList(requestParameters: SyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Computes the import/export/remove plan for the active Space without executing.
|
|
128
|
+
* @summary Preview what a sync would do (dry run)
|
|
129
|
+
* @param {string} [platforms] Comma-separated platform ids (e.g. `google-ads,microsoft-ads`). Defaults to all connected platforms.
|
|
130
|
+
* @param {string} [xSpaceId] Target Space ID (e.g. `spc_…`). Omit to use the caller\'s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
|
|
131
|
+
* @param {*} [options] Override http request option.
|
|
132
|
+
* @throws {RequiredError}
|
|
133
|
+
* @memberof SyncApiInterface
|
|
134
|
+
*/
|
|
135
|
+
syncPlanRaw(requestParameters: SyncPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Computes the import/export/remove plan for the active Space without executing.
|
|
139
|
+
* Preview what a sync would do (dry run)
|
|
140
|
+
*/
|
|
141
|
+
syncPlan(requestParameters: SyncPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* 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.
|
|
145
|
+
* @summary Trigger a sync for the active Space
|
|
146
|
+
* @param {SyncTriggerRequest} syncTriggerRequest
|
|
147
|
+
* @param {string} [xSpaceId] Target Space ID (e.g. `spc_…`). Omit to use the caller\'s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
|
|
148
|
+
* @param {*} [options] Override http request option.
|
|
149
|
+
* @throws {RequiredError}
|
|
150
|
+
* @memberof SyncApiInterface
|
|
151
|
+
*/
|
|
152
|
+
syncTriggerRaw(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* 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.
|
|
156
|
+
* Trigger a sync for the active Space
|
|
157
|
+
*/
|
|
158
|
+
syncTrigger(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* 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.
|
|
162
|
+
* @summary Unlink the active Space\'s campaigns from a platform
|
|
163
|
+
* @param {SyncUnlinkRequest} syncUnlinkRequest
|
|
164
|
+
* @param {string} [xSpaceId] Target Space ID (e.g. `spc_…`). Omit to use the caller\'s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
|
|
165
|
+
* @param {*} [options] Override http request option.
|
|
166
|
+
* @throws {RequiredError}
|
|
167
|
+
* @memberof SyncApiInterface
|
|
168
|
+
*/
|
|
169
|
+
syncUnlinkRaw(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* 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.
|
|
173
|
+
* Unlink the active Space\'s campaigns from a platform
|
|
174
|
+
*/
|
|
175
|
+
syncUnlink(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
|
|
176
|
+
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
*
|
|
181
|
+
*/
|
|
182
|
+
export class SyncApi extends runtime.BaseAPI implements SyncApiInterface {
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Cancellation takes effect at the next campaign boundary.
|
|
186
|
+
* Request cancellation of a running sync
|
|
187
|
+
*/
|
|
188
|
+
async syncCancelRaw(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
|
|
189
|
+
if (requestParameters['id'] == null) {
|
|
190
|
+
throw new runtime.RequiredError(
|
|
191
|
+
'id',
|
|
192
|
+
'Required parameter "id" was null or undefined when calling syncCancel().'
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
const queryParameters: any = {};
|
|
197
|
+
|
|
198
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
199
|
+
|
|
200
|
+
if (requestParameters['xSpaceId'] != null) {
|
|
201
|
+
headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
205
|
+
const token = this.configuration.accessToken;
|
|
206
|
+
const tokenString = await token("ApiToken", ["sync:write"]);
|
|
207
|
+
|
|
208
|
+
if (tokenString) {
|
|
209
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
const response = await this.request({
|
|
213
|
+
path: `/api/v1/sync/{id}/cancel`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
|
|
214
|
+
method: 'POST',
|
|
215
|
+
headers: headerParameters,
|
|
216
|
+
query: queryParameters,
|
|
217
|
+
}, initOverrides);
|
|
218
|
+
|
|
219
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Cancellation takes effect at the next campaign boundary.
|
|
224
|
+
* Request cancellation of a running sync
|
|
225
|
+
*/
|
|
226
|
+
async syncCancel(requestParameters: SyncCancelRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
|
|
227
|
+
const response = await this.syncCancelRaw(requestParameters, initOverrides);
|
|
228
|
+
return await response.value();
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
|
|
233
|
+
* Get a sync record (status, progress, totals, errors)
|
|
234
|
+
*/
|
|
235
|
+
async syncGetRaw(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
|
|
236
|
+
if (requestParameters['id'] == null) {
|
|
237
|
+
throw new runtime.RequiredError(
|
|
238
|
+
'id',
|
|
239
|
+
'Required parameter "id" was null or undefined when calling syncGet().'
|
|
240
|
+
);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
const queryParameters: any = {};
|
|
244
|
+
|
|
245
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
246
|
+
|
|
247
|
+
if (requestParameters['xSpaceId'] != null) {
|
|
248
|
+
headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
252
|
+
const token = this.configuration.accessToken;
|
|
253
|
+
const tokenString = await token("ApiToken", ["sync:read"]);
|
|
254
|
+
|
|
255
|
+
if (tokenString) {
|
|
256
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
const response = await this.request({
|
|
260
|
+
path: `/api/v1/sync/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
|
|
261
|
+
method: 'GET',
|
|
262
|
+
headers: headerParameters,
|
|
263
|
+
query: queryParameters,
|
|
264
|
+
}, initOverrides);
|
|
265
|
+
|
|
266
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/**
|
|
270
|
+
* Returns the full record including per-campaign progress and structured errors. 404 if the id is outside the caller\'s Space.
|
|
271
|
+
* Get a sync record (status, progress, totals, errors)
|
|
272
|
+
*/
|
|
273
|
+
async syncGet(requestParameters: SyncGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
|
|
274
|
+
const response = await this.syncGetRaw(requestParameters, initOverrides);
|
|
275
|
+
return await response.value();
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* List recent syncs for the active Space
|
|
280
|
+
*/
|
|
281
|
+
async syncListRaw(requestParameters: SyncListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
|
|
282
|
+
const queryParameters: any = {};
|
|
283
|
+
|
|
284
|
+
if (requestParameters['limit'] != null) {
|
|
285
|
+
queryParameters['limit'] = requestParameters['limit'];
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
if (requestParameters['cursor'] != null) {
|
|
289
|
+
queryParameters['cursor'] = requestParameters['cursor'];
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
293
|
+
|
|
294
|
+
if (requestParameters['xSpaceId'] != null) {
|
|
295
|
+
headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
299
|
+
const token = this.configuration.accessToken;
|
|
300
|
+
const tokenString = await token("ApiToken", ["sync:read"]);
|
|
301
|
+
|
|
302
|
+
if (tokenString) {
|
|
303
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
const response = await this.request({
|
|
307
|
+
path: `/api/v1/sync`,
|
|
308
|
+
method: 'GET',
|
|
309
|
+
headers: headerParameters,
|
|
310
|
+
query: queryParameters,
|
|
311
|
+
}, initOverrides);
|
|
312
|
+
|
|
313
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* List recent syncs for the active Space
|
|
318
|
+
*/
|
|
319
|
+
async syncList(requestParameters: SyncListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
|
|
320
|
+
const response = await this.syncListRaw(requestParameters, initOverrides);
|
|
321
|
+
return await response.value();
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
/**
|
|
325
|
+
* Computes the import/export/remove plan for the active Space without executing.
|
|
326
|
+
* Preview what a sync would do (dry run)
|
|
327
|
+
*/
|
|
328
|
+
async syncPlanRaw(requestParameters: SyncPlanRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
|
|
329
|
+
const queryParameters: any = {};
|
|
330
|
+
|
|
331
|
+
if (requestParameters['platforms'] != null) {
|
|
332
|
+
queryParameters['platforms'] = requestParameters['platforms'];
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
336
|
+
|
|
337
|
+
if (requestParameters['xSpaceId'] != null) {
|
|
338
|
+
headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
342
|
+
const token = this.configuration.accessToken;
|
|
343
|
+
const tokenString = await token("ApiToken", ["sync:read"]);
|
|
344
|
+
|
|
345
|
+
if (tokenString) {
|
|
346
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
const response = await this.request({
|
|
350
|
+
path: `/api/v1/sync/plan`,
|
|
351
|
+
method: 'GET',
|
|
352
|
+
headers: headerParameters,
|
|
353
|
+
query: queryParameters,
|
|
354
|
+
}, initOverrides);
|
|
355
|
+
|
|
356
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/**
|
|
360
|
+
* Computes the import/export/remove plan for the active Space without executing.
|
|
361
|
+
* Preview what a sync would do (dry run)
|
|
362
|
+
*/
|
|
363
|
+
async syncPlan(requestParameters: SyncPlanRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
|
|
364
|
+
const response = await this.syncPlanRaw(requestParameters, initOverrides);
|
|
365
|
+
return await response.value();
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* 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.
|
|
370
|
+
* Trigger a sync for the active Space
|
|
371
|
+
*/
|
|
372
|
+
async syncTriggerRaw(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
|
|
373
|
+
if (requestParameters['syncTriggerRequest'] == null) {
|
|
374
|
+
throw new runtime.RequiredError(
|
|
375
|
+
'syncTriggerRequest',
|
|
376
|
+
'Required parameter "syncTriggerRequest" was null or undefined when calling syncTrigger().'
|
|
377
|
+
);
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
const queryParameters: any = {};
|
|
381
|
+
|
|
382
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
383
|
+
|
|
384
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
385
|
+
|
|
386
|
+
if (requestParameters['xSpaceId'] != null) {
|
|
387
|
+
headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
391
|
+
const token = this.configuration.accessToken;
|
|
392
|
+
const tokenString = await token("ApiToken", ["sync:write"]);
|
|
393
|
+
|
|
394
|
+
if (tokenString) {
|
|
395
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
const response = await this.request({
|
|
399
|
+
path: `/api/v1/sync`,
|
|
400
|
+
method: 'POST',
|
|
401
|
+
headers: headerParameters,
|
|
402
|
+
query: queryParameters,
|
|
403
|
+
body: SyncTriggerRequestToJSON(requestParameters['syncTriggerRequest']),
|
|
404
|
+
}, initOverrides);
|
|
405
|
+
|
|
406
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* 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.
|
|
411
|
+
* Trigger a sync for the active Space
|
|
412
|
+
*/
|
|
413
|
+
async syncTrigger(requestParameters: SyncTriggerOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
|
|
414
|
+
const response = await this.syncTriggerRaw(requestParameters, initOverrides);
|
|
415
|
+
return await response.value();
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* 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.
|
|
420
|
+
* Unlink the active Space\'s campaigns from a platform
|
|
421
|
+
*/
|
|
422
|
+
async syncUnlinkRaw(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
|
|
423
|
+
if (requestParameters['syncUnlinkRequest'] == null) {
|
|
424
|
+
throw new runtime.RequiredError(
|
|
425
|
+
'syncUnlinkRequest',
|
|
426
|
+
'Required parameter "syncUnlinkRequest" was null or undefined when calling syncUnlink().'
|
|
427
|
+
);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
const queryParameters: any = {};
|
|
431
|
+
|
|
432
|
+
const headerParameters: runtime.HTTPHeaders = {};
|
|
433
|
+
|
|
434
|
+
headerParameters['Content-Type'] = 'application/json';
|
|
435
|
+
|
|
436
|
+
if (requestParameters['xSpaceId'] != null) {
|
|
437
|
+
headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
if (this.configuration && this.configuration.accessToken) {
|
|
441
|
+
const token = this.configuration.accessToken;
|
|
442
|
+
const tokenString = await token("ApiToken", ["sync:write"]);
|
|
443
|
+
|
|
444
|
+
if (tokenString) {
|
|
445
|
+
headerParameters["Authorization"] = `Bearer ${tokenString}`;
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
const response = await this.request({
|
|
449
|
+
path: `/api/v1/sync/unlink`,
|
|
450
|
+
method: 'POST',
|
|
451
|
+
headers: headerParameters,
|
|
452
|
+
query: queryParameters,
|
|
453
|
+
body: SyncUnlinkRequestToJSON(requestParameters['syncUnlinkRequest']),
|
|
454
|
+
}, initOverrides);
|
|
455
|
+
|
|
456
|
+
return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/**
|
|
460
|
+
* 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.
|
|
461
|
+
* Unlink the active Space\'s campaigns from a platform
|
|
462
|
+
*/
|
|
463
|
+
async syncUnlink(requestParameters: SyncUnlinkOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
|
|
464
|
+
const response = await this.syncUnlinkRaw(requestParameters, initOverrides);
|
|
465
|
+
return await response.value();
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
export * from './AdAssetsApi';
|
|
4
|
+
export * from './AdGroupsApi';
|
|
5
|
+
export * from './AdsApi';
|
|
6
|
+
export * from './AssetsApi';
|
|
7
|
+
export * from './CampaignAssetsApi';
|
|
8
|
+
export * from './CampaignsApi';
|
|
9
|
+
export * from './KeywordsApi';
|
|
10
|
+
export * from './MediaApi';
|
|
11
|
+
export * from './MetaApi';
|
|
12
|
+
export * from './ReportsApi';
|
|
13
|
+
export * from './SitesApi';
|
|
14
|
+
export * from './SyncApi';
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* Defo Ads Public API
|
|
5
|
+
* Stable public API for managing campaigns, ads, keywords, and sites.
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 1.4.0
|
|
8
|
+
*
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import { mapValues } from '../runtime';
|
|
16
|
+
/**
|
|
17
|
+
* Bind an asset to an ad (scope=AD, adId required) or ad group (scope=AD_GROUP, adGroupId required). campaignId is derived from the ad/ad group when omitted.
|
|
18
|
+
* @export
|
|
19
|
+
* @interface AdAssetCreate
|
|
20
|
+
*/
|
|
21
|
+
export interface AdAssetCreate {
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* @type {string}
|
|
25
|
+
* @memberof AdAssetCreate
|
|
26
|
+
*/
|
|
27
|
+
scope: AdAssetCreateScopeEnum;
|
|
28
|
+
/**
|
|
29
|
+
* Required when scope=AD.
|
|
30
|
+
* @type {string}
|
|
31
|
+
* @memberof AdAssetCreate
|
|
32
|
+
*/
|
|
33
|
+
adId?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Required when scope=AD_GROUP.
|
|
36
|
+
* @type {string}
|
|
37
|
+
* @memberof AdAssetCreate
|
|
38
|
+
*/
|
|
39
|
+
adGroupId?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Optional; derived from the ad/ad group when omitted.
|
|
42
|
+
* @type {string}
|
|
43
|
+
* @memberof AdAssetCreate
|
|
44
|
+
*/
|
|
45
|
+
campaignId?: string;
|
|
46
|
+
/**
|
|
47
|
+
*
|
|
48
|
+
* @type {string}
|
|
49
|
+
* @memberof AdAssetCreate
|
|
50
|
+
*/
|
|
51
|
+
assetId: string;
|
|
52
|
+
/**
|
|
53
|
+
*
|
|
54
|
+
* @type {string}
|
|
55
|
+
* @memberof AdAssetCreate
|
|
56
|
+
*/
|
|
57
|
+
role: AdAssetCreateRoleEnum;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @export
|
|
63
|
+
*/
|
|
64
|
+
export const AdAssetCreateScopeEnum = {
|
|
65
|
+
AD: 'AD',
|
|
66
|
+
AD_GROUP: 'AD_GROUP'
|
|
67
|
+
} as const;
|
|
68
|
+
export type AdAssetCreateScopeEnum = typeof AdAssetCreateScopeEnum[keyof typeof AdAssetCreateScopeEnum];
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @export
|
|
72
|
+
*/
|
|
73
|
+
export const AdAssetCreateRoleEnum = {
|
|
74
|
+
MARKETING_IMAGE: 'MARKETING_IMAGE',
|
|
75
|
+
SQUARE_MARKETING_IMAGE: 'SQUARE_MARKETING_IMAGE',
|
|
76
|
+
PORTRAIT_MARKETING_IMAGE: 'PORTRAIT_MARKETING_IMAGE',
|
|
77
|
+
LOGO: 'LOGO',
|
|
78
|
+
LANDSCAPE_LOGO: 'LANDSCAPE_LOGO',
|
|
79
|
+
YOUTUBE_VIDEO: 'YOUTUBE_VIDEO',
|
|
80
|
+
VIDEO: 'VIDEO'
|
|
81
|
+
} as const;
|
|
82
|
+
export type AdAssetCreateRoleEnum = typeof AdAssetCreateRoleEnum[keyof typeof AdAssetCreateRoleEnum];
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Check if a given object implements the AdAssetCreate interface.
|
|
87
|
+
*/
|
|
88
|
+
export function instanceOfAdAssetCreate(value: object): value is AdAssetCreate {
|
|
89
|
+
if (!('scope' in value) || value['scope'] === undefined) return false;
|
|
90
|
+
if (!('assetId' in value) || value['assetId'] === undefined) return false;
|
|
91
|
+
if (!('role' in value) || value['role'] === undefined) return false;
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function AdAssetCreateFromJSON(json: any): AdAssetCreate {
|
|
96
|
+
return AdAssetCreateFromJSONTyped(json, false);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
export function AdAssetCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdAssetCreate {
|
|
100
|
+
if (json == null) {
|
|
101
|
+
return json;
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
|
|
105
|
+
'scope': json['scope'],
|
|
106
|
+
'adId': json['adId'] == null ? undefined : json['adId'],
|
|
107
|
+
'adGroupId': json['adGroupId'] == null ? undefined : json['adGroupId'],
|
|
108
|
+
'campaignId': json['campaignId'] == null ? undefined : json['campaignId'],
|
|
109
|
+
'assetId': json['assetId'],
|
|
110
|
+
'role': json['role'],
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export function AdAssetCreateToJSON(json: any): AdAssetCreate {
|
|
115
|
+
return AdAssetCreateToJSONTyped(json, false);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export function AdAssetCreateToJSONTyped(value?: AdAssetCreate | null, ignoreDiscriminator: boolean = false): any {
|
|
119
|
+
if (value == null) {
|
|
120
|
+
return value;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
|
|
125
|
+
'scope': value['scope'],
|
|
126
|
+
'adId': value['adId'],
|
|
127
|
+
'adGroupId': value['adGroupId'],
|
|
128
|
+
'campaignId': value['campaignId'],
|
|
129
|
+
'assetId': value['assetId'],
|
|
130
|
+
'role': value['role'],
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
|