/** @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(); // _DOC close [ADCREATIVE_CREATE_DPA_CAROUSEL] $creative->delete();