@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.
Files changed (188) hide show
  1. package/README.md +88 -0
  2. package/dist/generated/apis/AdAssetsApi.d.ts +140 -0
  3. package/dist/generated/apis/AdAssetsApi.js +173 -0
  4. package/dist/generated/apis/AdGroupsApi.d.ts +165 -0
  5. package/dist/generated/apis/AdGroupsApi.js +205 -0
  6. package/dist/generated/apis/AdsApi.d.ts +160 -0
  7. package/dist/generated/apis/AdsApi.js +200 -0
  8. package/dist/generated/apis/AssetsApi.d.ts +162 -0
  9. package/dist/generated/apis/AssetsApi.js +203 -0
  10. package/dist/generated/apis/CampaignAssetsApi.d.ts +136 -0
  11. package/dist/generated/apis/CampaignAssetsApi.js +167 -0
  12. package/dist/generated/apis/CampaignsApi.d.ts +169 -0
  13. package/dist/generated/apis/CampaignsApi.js +206 -0
  14. package/dist/generated/apis/KeywordsApi.d.ts +160 -0
  15. package/dist/generated/apis/KeywordsApi.js +200 -0
  16. package/dist/generated/apis/MediaApi.d.ts +50 -0
  17. package/dist/generated/apis/MediaApi.js +51 -0
  18. package/dist/generated/apis/MetaApi.d.ts +86 -0
  19. package/dist/generated/apis/MetaApi.js +104 -0
  20. package/dist/generated/apis/ReportsApi.d.ts +50 -0
  21. package/dist/generated/apis/ReportsApi.js +51 -0
  22. package/dist/generated/apis/SitesApi.d.ts +163 -0
  23. package/dist/generated/apis/SitesApi.js +202 -0
  24. package/dist/generated/apis/SyncApi.d.ts +199 -0
  25. package/dist/generated/apis/SyncApi.js +241 -0
  26. package/dist/generated/apis/index.d.ts +12 -0
  27. package/dist/generated/apis/index.js +14 -0
  28. package/dist/generated/index.d.ts +3 -0
  29. package/dist/generated/index.js +5 -0
  30. package/dist/generated/models/AdAssetCreate.d.ts +83 -0
  31. package/dist/generated/models/AdAssetCreate.js +76 -0
  32. package/dist/generated/models/AdCreate.d.ts +147 -0
  33. package/dist/generated/models/AdCreate.js +97 -0
  34. package/dist/generated/models/AdGroupAudience.d.ts +44 -0
  35. package/dist/generated/models/AdGroupAudience.js +49 -0
  36. package/dist/generated/models/AdGroupCreate.d.ts +104 -0
  37. package/dist/generated/models/AdGroupCreate.js +74 -0
  38. package/dist/generated/models/AdGroupUpdate.d.ts +104 -0
  39. package/dist/generated/models/AdGroupUpdate.js +70 -0
  40. package/dist/generated/models/AdUpdate.d.ts +147 -0
  41. package/dist/generated/models/AdUpdate.js +85 -0
  42. package/dist/generated/models/AssetCreate.d.ts +117 -0
  43. package/dist/generated/models/AssetCreate.js +80 -0
  44. package/dist/generated/models/AssetUpdate.d.ts +79 -0
  45. package/dist/generated/models/AssetUpdate.js +61 -0
  46. package/dist/generated/models/BiddingStrategy.d.ts +70 -0
  47. package/dist/generated/models/BiddingStrategy.js +62 -0
  48. package/dist/generated/models/CampaignAdScheduleField.d.ts +12 -0
  49. package/dist/generated/models/CampaignAdScheduleField.js +4 -0
  50. package/dist/generated/models/CampaignAssetCreate.d.ts +57 -0
  51. package/dist/generated/models/CampaignAssetCreate.js +63 -0
  52. package/dist/generated/models/CampaignCreate.d.ts +161 -0
  53. package/dist/generated/models/CampaignCreate.js +102 -0
  54. package/dist/generated/models/CampaignTargeting.d.ts +50 -0
  55. package/dist/generated/models/CampaignTargeting.js +47 -0
  56. package/dist/generated/models/CampaignUpdate.d.ts +161 -0
  57. package/dist/generated/models/CampaignUpdate.js +98 -0
  58. package/dist/generated/models/CampaignsListCursorParameter.d.ts +26 -0
  59. package/dist/generated/models/CampaignsListCursorParameter.js +31 -0
  60. package/dist/generated/models/ErrorEnvelope.d.ts +33 -0
  61. package/dist/generated/models/ErrorEnvelope.js +44 -0
  62. package/dist/generated/models/ErrorEnvelopeError.d.ts +44 -0
  63. package/dist/generated/models/ErrorEnvelopeError.js +49 -0
  64. package/dist/generated/models/KeywordCreate.d.ts +86 -0
  65. package/dist/generated/models/KeywordCreate.js +73 -0
  66. package/dist/generated/models/KeywordUpdate.d.ts +86 -0
  67. package/dist/generated/models/KeywordUpdate.js +69 -0
  68. package/dist/generated/models/Location.d.ts +61 -0
  69. package/dist/generated/models/Location.js +61 -0
  70. package/dist/generated/models/NegativeKeywordEntry.d.ts +47 -0
  71. package/dist/generated/models/NegativeKeywordEntry.js +55 -0
  72. package/dist/generated/models/ScheduleWindow.d.ts +95 -0
  73. package/dist/generated/models/ScheduleWindow.js +87 -0
  74. package/dist/generated/models/SiteCreate.d.ts +99 -0
  75. package/dist/generated/models/SiteCreate.js +78 -0
  76. package/dist/generated/models/SiteCreateSeoKeywords.d.ts +11 -0
  77. package/dist/generated/models/SiteCreateSeoKeywords.js +12 -0
  78. package/dist/generated/models/SiteCreateTargetGroups.d.ts +11 -0
  79. package/dist/generated/models/SiteCreateTargetGroups.js +12 -0
  80. package/dist/generated/models/SiteLinkEntry.d.ts +50 -0
  81. package/dist/generated/models/SiteLinkEntry.js +47 -0
  82. package/dist/generated/models/SiteUpdate.d.ts +99 -0
  83. package/dist/generated/models/SiteUpdate.js +74 -0
  84. package/dist/generated/models/Sitelink.d.ts +64 -0
  85. package/dist/generated/models/Sitelink.js +51 -0
  86. package/dist/generated/models/StructuredSchedule.d.ts +39 -0
  87. package/dist/generated/models/StructuredSchedule.js +46 -0
  88. package/dist/generated/models/StructuredSnippet.d.ts +38 -0
  89. package/dist/generated/models/StructuredSnippet.js +47 -0
  90. package/dist/generated/models/SuccessEnvelope.d.ts +39 -0
  91. package/dist/generated/models/SuccessEnvelope.js +46 -0
  92. package/dist/generated/models/SuccessEnvelopeMeta.d.ts +39 -0
  93. package/dist/generated/models/SuccessEnvelopeMeta.js +44 -0
  94. package/dist/generated/models/SuccessEnvelopeMetaNextCursor.d.ts +26 -0
  95. package/dist/generated/models/SuccessEnvelopeMetaNextCursor.js +31 -0
  96. package/dist/generated/models/SyncCampaignDetail.d.ts +88 -0
  97. package/dist/generated/models/SyncCampaignDetail.js +71 -0
  98. package/dist/generated/models/SyncPlan.d.ts +35 -0
  99. package/dist/generated/models/SyncPlan.js +43 -0
  100. package/dist/generated/models/SyncPlanPlatformsValue.d.ts +33 -0
  101. package/dist/generated/models/SyncPlanPlatformsValue.js +42 -0
  102. package/dist/generated/models/SyncPlanPlatformsValueTotals.d.ts +44 -0
  103. package/dist/generated/models/SyncPlanPlatformsValueTotals.js +45 -0
  104. package/dist/generated/models/SyncProgress.d.ts +57 -0
  105. package/dist/generated/models/SyncProgress.js +50 -0
  106. package/dist/generated/models/SyncRecord.d.ts +103 -0
  107. package/dist/generated/models/SyncRecord.js +73 -0
  108. package/dist/generated/models/SyncRecordErrorsInner.d.ts +38 -0
  109. package/dist/generated/models/SyncRecordErrorsInner.js +43 -0
  110. package/dist/generated/models/SyncTotals.d.ts +68 -0
  111. package/dist/generated/models/SyncTotals.js +53 -0
  112. package/dist/generated/models/SyncTriggerRequest.d.ts +39 -0
  113. package/dist/generated/models/SyncTriggerRequest.js +44 -0
  114. package/dist/generated/models/SyncTriggerRequestOptions.d.ts +56 -0
  115. package/dist/generated/models/SyncTriggerRequestOptions.js +49 -0
  116. package/dist/generated/models/SyncTriggerResponse.d.ts +59 -0
  117. package/dist/generated/models/SyncTriggerResponse.js +55 -0
  118. package/dist/generated/models/SyncUnlinkRequest.d.ts +44 -0
  119. package/dist/generated/models/SyncUnlinkRequest.js +47 -0
  120. package/dist/generated/models/index.d.ts +45 -0
  121. package/dist/generated/models/index.js +47 -0
  122. package/dist/generated/runtime.d.ts +182 -0
  123. package/dist/generated/runtime.js +318 -0
  124. package/dist/index.d.ts +177 -0
  125. package/dist/index.js +207 -0
  126. package/package.json +32 -0
  127. package/src/generated/apis/AdAssetsApi.ts +342 -0
  128. package/src/generated/apis/AdGroupsApi.ts +408 -0
  129. package/src/generated/apis/AdsApi.ts +399 -0
  130. package/src/generated/apis/AssetsApi.ts +405 -0
  131. package/src/generated/apis/CampaignAssetsApi.ts +330 -0
  132. package/src/generated/apis/CampaignsApi.ts +408 -0
  133. package/src/generated/apis/KeywordsApi.ts +399 -0
  134. package/src/generated/apis/MediaApi.ts +99 -0
  135. package/src/generated/apis/MetaApi.ts +186 -0
  136. package/src/generated/apis/ReportsApi.ts +99 -0
  137. package/src/generated/apis/SitesApi.ts +402 -0
  138. package/src/generated/apis/SyncApi.ts +468 -0
  139. package/src/generated/apis/index.ts +14 -0
  140. package/src/generated/index.ts +5 -0
  141. package/src/generated/models/AdAssetCreate.ts +133 -0
  142. package/src/generated/models/AdCreate.ts +234 -0
  143. package/src/generated/models/AdGroupAudience.ts +83 -0
  144. package/src/generated/models/AdGroupCreate.ts +167 -0
  145. package/src/generated/models/AdGroupUpdate.ts +165 -0
  146. package/src/generated/models/AdUpdate.ts +228 -0
  147. package/src/generated/models/AssetCreate.ts +175 -0
  148. package/src/generated/models/AssetUpdate.ts +125 -0
  149. package/src/generated/models/BiddingStrategy.ts +114 -0
  150. package/src/generated/models/CampaignAdScheduleField.ts +16 -0
  151. package/src/generated/models/CampaignAssetCreate.ts +100 -0
  152. package/src/generated/models/CampaignCreate.ts +263 -0
  153. package/src/generated/models/CampaignTargeting.ts +89 -0
  154. package/src/generated/models/CampaignUpdate.ts +261 -0
  155. package/src/generated/models/CampaignsListCursorParameter.ts +46 -0
  156. package/src/generated/models/ErrorEnvelope.ts +74 -0
  157. package/src/generated/models/ErrorEnvelopeError.ts +83 -0
  158. package/src/generated/models/KeywordCreate.ts +137 -0
  159. package/src/generated/models/KeywordUpdate.ts +135 -0
  160. package/src/generated/models/Location.ts +105 -0
  161. package/src/generated/models/NegativeKeywordEntry.ts +87 -0
  162. package/src/generated/models/ScheduleWindow.ts +146 -0
  163. package/src/generated/models/SiteCreate.ts +173 -0
  164. package/src/generated/models/SiteCreateSeoKeywords.ts +16 -0
  165. package/src/generated/models/SiteCreateTargetGroups.ts +16 -0
  166. package/src/generated/models/SiteLinkEntry.ts +89 -0
  167. package/src/generated/models/SiteUpdate.ts +171 -0
  168. package/src/generated/models/Sitelink.ts +105 -0
  169. package/src/generated/models/StructuredSchedule.ts +82 -0
  170. package/src/generated/models/StructuredSnippet.ts +75 -0
  171. package/src/generated/models/SuccessEnvelope.ts +82 -0
  172. package/src/generated/models/SuccessEnvelopeMeta.ts +81 -0
  173. package/src/generated/models/SuccessEnvelopeMetaNextCursor.ts +46 -0
  174. package/src/generated/models/SyncCampaignDetail.ts +137 -0
  175. package/src/generated/models/SyncPlan.ts +73 -0
  176. package/src/generated/models/SyncPlanPlatformsValue.ts +73 -0
  177. package/src/generated/models/SyncPlanPlatformsValueTotals.ts +81 -0
  178. package/src/generated/models/SyncProgress.ts +105 -0
  179. package/src/generated/models/SyncRecord.ts +174 -0
  180. package/src/generated/models/SyncRecordErrorsInner.ts +73 -0
  181. package/src/generated/models/SyncTotals.ts +113 -0
  182. package/src/generated/models/SyncTriggerRequest.ts +81 -0
  183. package/src/generated/models/SyncTriggerRequestOptions.ts +97 -0
  184. package/src/generated/models/SyncTriggerResponse.ts +108 -0
  185. package/src/generated/models/SyncUnlinkRequest.ts +82 -0
  186. package/src/generated/models/index.ts +47 -0
  187. package/src/generated/runtime.ts +431 -0
  188. package/src/index.ts +229 -0
@@ -0,0 +1,408 @@
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
+ AdGroupCreate,
19
+ AdGroupUpdate,
20
+ CampaignsListCursorParameter,
21
+ ErrorEnvelope,
22
+ SuccessEnvelope,
23
+ } from '../models/index';
24
+ import {
25
+ AdGroupCreateFromJSON,
26
+ AdGroupCreateToJSON,
27
+ AdGroupUpdateFromJSON,
28
+ AdGroupUpdateToJSON,
29
+ CampaignsListCursorParameterFromJSON,
30
+ CampaignsListCursorParameterToJSON,
31
+ ErrorEnvelopeFromJSON,
32
+ ErrorEnvelopeToJSON,
33
+ SuccessEnvelopeFromJSON,
34
+ SuccessEnvelopeToJSON,
35
+ } from '../models/index';
36
+
37
+ export interface AdGroupsCreateRequest {
38
+ adGroupCreate: AdGroupCreate;
39
+ xSpaceId?: string;
40
+ }
41
+
42
+ export interface AdGroupsDeleteRequest {
43
+ id: string;
44
+ cascade?: boolean;
45
+ xSpaceId?: string;
46
+ }
47
+
48
+ export interface AdGroupsGetRequest {
49
+ id: string;
50
+ xSpaceId?: string;
51
+ }
52
+
53
+ export interface AdGroupsListRequest {
54
+ limit?: number;
55
+ cursor?: CampaignsListCursorParameter;
56
+ xSpaceId?: string;
57
+ }
58
+
59
+ export interface AdGroupsUpdateRequest {
60
+ id: string;
61
+ adGroupUpdate: AdGroupUpdate;
62
+ xSpaceId?: string;
63
+ }
64
+
65
+ /**
66
+ * AdGroupsApi - interface
67
+ *
68
+ * @export
69
+ * @interface AdGroupsApiInterface
70
+ */
71
+ export interface AdGroupsApiInterface {
72
+ /**
73
+ *
74
+ * @summary Create ad group
75
+ * @param {AdGroupCreate} adGroupCreate
76
+ * @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.
77
+ * @param {*} [options] Override http request option.
78
+ * @throws {RequiredError}
79
+ * @memberof AdGroupsApiInterface
80
+ */
81
+ adGroupsCreateRaw(requestParameters: AdGroupsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
82
+
83
+ /**
84
+ * Create ad group
85
+ */
86
+ adGroupsCreate(requestParameters: AdGroupsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
87
+
88
+ /**
89
+ * 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.
90
+ * @summary Delete ad group
91
+ * @param {string} id
92
+ * @param {boolean} [cascade] Set to &#x60;true&#x60; to delete dependent ads and keywords along with the ad group.
93
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
94
+ * @param {*} [options] Override http request option.
95
+ * @throws {RequiredError}
96
+ * @memberof AdGroupsApiInterface
97
+ */
98
+ adGroupsDeleteRaw(requestParameters: AdGroupsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
99
+
100
+ /**
101
+ * 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.
102
+ * Delete ad group
103
+ */
104
+ adGroupsDelete(requestParameters: AdGroupsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
105
+
106
+ /**
107
+ *
108
+ * @summary Get ad group
109
+ * @param {string} id
110
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
111
+ * @param {*} [options] Override http request option.
112
+ * @throws {RequiredError}
113
+ * @memberof AdGroupsApiInterface
114
+ */
115
+ adGroupsGetRaw(requestParameters: AdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
116
+
117
+ /**
118
+ * Get ad group
119
+ */
120
+ adGroupsGet(requestParameters: AdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
121
+
122
+ /**
123
+ *
124
+ * @summary List ad groups
125
+ * @param {number} [limit] Maximum items to return. Default 50, max 200.
126
+ * @param {CampaignsListCursorParameter} [cursor] Opaque pagination cursor returned by the previous page in &#x60;meta.nextCursor&#x60;.
127
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
128
+ * @param {*} [options] Override http request option.
129
+ * @throws {RequiredError}
130
+ * @memberof AdGroupsApiInterface
131
+ */
132
+ adGroupsListRaw(requestParameters: AdGroupsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
133
+
134
+ /**
135
+ * List ad groups
136
+ */
137
+ adGroupsList(requestParameters: AdGroupsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
138
+
139
+ /**
140
+ *
141
+ * @summary Update ad group
142
+ * @param {string} id
143
+ * @param {AdGroupUpdate} adGroupUpdate
144
+ * @param {string} [xSpaceId] Target Space ID (e.g. &#x60;spc_…&#x60;). Omit to use the caller\&#39;s Personal Space. Invalid Space → 404 SPACE_NOT_FOUND; non-member → 403 NOT_A_MEMBER.
145
+ * @param {*} [options] Override http request option.
146
+ * @throws {RequiredError}
147
+ * @memberof AdGroupsApiInterface
148
+ */
149
+ adGroupsUpdateRaw(requestParameters: AdGroupsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>>;
150
+
151
+ /**
152
+ * Update ad group
153
+ */
154
+ adGroupsUpdate(requestParameters: AdGroupsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope>;
155
+
156
+ }
157
+
158
+ /**
159
+ *
160
+ */
161
+ export class AdGroupsApi extends runtime.BaseAPI implements AdGroupsApiInterface {
162
+
163
+ /**
164
+ * Create ad group
165
+ */
166
+ async adGroupsCreateRaw(requestParameters: AdGroupsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
167
+ if (requestParameters['adGroupCreate'] == null) {
168
+ throw new runtime.RequiredError(
169
+ 'adGroupCreate',
170
+ 'Required parameter "adGroupCreate" was null or undefined when calling adGroupsCreate().'
171
+ );
172
+ }
173
+
174
+ const queryParameters: any = {};
175
+
176
+ const headerParameters: runtime.HTTPHeaders = {};
177
+
178
+ headerParameters['Content-Type'] = 'application/json';
179
+
180
+ if (requestParameters['xSpaceId'] != null) {
181
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
182
+ }
183
+
184
+ if (this.configuration && this.configuration.accessToken) {
185
+ const token = this.configuration.accessToken;
186
+ const tokenString = await token("ApiToken", ["ads:write"]);
187
+
188
+ if (tokenString) {
189
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
190
+ }
191
+ }
192
+ const response = await this.request({
193
+ path: `/api/v1/ad-groups`,
194
+ method: 'POST',
195
+ headers: headerParameters,
196
+ query: queryParameters,
197
+ body: AdGroupCreateToJSON(requestParameters['adGroupCreate']),
198
+ }, initOverrides);
199
+
200
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
201
+ }
202
+
203
+ /**
204
+ * Create ad group
205
+ */
206
+ async adGroupsCreate(requestParameters: AdGroupsCreateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
207
+ const response = await this.adGroupsCreateRaw(requestParameters, initOverrides);
208
+ return await response.value();
209
+ }
210
+
211
+ /**
212
+ * 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.
213
+ * Delete ad group
214
+ */
215
+ async adGroupsDeleteRaw(requestParameters: AdGroupsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
216
+ if (requestParameters['id'] == null) {
217
+ throw new runtime.RequiredError(
218
+ 'id',
219
+ 'Required parameter "id" was null or undefined when calling adGroupsDelete().'
220
+ );
221
+ }
222
+
223
+ const queryParameters: any = {};
224
+
225
+ if (requestParameters['cascade'] != null) {
226
+ queryParameters['cascade'] = requestParameters['cascade'];
227
+ }
228
+
229
+ const headerParameters: runtime.HTTPHeaders = {};
230
+
231
+ if (requestParameters['xSpaceId'] != null) {
232
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
233
+ }
234
+
235
+ if (this.configuration && this.configuration.accessToken) {
236
+ const token = this.configuration.accessToken;
237
+ const tokenString = await token("ApiToken", ["ads:write"]);
238
+
239
+ if (tokenString) {
240
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
241
+ }
242
+ }
243
+ const response = await this.request({
244
+ path: `/api/v1/ad-groups/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
245
+ method: 'DELETE',
246
+ headers: headerParameters,
247
+ query: queryParameters,
248
+ }, initOverrides);
249
+
250
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
251
+ }
252
+
253
+ /**
254
+ * 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.
255
+ * Delete ad group
256
+ */
257
+ async adGroupsDelete(requestParameters: AdGroupsDeleteRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
258
+ const response = await this.adGroupsDeleteRaw(requestParameters, initOverrides);
259
+ return await response.value();
260
+ }
261
+
262
+ /**
263
+ * Get ad group
264
+ */
265
+ async adGroupsGetRaw(requestParameters: AdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
266
+ if (requestParameters['id'] == null) {
267
+ throw new runtime.RequiredError(
268
+ 'id',
269
+ 'Required parameter "id" was null or undefined when calling adGroupsGet().'
270
+ );
271
+ }
272
+
273
+ const queryParameters: any = {};
274
+
275
+ const headerParameters: runtime.HTTPHeaders = {};
276
+
277
+ if (requestParameters['xSpaceId'] != null) {
278
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
279
+ }
280
+
281
+ if (this.configuration && this.configuration.accessToken) {
282
+ const token = this.configuration.accessToken;
283
+ const tokenString = await token("ApiToken", ["ads:read"]);
284
+
285
+ if (tokenString) {
286
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
287
+ }
288
+ }
289
+ const response = await this.request({
290
+ path: `/api/v1/ad-groups/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
291
+ method: 'GET',
292
+ headers: headerParameters,
293
+ query: queryParameters,
294
+ }, initOverrides);
295
+
296
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
297
+ }
298
+
299
+ /**
300
+ * Get ad group
301
+ */
302
+ async adGroupsGet(requestParameters: AdGroupsGetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
303
+ const response = await this.adGroupsGetRaw(requestParameters, initOverrides);
304
+ return await response.value();
305
+ }
306
+
307
+ /**
308
+ * List ad groups
309
+ */
310
+ async adGroupsListRaw(requestParameters: AdGroupsListRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
311
+ const queryParameters: any = {};
312
+
313
+ if (requestParameters['limit'] != null) {
314
+ queryParameters['limit'] = requestParameters['limit'];
315
+ }
316
+
317
+ if (requestParameters['cursor'] != null) {
318
+ queryParameters['cursor'] = requestParameters['cursor'];
319
+ }
320
+
321
+ const headerParameters: runtime.HTTPHeaders = {};
322
+
323
+ if (requestParameters['xSpaceId'] != null) {
324
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
325
+ }
326
+
327
+ if (this.configuration && this.configuration.accessToken) {
328
+ const token = this.configuration.accessToken;
329
+ const tokenString = await token("ApiToken", ["ads:read"]);
330
+
331
+ if (tokenString) {
332
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
333
+ }
334
+ }
335
+ const response = await this.request({
336
+ path: `/api/v1/ad-groups`,
337
+ method: 'GET',
338
+ headers: headerParameters,
339
+ query: queryParameters,
340
+ }, initOverrides);
341
+
342
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
343
+ }
344
+
345
+ /**
346
+ * List ad groups
347
+ */
348
+ async adGroupsList(requestParameters: AdGroupsListRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
349
+ const response = await this.adGroupsListRaw(requestParameters, initOverrides);
350
+ return await response.value();
351
+ }
352
+
353
+ /**
354
+ * Update ad group
355
+ */
356
+ async adGroupsUpdateRaw(requestParameters: AdGroupsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessEnvelope>> {
357
+ if (requestParameters['id'] == null) {
358
+ throw new runtime.RequiredError(
359
+ 'id',
360
+ 'Required parameter "id" was null or undefined when calling adGroupsUpdate().'
361
+ );
362
+ }
363
+
364
+ if (requestParameters['adGroupUpdate'] == null) {
365
+ throw new runtime.RequiredError(
366
+ 'adGroupUpdate',
367
+ 'Required parameter "adGroupUpdate" was null or undefined when calling adGroupsUpdate().'
368
+ );
369
+ }
370
+
371
+ const queryParameters: any = {};
372
+
373
+ const headerParameters: runtime.HTTPHeaders = {};
374
+
375
+ headerParameters['Content-Type'] = 'application/json';
376
+
377
+ if (requestParameters['xSpaceId'] != null) {
378
+ headerParameters['X-Space-Id'] = String(requestParameters['xSpaceId']);
379
+ }
380
+
381
+ if (this.configuration && this.configuration.accessToken) {
382
+ const token = this.configuration.accessToken;
383
+ const tokenString = await token("ApiToken", ["ads:write"]);
384
+
385
+ if (tokenString) {
386
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
387
+ }
388
+ }
389
+ const response = await this.request({
390
+ path: `/api/v1/ad-groups/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters['id']))),
391
+ method: 'PUT',
392
+ headers: headerParameters,
393
+ query: queryParameters,
394
+ body: AdGroupUpdateToJSON(requestParameters['adGroupUpdate']),
395
+ }, initOverrides);
396
+
397
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessEnvelopeFromJSON(jsonValue));
398
+ }
399
+
400
+ /**
401
+ * Update ad group
402
+ */
403
+ async adGroupsUpdate(requestParameters: AdGroupsUpdateRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessEnvelope> {
404
+ const response = await this.adGroupsUpdateRaw(requestParameters, initOverrides);
405
+ return await response.value();
406
+ }
407
+
408
+ }