Class: FacebookAds::AdProductCatalog
- Defined in:
- lib/facebook_ads/ad_product_catalog.rb
Overview
Constant Summary collapse
- FIELDS =
%w[id name vertical product_count feed_count].freeze
Class Method Summary collapse
Instance Method Summary collapse
-
#ad_product_feeds ⇒ Object
has_many ad_product_feeds.
-
#ad_product_groups ⇒ Object
has_many product_groups.
-
#ad_product_sets ⇒ Object
has_many product_sets.
-
#ad_products ⇒ Object
has_many ad_products.
- #create_ad_product(data) ⇒ Object
-
#create_ad_product_feed(name:, schedule:) ⇒ Object
catalog.create_ad_product_feed(name: ‘Test’, schedule: { url: ‘tophatter.com/admin/ad_automation/ad_product_feeds/1.csv’, interval: ‘HOURLY’ }).
-
#create_ad_product_set(name:, filter:) ⇒ Object
catalog.create_ad_product_set(name: ‘Ring Set’, filter: & Accessories > Jewelry > Earrings”}).
Methods inherited from Base
delete, #destroy, find, find_by, get, paginate, post, #save, #update
Class Method Details
.all(query = {}) ⇒ Object
9 10 11 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 9 def all(query = {}) get("/#{FacebookAds.business_id}/owned_product_catalogs", query: query, objectify: true) end |
.create(name:) ⇒ Object
13 14 15 16 17 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 13 def create(name:) query = { name: name } result = post("/#{FacebookAds.business_id}/owned_product_catalogs", query: query) find(result['id']) end |
Instance Method Details
#ad_product_feeds ⇒ Object
has_many ad_product_feeds
22 23 24 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 22 def ad_product_feeds AdProductFeed.paginate("/#{id}/product_feeds") end |
#ad_product_groups ⇒ Object
has_many product_groups
42 43 44 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 42 def ad_product_groups AdProductGroup.paginate("/#{id}/product_groups") end |
#ad_product_sets ⇒ Object
has_many product_sets
48 49 50 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 48 def ad_product_sets AdProductSet.paginate("/#{id}/product_sets") end |
#ad_products ⇒ Object
has_many ad_products
54 55 56 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 54 def ad_products AdProduct.paginate("/#{id}/products") end |
#create_ad_product(data) ⇒ Object
58 59 60 61 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 58 def create_ad_product(data) result = AdProductCatalog.post("/#{id}/products", query: data) AdProduct.find(result['id']) end |
#create_ad_product_feed(name:, schedule:) ⇒ Object
catalog.create_ad_product_feed(name: ‘Test’, schedule: { url: ‘tophatter.com/admin/ad_automation/ad_product_feeds/1.csv’, interval: ‘HOURLY’ })
27 28 29 30 31 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 27 def create_ad_product_feed(name:, schedule:) query = { name: name, schedule: schedule } result = AdProductCatalog.post("/#{id}/product_feeds", query: query) AdProductFeed.find(result['id']) end |
#create_ad_product_set(name:, filter:) ⇒ Object
catalog.create_ad_product_set(name: ‘Ring Set’, filter: & Accessories > Jewelry > Earrings”})
34 35 36 37 38 |
# File 'lib/facebook_ads/ad_product_catalog.rb', line 34 def create_ad_product_set(name:, filter:) query = { name: name, filter: filter.to_json } result = AdProductSet.post("/#{id}/product_sets", query: query) AdProductSet.find(result['id']) end |