Sha256: ad122eafb167d91461b6e3b40d3b39fd96c9c500962fd6348bf46c94eb470c69

Contents?: true

Size: 1.23 KB

Versions: 1

Compression:

Stored size: 1.23 KB

Contents

module TheTradeDeskAds
  # https://developers.facebook.com/docs/marketing-api/reference/custom-audience
  class AdAudience < Base
    FIELDS = %w[AdvertiserId AudienceId AudienceName Description IncludedDataGroupIds ExcludedDataGroupIds IsAutoGenerated].freeze
    SORTING_FIELDS = {"Name": "Name",
                      "Description": "Description"}


    class << self

      # facets = TheTradeDeskAds::AdAudience.facets

      def facets(query = {})
        get('audience/query/facets', query: query, objectify: false)
      end

      def all(query = {})
        get('/me/adaccounts', query: query, objectify: true)
      end

      def find_by(conditions)
        all.detect do |object|
          conditions.all? do |key, value|
            object.send(key) == value
          end
        end
      end
    end



    # belongs_to advertiser

    def ad_advertiser
      @ad_advertiser ||= AdAdvertiser.find(AdvertiserId)
    end

    # actions

    def share(account_id)
      query = {
        share_with_object_id: account_id,
        share_with_object_type: 'Account'
      }
      result = AdAccount.post("/#{id}/share_with_objects", query: query)
      # result['success']
      result # No idea what this response looks like.
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
the_trade_desk_ads-0.0.1 lib/the_trade_desk_ads/ad_audience.rb