@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,100 @@
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
+ *
18
+ * @export
19
+ * @interface CampaignAssetCreate
20
+ */
21
+ export interface CampaignAssetCreate {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof CampaignAssetCreate
26
+ */
27
+ campaignId: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof CampaignAssetCreate
32
+ */
33
+ assetId: string;
34
+ /**
35
+ *
36
+ * @type {string}
37
+ * @memberof CampaignAssetCreate
38
+ */
39
+ role: CampaignAssetCreateRoleEnum;
40
+ }
41
+
42
+
43
+ /**
44
+ * @export
45
+ */
46
+ export const CampaignAssetCreateRoleEnum = {
47
+ MARKETING_IMAGE: 'MARKETING_IMAGE',
48
+ SQUARE_MARKETING_IMAGE: 'SQUARE_MARKETING_IMAGE',
49
+ PORTRAIT_MARKETING_IMAGE: 'PORTRAIT_MARKETING_IMAGE',
50
+ LOGO: 'LOGO',
51
+ LANDSCAPE_LOGO: 'LANDSCAPE_LOGO',
52
+ YOUTUBE_VIDEO: 'YOUTUBE_VIDEO',
53
+ VIDEO: 'VIDEO'
54
+ } as const;
55
+ export type CampaignAssetCreateRoleEnum = typeof CampaignAssetCreateRoleEnum[keyof typeof CampaignAssetCreateRoleEnum];
56
+
57
+
58
+ /**
59
+ * Check if a given object implements the CampaignAssetCreate interface.
60
+ */
61
+ export function instanceOfCampaignAssetCreate(value: object): value is CampaignAssetCreate {
62
+ if (!('campaignId' in value) || value['campaignId'] === undefined) return false;
63
+ if (!('assetId' in value) || value['assetId'] === undefined) return false;
64
+ if (!('role' in value) || value['role'] === undefined) return false;
65
+ return true;
66
+ }
67
+
68
+ export function CampaignAssetCreateFromJSON(json: any): CampaignAssetCreate {
69
+ return CampaignAssetCreateFromJSONTyped(json, false);
70
+ }
71
+
72
+ export function CampaignAssetCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): CampaignAssetCreate {
73
+ if (json == null) {
74
+ return json;
75
+ }
76
+ return {
77
+
78
+ 'campaignId': json['campaignId'],
79
+ 'assetId': json['assetId'],
80
+ 'role': json['role'],
81
+ };
82
+ }
83
+
84
+ export function CampaignAssetCreateToJSON(json: any): CampaignAssetCreate {
85
+ return CampaignAssetCreateToJSONTyped(json, false);
86
+ }
87
+
88
+ export function CampaignAssetCreateToJSONTyped(value?: CampaignAssetCreate | null, ignoreDiscriminator: boolean = false): any {
89
+ if (value == null) {
90
+ return value;
91
+ }
92
+
93
+ return {
94
+
95
+ 'campaignId': value['campaignId'],
96
+ 'assetId': value['assetId'],
97
+ 'role': value['role'],
98
+ };
99
+ }
100
+
@@ -0,0 +1,263 @@
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
+ import type { CampaignAdScheduleField } from './CampaignAdScheduleField';
17
+ import {
18
+ CampaignAdScheduleFieldFromJSON,
19
+ CampaignAdScheduleFieldFromJSONTyped,
20
+ CampaignAdScheduleFieldToJSON,
21
+ CampaignAdScheduleFieldToJSONTyped,
22
+ } from './CampaignAdScheduleField';
23
+ import type { BiddingStrategy } from './BiddingStrategy';
24
+ import {
25
+ BiddingStrategyFromJSON,
26
+ BiddingStrategyFromJSONTyped,
27
+ BiddingStrategyToJSON,
28
+ BiddingStrategyToJSONTyped,
29
+ } from './BiddingStrategy';
30
+ import type { CampaignTargeting } from './CampaignTargeting';
31
+ import {
32
+ CampaignTargetingFromJSON,
33
+ CampaignTargetingFromJSONTyped,
34
+ CampaignTargetingToJSON,
35
+ CampaignTargetingToJSONTyped,
36
+ } from './CampaignTargeting';
37
+ import type { NegativeKeywordEntry } from './NegativeKeywordEntry';
38
+ import {
39
+ NegativeKeywordEntryFromJSON,
40
+ NegativeKeywordEntryFromJSONTyped,
41
+ NegativeKeywordEntryToJSON,
42
+ NegativeKeywordEntryToJSONTyped,
43
+ } from './NegativeKeywordEntry';
44
+ import type { Location } from './Location';
45
+ import {
46
+ LocationFromJSON,
47
+ LocationFromJSONTyped,
48
+ LocationToJSON,
49
+ LocationToJSONTyped,
50
+ } from './Location';
51
+
52
+ /**
53
+ *
54
+ * @export
55
+ * @interface CampaignCreate
56
+ */
57
+ export interface CampaignCreate {
58
+ /**
59
+ *
60
+ * @type {string}
61
+ * @memberof CampaignCreate
62
+ */
63
+ name: string;
64
+ /**
65
+ *
66
+ * @type {number}
67
+ * @memberof CampaignCreate
68
+ */
69
+ budget: number;
70
+ /**
71
+ * ISO 4217 (USD, EUR, …).
72
+ * @type {string}
73
+ * @memberof CampaignCreate
74
+ */
75
+ currency?: string;
76
+ /**
77
+ *
78
+ * @type {string}
79
+ * @memberof CampaignCreate
80
+ */
81
+ status?: CampaignCreateStatusEnum;
82
+ /**
83
+ *
84
+ * @type {string}
85
+ * @memberof CampaignCreate
86
+ */
87
+ type?: CampaignCreateTypeEnum;
88
+ /**
89
+ *
90
+ * @type {string}
91
+ * @memberof CampaignCreate
92
+ */
93
+ networks?: string;
94
+ /**
95
+ *
96
+ * @type {string}
97
+ * @memberof CampaignCreate
98
+ */
99
+ languages?: string;
100
+ /**
101
+ * String ID link to a Site.
102
+ * @type {string}
103
+ * @memberof CampaignCreate
104
+ */
105
+ siteId?: string;
106
+ /**
107
+ * Free-form goal text consumed by AI.
108
+ * @type {string}
109
+ * @memberof CampaignCreate
110
+ */
111
+ goal?: string;
112
+ /**
113
+ *
114
+ * @type {Array<Location>}
115
+ * @memberof CampaignCreate
116
+ */
117
+ targetLocations?: Array<Location>;
118
+ /**
119
+ *
120
+ * @type {Array<string>}
121
+ * @memberof CampaignCreate
122
+ */
123
+ customLabels?: Array<string>;
124
+ /**
125
+ *
126
+ * @type {CampaignAdScheduleField}
127
+ * @memberof CampaignCreate
128
+ */
129
+ adSchedule?: CampaignAdScheduleField;
130
+ /**
131
+ *
132
+ * @type {BiddingStrategy}
133
+ * @memberof CampaignCreate
134
+ */
135
+ biddingStrategy?: BiddingStrategy;
136
+ /**
137
+ *
138
+ * @type {CampaignTargeting}
139
+ * @memberof CampaignCreate
140
+ */
141
+ targeting?: CampaignTargeting;
142
+ /**
143
+ *
144
+ * @type {string}
145
+ * @memberof CampaignCreate
146
+ */
147
+ trackingUrlTemplate?: string;
148
+ /**
149
+ *
150
+ * @type {string}
151
+ * @memberof CampaignCreate
152
+ */
153
+ finalUrlSuffix?: string;
154
+ /**
155
+ *
156
+ * @type {{ [key: string]: string; }}
157
+ * @memberof CampaignCreate
158
+ */
159
+ urlCustomParameters?: { [key: string]: string; };
160
+ /**
161
+ *
162
+ * @type {Array<NegativeKeywordEntry>}
163
+ * @memberof CampaignCreate
164
+ */
165
+ negativeKeywords?: Array<NegativeKeywordEntry>;
166
+ }
167
+
168
+
169
+ /**
170
+ * @export
171
+ */
172
+ export const CampaignCreateStatusEnum = {
173
+ ENABLED: 'ENABLED',
174
+ PAUSED: 'PAUSED',
175
+ REMOVED: 'REMOVED'
176
+ } as const;
177
+ export type CampaignCreateStatusEnum = typeof CampaignCreateStatusEnum[keyof typeof CampaignCreateStatusEnum];
178
+
179
+ /**
180
+ * @export
181
+ */
182
+ export const CampaignCreateTypeEnum = {
183
+ SEARCH: 'SEARCH',
184
+ DISPLAY: 'DISPLAY',
185
+ VIDEO: 'VIDEO',
186
+ SHOPPING: 'SHOPPING',
187
+ PERFORMANCE_MAX: 'PERFORMANCE_MAX'
188
+ } as const;
189
+ export type CampaignCreateTypeEnum = typeof CampaignCreateTypeEnum[keyof typeof CampaignCreateTypeEnum];
190
+
191
+
192
+ /**
193
+ * Check if a given object implements the CampaignCreate interface.
194
+ */
195
+ export function instanceOfCampaignCreate(value: object): value is CampaignCreate {
196
+ if (!('name' in value) || value['name'] === undefined) return false;
197
+ if (!('budget' in value) || value['budget'] === undefined) return false;
198
+ return true;
199
+ }
200
+
201
+ export function CampaignCreateFromJSON(json: any): CampaignCreate {
202
+ return CampaignCreateFromJSONTyped(json, false);
203
+ }
204
+
205
+ export function CampaignCreateFromJSONTyped(json: any, ignoreDiscriminator: boolean): CampaignCreate {
206
+ if (json == null) {
207
+ return json;
208
+ }
209
+ return {
210
+
211
+ 'name': json['name'],
212
+ 'budget': json['budget'],
213
+ 'currency': json['currency'] == null ? undefined : json['currency'],
214
+ 'status': json['status'] == null ? undefined : json['status'],
215
+ 'type': json['type'] == null ? undefined : json['type'],
216
+ 'networks': json['networks'] == null ? undefined : json['networks'],
217
+ 'languages': json['languages'] == null ? undefined : json['languages'],
218
+ 'siteId': json['siteId'] == null ? undefined : json['siteId'],
219
+ 'goal': json['goal'] == null ? undefined : json['goal'],
220
+ 'targetLocations': json['targetLocations'] == null ? undefined : ((json['targetLocations'] as Array<any>).map(LocationFromJSON)),
221
+ 'customLabels': json['customLabels'] == null ? undefined : json['customLabels'],
222
+ 'adSchedule': json['adSchedule'] == null ? undefined : CampaignAdScheduleFieldFromJSON(json['adSchedule']),
223
+ 'biddingStrategy': json['biddingStrategy'] == null ? undefined : BiddingStrategyFromJSON(json['biddingStrategy']),
224
+ 'targeting': json['targeting'] == null ? undefined : CampaignTargetingFromJSON(json['targeting']),
225
+ 'trackingUrlTemplate': json['trackingUrlTemplate'] == null ? undefined : json['trackingUrlTemplate'],
226
+ 'finalUrlSuffix': json['finalUrlSuffix'] == null ? undefined : json['finalUrlSuffix'],
227
+ 'urlCustomParameters': json['urlCustomParameters'] == null ? undefined : json['urlCustomParameters'],
228
+ 'negativeKeywords': json['negativeKeywords'] == null ? undefined : ((json['negativeKeywords'] as Array<any>).map(NegativeKeywordEntryFromJSON)),
229
+ };
230
+ }
231
+
232
+ export function CampaignCreateToJSON(json: any): CampaignCreate {
233
+ return CampaignCreateToJSONTyped(json, false);
234
+ }
235
+
236
+ export function CampaignCreateToJSONTyped(value?: CampaignCreate | null, ignoreDiscriminator: boolean = false): any {
237
+ if (value == null) {
238
+ return value;
239
+ }
240
+
241
+ return {
242
+
243
+ 'name': value['name'],
244
+ 'budget': value['budget'],
245
+ 'currency': value['currency'],
246
+ 'status': value['status'],
247
+ 'type': value['type'],
248
+ 'networks': value['networks'],
249
+ 'languages': value['languages'],
250
+ 'siteId': value['siteId'],
251
+ 'goal': value['goal'],
252
+ 'targetLocations': value['targetLocations'] == null ? undefined : ((value['targetLocations'] as Array<any>).map(LocationToJSON)),
253
+ 'customLabels': value['customLabels'],
254
+ 'adSchedule': CampaignAdScheduleFieldToJSON(value['adSchedule']),
255
+ 'biddingStrategy': BiddingStrategyToJSON(value['biddingStrategy']),
256
+ 'targeting': CampaignTargetingToJSON(value['targeting']),
257
+ 'trackingUrlTemplate': value['trackingUrlTemplate'],
258
+ 'finalUrlSuffix': value['finalUrlSuffix'],
259
+ 'urlCustomParameters': value['urlCustomParameters'],
260
+ 'negativeKeywords': value['negativeKeywords'] == null ? undefined : ((value['negativeKeywords'] as Array<any>).map(NegativeKeywordEntryToJSON)),
261
+ };
262
+ }
263
+
@@ -0,0 +1,89 @@
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
+ * US-ADS-132 structured targeting (schedule, devices, radius, LinkedIn).
18
+ * @export
19
+ * @interface CampaignTargeting
20
+ */
21
+ export interface CampaignTargeting {
22
+ /**
23
+ *
24
+ * @type {Array<object>}
25
+ * @memberof CampaignTargeting
26
+ */
27
+ schedule?: Array<object>;
28
+ /**
29
+ *
30
+ * @type {object}
31
+ * @memberof CampaignTargeting
32
+ */
33
+ devices?: object;
34
+ /**
35
+ *
36
+ * @type {object}
37
+ * @memberof CampaignTargeting
38
+ */
39
+ radius?: object;
40
+ /**
41
+ *
42
+ * @type {object}
43
+ * @memberof CampaignTargeting
44
+ */
45
+ linkedin?: object;
46
+ }
47
+
48
+ /**
49
+ * Check if a given object implements the CampaignTargeting interface.
50
+ */
51
+ export function instanceOfCampaignTargeting(value: object): value is CampaignTargeting {
52
+ return true;
53
+ }
54
+
55
+ export function CampaignTargetingFromJSON(json: any): CampaignTargeting {
56
+ return CampaignTargetingFromJSONTyped(json, false);
57
+ }
58
+
59
+ export function CampaignTargetingFromJSONTyped(json: any, ignoreDiscriminator: boolean): CampaignTargeting {
60
+ if (json == null) {
61
+ return json;
62
+ }
63
+ return {
64
+
65
+ 'schedule': json['schedule'] == null ? undefined : json['schedule'],
66
+ 'devices': json['devices'] == null ? undefined : json['devices'],
67
+ 'radius': json['radius'] == null ? undefined : json['radius'],
68
+ 'linkedin': json['linkedin'] == null ? undefined : json['linkedin'],
69
+ };
70
+ }
71
+
72
+ export function CampaignTargetingToJSON(json: any): CampaignTargeting {
73
+ return CampaignTargetingToJSONTyped(json, false);
74
+ }
75
+
76
+ export function CampaignTargetingToJSONTyped(value?: CampaignTargeting | null, ignoreDiscriminator: boolean = false): any {
77
+ if (value == null) {
78
+ return value;
79
+ }
80
+
81
+ return {
82
+
83
+ 'schedule': value['schedule'],
84
+ 'devices': value['devices'],
85
+ 'radius': value['radius'],
86
+ 'linkedin': value['linkedin'],
87
+ };
88
+ }
89
+