public function testCrudAccess() { $feed_name = $this->getConfig()->testRunId; $feed = new ProductFeed(null, $this->productCatalog->id); $feed->setData(array(ProductFeedFields::FILE_NAME => 'my_product_feed.tsv', ProductFeedFields::NAME => $feed_name)); $this->assertCanCreate($feed); $this->assertCanRead($feed); $this->assertCanUpdate($feed, array(ProductFeedFields::NAME => $feed_name . ' updated')); $this->assertCanFetchConnection($feed, 'getProducts'); $this->assertCanFetchConnection($feed, 'getUploads'); $this->assertCanDelete($feed); }
/** * @param array $fields * @param array $params * @return Cursor */ public function getProductFeeds(array $fields = array(), array $params = array()) { return $this->getManyByConnection(ProductFeed::className(), $fields, $params); }
public function updateSelf(array $fields = array(), array $params = array(), $pending = false) { $this->assureId(); $param_types = array('default_currency' => 'string', 'deletion_enabled' => 'bool', 'delimiter' => 'delimiter_enum', 'encoding' => 'encoding_enum', 'name' => 'string', 'quoted_fields' => 'bool', 'schedule' => 'string'); $enums = array('delimiter_enum' => ProductFeedDelimiterValues::getInstance()->getValues(), 'encoding_enum' => ProductFeedEncodingValues::getInstance()->getValues()); $request = new ApiRequest($this->api, $this->data['id'], RequestInterface::METHOD_POST, '/', new ProductFeed(), 'NODE', ProductFeed::getFieldsEnum()->getValues(), new TypeChecker($param_types, $enums)); $request->addParams($params); $request->addFields($fields); return $pending ? $request : $request->execute(); }
// _DOC close [ADCREATIVE_CREATE_GET_DIRECTIONS_VIDEO] $creative->delete(); /** @var AdImage $image */ foreach ($images as $image) { $image->delete(); } $link = $app_url; $product_catalog = new ProductCatalog(null, $business_id); $product_catalog->setData(array(ProductCatalogFields::NAME => 'Test Catalog')); $product_catalog->create(); $catalog_id = $product_catalog->{ProductCatalogFields::ID}; $product_set = new ProductSet(null, $catalog_id); $product_set->setData(array(ProductSetFields::NAME => 'Test Catalog Set')); $product_set->create(); $product_set_id = $product_set->{ProductSetFields::ID}; $feed = new ProductFeed(null, $catalog_id); $feed->setData(array(ProductFeedFields::FILE_NAME => 'my_product_feed.tsv', ProductFeedFields::NAME => 'Test Feed')); $feed->create(); $feed_id = $feed->{ProductFeedFields::ID}; // _DOC open [ADCREATIVE_CREATE_DPA_CAROUSEL] // _DOC vars [ad_account_id:s, page_id, link:s, product_set_id] // use FacebookAds\Object\AdCreative; // use FacebookAds\Object\ObjectStorySpec; // use FacebookAds\Object\ObjectStory\TemplateData; // use FacebookAds\Object\Fields\AdCreativeFields; // use FacebookAds\Object\Fields\ObjectStorySpecFields; $object_story_spec = new ObjectStorySpec(); $object_story_spec->setData(array(ObjectStorySpecFields::PAGE_ID => $page_id, ObjectStorySpecFields::TEMPLATE_DATA => (new TemplateData())->setData(array('message' => 'Test {{product.name | titleize}}', 'link' => $link, 'name' => 'Headline {{product.price}}', 'description' => 'Description {{product.description}}', 'max_product_count' => 3)))); $creative = new AdCreative(null, $ad_account_id); $creative->setData(array(AdCreativeFields::NAME => 'Dynamic Ad Template Creative Sample', AdCreativeFields::OBJECT_STORY_SPEC => $object_story_spec, AdCreativeFields::PRODUCT_SET_ID => $product_set_id)); $creative->create();