Sha256: 17cb1399788f6f79a06d338d91ae951f052ae5034e7f7dcf9a5e7af0bb74166a

Contents?: true

Size: 1.92 KB

Versions: 4

Compression:

Stored size: 1.92 KB

Contents

module Blurb
  class SuggestedKeyword < BaseResource
    def self.ad_group_suggestions(params = {}, opts = {})
      # required argument checks
      raise ArgumentError.new("params hash must contain an adGroupId") unless params["adGroupId"]

      get_request("/v2/adGroups/#{params["adGroupId"]}/suggested/keywords?#{setup_url_params(params)}")
    end

    def self.ad_group_extended_suggestions(params = {}, opts = {})
      # required argument checks
      raise ArgumentError.new("params hash must contain an adGroupId") unless params["adGroupId"]

      get_request("/v2/adGroups/#{params["adGroupId"]}/suggested/keywords/extended?#{setup_url_params(params)}")
    end

    def self.asin_suggestions(params = {}, opts = {})
      # required argument checks
      raise ArgumentError.new("params hash must contain an asinValue") unless params["asinValue"]

      get_request("/v2/asins/#{params["asinValue"]}/suggested/keywords?#{setup_url_params(params)}")
    end

    def self.bulk_asin_suggestions(params = {}, opts = {})
      # required argument checks
      raise ArgumentError.new("params hash must contain an asins array") unless params["asins"]

      maxNumSuggestions = 100
      maxNumSuggestions = params["maxNumSuggestions"] if params["maxNumSuggestions"]

      post_request("/v2/asins/suggested/keywords", {
        "asins" => params["asins"],
        "maxNumSuggestions" => maxNumSuggestions
      })
    end

    private

    def self.setup_url_params(params)
      url_params = ""
      url_params = "maxNumSuggestions=#{params['maxNumSuggestions']}" if params['maxNumSuggestions']

      if params['adStateFilter']
        url_params += "&" if url_params.size > 0
        url_params += "adStateFilter=#{params['adStateFilter']}"
      end

      if params['suggestBids']
        url_params += "&" if url_params.size > 0
        url_params += "suggestBids=#{params['suggestBids']}"
      end

      return url_params
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
blurb-0.2.3 lib/blurb/suggested_keyword.rb
blurb-0.2.2 lib/blurb/suggested_keyword.rb
blurb-0.2.1 lib/blurb/suggested_keyword.rb
blurb-0.2.0 lib/blurb/suggested_keyword.rb