class Api4Over::Client
Public Class Methods
new(private_key:, public_key:, mode: 'test')
click to toggle source
# File lib/api4over.rb, line 10 def initialize(private_key:, public_key:, mode: 'test') @api_key = public_key @private_key = Digest::SHA256.hexdigest(private_key) @signature = OpenSSL::HMAC.hexdigest('sha256', @private_key, "GET") @mode = mode end
Public Instance Methods
get_categories(options={})
click to toggle source
# File lib/api4over.rb, line 25 def get_categories(options={}) Api4Over::PrintProducts.new.retrieve_categories( path: "/printproducts/categories", parameters: build_parameters_for_product(options), mode: @mode ) end
get_option_groups(options={})
click to toggle source
# File lib/api4over.rb, line 33 def get_option_groups(options={}) Api4Over::PrintProducts.new.retrieve_option_groups( path: "/printproducts/optiongroups", parameters: build_parameters_for_product(options), mode: @mode ) end
get_organizations(options={})
click to toggle source
# File lib/api4over.rb, line 58 def get_organizations(options={}) Api4Over::Organizations.new.retrieve_organizations( path: "/organizations", parameters: build_parameters_for_product(options), mode: @mode ) end
get_product_feeds(options={})
click to toggle source
# File lib/api4over.rb, line 41 def get_product_feeds(options={}) Api4Over::PrintProducts.new.retrieve_product_feeds( path: "/printproducts/productsfeed", parameters: build_parameters_for_product(options), mode: @mode ) end
get_products(options={})
click to toggle source
# File lib/api4over.rb, line 17 def get_products(options={}) Api4Over::PrintProducts.new.retrieve_products( path: "/printproducts/products", parameters: build_parameters_for_product(options), mode: @mode ) end
get_quantity_discounts(options={})
click to toggle source
# File lib/api4over.rb, line 49 def get_quantity_discounts(options={}) return {"status"=>"error", "status_code"=>400, "status_text"=>"Bad Request", "current_content"=>"", "message"=>"Product UUID parameter is missing"} unless options[:product_uuid] Api4Over::PrintProducts.new.retrieve_quantity_discounts( path: "/printproducts/products/#{options[:product_uuid]}/quantitydiscounts", parameters: build_parameters_for_product(options), mode: @mode ) end
Private Instance Methods
build_parameters_for_product(options={})
click to toggle source
# File lib/api4over.rb, line 68 def build_parameters_for_product(options={}) default_options = { query: { signature: @signature, apikey: @api_key }.merge!(options) } default_options end