getValues(); $ref_enums['ObjectType'] = AdCreativeObjectTypeValues::getInstance()->getValues(); $ref_enums['Status'] = AdCreativeStatusValues::getInstance()->getValues(); $ref_enums['ApplinkTreatment'] = AdCreativeApplinkTreatmentValues::getInstance()->getValues(); $ref_enums['AuthorizationCategory'] = AdCreativeAuthorizationCategoryValues::getInstance()->getValues(); $ref_enums['CategorizationCriteria'] = AdCreativeCategorizationCriteriaValues::getInstance()->getValues(); $ref_enums['CategoryMediaSource'] = AdCreativeCategoryMediaSourceValues::getInstance()->getValues(); $ref_enums['DynamicAdVoice'] = AdCreativeDynamicAdVoiceValues::getInstance()->getValues(); $ref_enums['Operator'] = AdCreativeOperatorValues::getInstance()->getValues(); return $ref_enums; } protected function setDataTrigger($data) { if (array_key_exists('id', $data)) { $this->data['creative_id'] = $data['id']; } } public function createAdLabel(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'adlabels' => 'list', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/adlabels', new AdCreative(), 'EDGE', AdCreative::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getCreativeInsights(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/creative_insights', new AdCreativeInsights(), 'EDGE', AdCreativeInsights::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getPreViews(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'ad_format' => 'ad_format_enum', 'creative_feature' => 'creative_feature_enum', 'dynamic_asset_label' => 'string', 'dynamic_creative_spec' => 'Object', 'dynamic_customization' => 'Object', 'end_date' => 'datetime', 'height' => 'unsigned int', 'locale' => 'string', 'place_page_id' => 'int', 'post' => 'Object', 'product_item_ids' => 'list', 'render_type' => 'render_type_enum', 'start_date' => 'datetime', 'width' => 'unsigned int', ); $enums = array( 'ad_format_enum' => AdPreviewAdFormatValues::getInstance()->getValues(), 'creative_feature_enum' => AdPreviewCreativeFeatureValues::getInstance()->getValues(), 'render_type_enum' => AdPreviewRenderTypeValues::getInstance()->getValues(), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/previews', new AdPreview(), 'EDGE', AdPreview::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function deleteSelf(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'account_id' => 'string', 'adlabels' => 'list', 'name' => 'string', 'status' => 'status_enum', ); $enums = array( 'status_enum' => AdCreativeStatusValues::getInstance()->getValues(), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_DELETE, '/', new AbstractCrudObject(), 'NODE', array(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function getSelf(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'thumbnail_height' => 'unsigned int', 'thumbnail_width' => 'unsigned int', ); $enums = array( ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_GET, '/', new AdCreative(), 'NODE', AdCreative::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } public function updateSelf(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array( 'account_id' => 'string', 'adlabels' => 'list', 'name' => 'string', 'status' => 'status_enum', ); $enums = array( 'status_enum' => AdCreativeStatusValues::getInstance()->getValues(), ); $request = new ApiRequest( $this->api, $this->data['id'], RequestInterface::METHOD_POST, '/', new AdCreative(), 'NODE', AdCreative::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums) ); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); } }