Failed Conditions
Push — master ( 81ead6...837ea5 )
by
unknown
13:08
created

AdSet::getEndpoint()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
c 3
b 0
f 0
dl 0
loc 3
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
/**
3
 * Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
4
 *
5
 * You are hereby granted a non-exclusive, worldwide, royalty-free license to
6
 * use, copy, modify, and distribute this software in source code or binary
7
 * form for use in connection with the web services and APIs provided by
8
 * Facebook.
9
 *
10
 * As with any software that integrates with the Facebook platform, your use
11
 * of this software is subject to the Facebook Developer Principles and
12
 * Policies [http://developers.facebook.com/policy/]. This copyright notice
13
 * shall be included in all copies or substantial portions of the software.
14
 *
15
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21
 * DEALINGS IN THE SOFTWARE.
22
 *
23
 */
24
25
namespace FacebookAds\Object;
26
27
use FacebookAds\ApiRequest;
28
use FacebookAds\Cursor;
29
use FacebookAds\Http\RequestInterface;
30
use FacebookAds\TypeChecker;
31
use FacebookAds\Object\Fields\AdSetFields;
32
use FacebookAds\Object\Values\AdActivityCategoryValues;
33
use FacebookAds\Object\Values\AdAsyncRequestStatusesValues;
34
use FacebookAds\Object\Values\AdDatePresetValues;
35
use FacebookAds\Object\Values\AdLabelExecutionOptionsValues;
36
use FacebookAds\Object\Values\AdSetBillingEventValues;
37
use FacebookAds\Object\Values\AdSetConfiguredStatusValues;
38
use FacebookAds\Object\Values\AdSetDatePresetValues;
39
use FacebookAds\Object\Values\AdSetEffectiveStatusValues;
40
use FacebookAds\Object\Values\AdSetExecutionOptionsValues;
41
use FacebookAds\Object\Values\AdSetOperatorValues;
42
use FacebookAds\Object\Values\AdSetOptimizationGoalValues;
43
use FacebookAds\Object\Values\AdSetStatusValues;
44
use FacebookAds\Object\Values\AdsInsightsActionAttributionWindowsValues;
45
use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
46
use FacebookAds\Object\Values\AdsInsightsActionReportTimeValues;
47
use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
48
use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
49
use FacebookAds\Object\Values\AdsInsightsLevelValues;
50
use FacebookAds\Object\Values\AdsInsightsSummaryActionBreakdownsValues;
51
use FacebookAds\Object\Values\AdsInsightsSummaryValues;
52
use FacebookAds\Object\Traits\AdLabelAwareCrudObjectTrait;
53
use FacebookAds\Object\Traits\ObjectValidation;
54
55
/**
56
 * This class is auto-genereated.
57
 *
58
 * For any issues or feature requests related to this class, please let us know
59
 * on github and we'll fix in our codegen framework. We'll not be able to accept
60
 * pull request for this class.
61
 *
62
 */
63
64
class AdSet extends AbstractArchivableCrudObject
0 ignored issues
show
Coding Style introduced by
Expected 0 spaces between "AbstractArchivableCrudObject" and comma; 1 found
Loading history...
65
  implements CanRedownloadInterface {
0 ignored issues
show
Coding Style introduced by
The implements keyword must be on the same line as the class name
Loading history...
66
67
  use AdLabelAwareCrudObjectTrait;
68
  use ObjectValidation;
69
70
  protected function getEndpoint() {
71
    return 'adsets';
72
  }
73
74
  /**
75
   * @return AdSetFields
76
   */
77
  public static function getFieldsEnum() {
78
    return AdSetFields::getInstance();
79
  }
80
81
  protected static function getReferencedEnums() {
82
    $ref_enums = array();
83
    $ref_enums['BillingEvent'] = AdSetBillingEventValues::getInstance()->getValues();
84
    $ref_enums['ConfiguredStatus'] = AdSetConfiguredStatusValues::getInstance()->getValues();
85
    $ref_enums['EffectiveStatus'] = AdSetEffectiveStatusValues::getInstance()->getValues();
86
    $ref_enums['OptimizationGoal'] = AdSetOptimizationGoalValues::getInstance()->getValues();
87
    $ref_enums['Status'] = AdSetStatusValues::getInstance()->getValues();
88
    $ref_enums['DatePreset'] = AdSetDatePresetValues::getInstance()->getValues();
89
    $ref_enums['ExecutionOptions'] = AdSetExecutionOptionsValues::getInstance()->getValues();
90
    $ref_enums['Operator'] = AdSetOperatorValues::getInstance()->getValues();
91
    return $ref_enums;
92
  }
93
94
95
  public function getActivities(array $fields = array(), array $params = array(), $pending = false) {
96
    $this->assureId();
97
98
    $param_types = array(
99
      'after' => 'string',
100
      'business_id' => 'string',
101
      'category' => 'category_enum',
102
      'limit' => 'int',
103
      'since' => 'datetime',
104
      'uid' => 'int',
105
      'until' => 'datetime',
106
    );
107
    $enums = array(
108
      'category_enum' => AdActivityCategoryValues::getInstance()->getValues(),
109
    );
110
111
    $request = new ApiRequest(
112
      $this->api,
113
      $this->data['id'],
114
      RequestInterface::METHOD_GET,
115
      '/activities',
116
      new AdActivity(),
117
      'EDGE',
118
      AdActivity::getFieldsEnum()->getValues(),
119
      new TypeChecker($param_types, $enums)
120
    );
121
    $request->addParams($params);
122
    $request->addFields($fields);
123
    return $pending ? $request : $request->execute();
124
  }
125
126
  public function getAdCreatives(array $fields = array(), array $params = array(), $pending = false) {
127
    $this->assureId();
128
129
    $param_types = array(
130
    );
131
    $enums = array(
132
    );
133
134
    $request = new ApiRequest(
135
      $this->api,
136
      $this->data['id'],
137
      RequestInterface::METHOD_GET,
138
      '/adcreatives',
139
      new AdCreative(),
140
      'EDGE',
141
      AdCreative::getFieldsEnum()->getValues(),
142
      new TypeChecker($param_types, $enums)
143
    );
144
    $request->addParams($params);
145
    $request->addFields($fields);
146
    return $pending ? $request : $request->execute();
147
  }
148
149
  public function deleteAdLabels(array $fields = array(), array $params = array(), $pending = false) {
150
    $this->assureId();
151
152
    $param_types = array(
153
      'adlabels' => 'list<Object>',
154
      'execution_options' => 'list<execution_options_enum>',
155
      'id' => 'string',
156
    );
157
    $enums = array(
158
      'execution_options_enum' => AdLabelExecutionOptionsValues::getInstance()->getValues(),
159
    );
160
161
    $request = new ApiRequest(
162
      $this->api,
163
      $this->data['id'],
164
      RequestInterface::METHOD_DELETE,
165
      '/adlabels',
166
      new AbstractCrudObject(),
167
      'EDGE',
168
      array(),
169
      new TypeChecker($param_types, $enums)
170
    );
171
    $request->addParams($params);
172
    $request->addFields($fields);
173
    return $pending ? $request : $request->execute();
174
  }
175
176
  public function createAdLabel(array $fields = array(), array $params = array(), $pending = false) {
177
    $this->assureId();
178
179
    $param_types = array(
180
      'adlabels' => 'list<Object>',
181
      'execution_options' => 'list<execution_options_enum>',
182
      'id' => 'string',
183
    );
184
    $enums = array(
185
      'execution_options_enum' => AdLabelExecutionOptionsValues::getInstance()->getValues(),
186
    );
187
188
    $request = new ApiRequest(
189
      $this->api,
190
      $this->data['id'],
191
      RequestInterface::METHOD_POST,
192
      '/adlabels',
193
      new AbstractCrudObject(),
194
      'EDGE',
195
      array(),
196
      new TypeChecker($param_types, $enums)
197
    );
198
    $request->addParams($params);
199
    $request->addFields($fields);
200
    return $pending ? $request : $request->execute();
201
  }
202
203
  public function getAds(array $fields = array(), array $params = array(), $pending = false) {
204
    $this->assureId();
205
206
    $param_types = array(
207
      'ad_draft_id' => 'string',
208
      'date_preset' => 'date_preset_enum',
209
      'effective_status' => 'list<string>',
210
      'include_deleted' => 'bool',
211
      'time_range' => 'map',
212
      'updated_since' => 'int',
213
    );
214
    $enums = array(
215
      'date_preset_enum' => AdDatePresetValues::getInstance()->getValues(),
216
    );
217
218
    $request = new ApiRequest(
219
      $this->api,
220
      $this->data['id'],
221
      RequestInterface::METHOD_GET,
222
      '/ads',
223
      new Ad(),
224
      'EDGE',
225
      Ad::getFieldsEnum()->getValues(),
226
      new TypeChecker($param_types, $enums)
227
    );
228
    $request->addParams($params);
229
    $request->addFields($fields);
230
    return $pending ? $request : $request->execute();
231
  }
232
233
  public function getAsyncAdRequests(array $fields = array(), array $params = array(), $pending = false) {
234
    $this->assureId();
235
236
    $param_types = array(
237
      'statuses' => 'list<statuses_enum>',
238
    );
239
    $enums = array(
240
      'statuses_enum' => AdAsyncRequestStatusesValues::getInstance()->getValues(),
241
    );
242
243
    $request = new ApiRequest(
244
      $this->api,
245
      $this->data['id'],
246
      RequestInterface::METHOD_GET,
247
      '/asyncadrequests',
248
      new AdAsyncRequest(),
249
      'EDGE',
250
      AdAsyncRequest::getFieldsEnum()->getValues(),
251
      new TypeChecker($param_types, $enums)
252
    );
253
    $request->addParams($params);
254
    $request->addFields($fields);
255
    return $pending ? $request : $request->execute();
256
  }
257
258
  public function getInsights(array $fields = array(), array $params = array(), $pending = false) {
259
    $this->assureId();
260
261
    $param_types = array(
262
      'action_attribution_windows' => 'list<action_attribution_windows_enum>',
263
      'action_breakdowns' => 'list<action_breakdowns_enum>',
264
      'action_report_time' => 'action_report_time_enum',
265
      'breakdowns' => 'list<breakdowns_enum>',
266
      'date_preset' => 'date_preset_enum',
267
      'default_summary' => 'bool',
268
      'fields' => 'list<fields_enum>',
269
      'filtering' => 'list<Object>',
270
      'level' => 'level_enum',
271
      'product_id_limit' => 'int',
272
      'sort' => 'list<string>',
273
      'summary' => 'list<summary_enum>',
274
      'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
275
      'time_increment' => 'string',
276
      'time_range' => 'map',
277
      'time_ranges' => 'list<map>',
278
    );
279
    $enums = array(
280
      'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
281
      'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
282
      'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
283
      'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
284
      'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
285
      'summary_enum' => AdsInsightsSummaryValues::getInstance()->getValues(),
286
      'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
287
      'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
288
    );
289
290
    $request = new ApiRequest(
291
      $this->api,
292
      $this->data['id'],
293
      RequestInterface::METHOD_GET,
294
      '/insights',
295
      new AdsInsights(),
296
      'EDGE',
297
      AdsInsights::getFieldsEnum()->getValues(),
298
      new TypeChecker($param_types, $enums)
299
    );
300
    $request->addParams($params);
301
    $request->addFields($fields);
302
    return $pending ? $request : $request->execute();
303
  }
304
305
  public function getInsightsAsync(array $fields = array(), array $params = array(), $pending = false) {
306
    $this->assureId();
307
308
    $param_types = array(
309
      'action_attribution_windows' => 'list<action_attribution_windows_enum>',
310
      'action_breakdowns' => 'list<action_breakdowns_enum>',
311
      'action_report_time' => 'action_report_time_enum',
312
      'breakdowns' => 'list<breakdowns_enum>',
313
      'date_preset' => 'date_preset_enum',
314
      'default_summary' => 'bool',
315
      'fields' => 'list<fields_enum>',
316
      'filtering' => 'list<Object>',
317
      'level' => 'level_enum',
318
      'product_id_limit' => 'int',
319
      'sort' => 'list<string>',
320
      'summary' => 'list<summary_enum>',
321
      'summary_action_breakdowns' => 'list<summary_action_breakdowns_enum>',
322
      'time_increment' => 'string',
323
      'time_range' => 'map',
324
      'time_ranges' => 'list<map>',
325
    );
326
    $enums = array(
327
      'action_attribution_windows_enum' => AdsInsightsActionAttributionWindowsValues::getInstance()->getValues(),
328
      'action_breakdowns_enum' => AdsInsightsActionBreakdownsValues::getInstance()->getValues(),
329
      'action_report_time_enum' => AdsInsightsActionReportTimeValues::getInstance()->getValues(),
330
      'breakdowns_enum' => AdsInsightsBreakdownsValues::getInstance()->getValues(),
331
      'date_preset_enum' => AdsInsightsDatePresetValues::getInstance()->getValues(),
332
      'summary_enum' => AdsInsightsSummaryValues::getInstance()->getValues(),
333
      'level_enum' => AdsInsightsLevelValues::getInstance()->getValues(),
334
      'summary_action_breakdowns_enum' => AdsInsightsSummaryActionBreakdownsValues::getInstance()->getValues(),
335
    );
336
337
    $request = new ApiRequest(
338
      $this->api,
339
      $this->data['id'],
340
      RequestInterface::METHOD_POST,
341
      '/insights',
342
      new AdReportRun(),
343
      'EDGE',
344
      AdReportRun::getFieldsEnum()->getValues(),
345
      new TypeChecker($param_types, $enums)
346
    );
347
    $request->addParams($params);
348
    $request->addFields($fields);
349
    return $pending ? $request : $request->execute();
350
  }
351
352
  public function getTargetingSentenceLines(array $fields = array(), array $params = array(), $pending = false) {
353
    $this->assureId();
354
355
    $param_types = array(
356
    );
357
    $enums = array(
358
    );
359
360
    $request = new ApiRequest(
361
      $this->api,
362
      $this->data['id'],
363
      RequestInterface::METHOD_GET,
364
      '/targetingsentencelines',
365
      new TargetingSentenceLine(),
366
      'EDGE',
367
      TargetingSentenceLine::getFieldsEnum()->getValues(),
368
      new TypeChecker($param_types, $enums)
369
    );
370
    $request->addParams($params);
371
    $request->addFields($fields);
372
    return $pending ? $request : $request->execute();
373
  }
374
375
  public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) {
376
    $this->assureId();
377
378
    $param_types = array(
379
      'account_id' => 'string',
380
      'id' => 'string',
381
    );
382
    $enums = array(
383
    );
384
385
    $request = new ApiRequest(
386
      $this->api,
387
      $this->data['id'],
388
      RequestInterface::METHOD_DELETE,
389
      '/',
390
      new AbstractCrudObject(),
391
      'NODE',
392
      array(),
393
      new TypeChecker($param_types, $enums)
394
    );
395
    $request->addParams($params);
396
    $request->addFields($fields);
397
    return $pending ? $request : $request->execute();
398
  }
399
400
  public function getSelf(array $fields = array(), array $params = array(), $pending = false) {
401
    $this->assureId();
402
403
    $param_types = array(
404
    );
405
    $enums = array(
406
    );
407
408
    $request = new ApiRequest(
409
      $this->api,
410
      $this->data['id'],
411
      RequestInterface::METHOD_GET,
412
      '/',
413
      new AdSet(),
414
      'NODE',
415
      AdSet::getFieldsEnum()->getValues(),
416
      new TypeChecker($param_types, $enums)
417
    );
418
    $request->addParams($params);
419
    $request->addFields($fields);
420
    return $pending ? $request : $request->execute();
421
  }
422
423
  public function updateSelf(array $fields = array(), array $params = array(), $pending = false) {
424
    $this->assureId();
425
426
    $param_types = array(
427
      'account_id' => 'string',
428
      'adlabels' => 'list<Object>',
429
      'adset_schedule' => 'list<Object>',
430
      'bid_amount' => 'int',
431
      'billing_event' => 'billing_event_enum',
432
      'creative_sequence' => 'list<string>',
433
      'daily_budget' => 'unsigned int',
434
      'daily_imps' => 'unsigned int',
435
      'end_time' => 'datetime',
436
      'execution_options' => 'list<execution_options_enum>',
437
      'id' => 'string',
438
      'is_autobid' => 'bool',
439
      'lifetime_budget' => 'unsigned int',
440
      'lifetime_imps' => 'unsigned int',
441
      'name' => 'string',
442
      'optimization_goal' => 'optimization_goal_enum',
443
      'pacing_type' => 'list<string>',
444
      'promoted_object' => 'Object',
445
      'redownload' => 'bool',
446
      'rf_prediction_id' => 'string',
447
      'start_time' => 'datetime',
448
      'status' => 'status_enum',
449
      'targeting' => 'Targeting',
450
    );
451
    $enums = array(
452
      'billing_event_enum' => AdSetBillingEventValues::getInstance()->getValues(),
453
      'execution_options_enum' => AdSetExecutionOptionsValues::getInstance()->getValues(),
454
      'optimization_goal_enum' => AdSetOptimizationGoalValues::getInstance()->getValues(),
455
      'status_enum' => AdSetStatusValues::getInstance()->getValues(),
456
    );
457
458
    $request = new ApiRequest(
459
      $this->api,
460
      $this->data['id'],
461
      RequestInterface::METHOD_POST,
462
      '/',
463
      new AbstractCrudObject(),
464
      'NODE',
465
      array(),
466
      new TypeChecker($param_types, $enums)
467
    );
468
    $request->addParams($params);
469
    $request->addFields($fields);
470
    return $pending ? $request : $request->execute();
471
  }
472
473
}
474