Sha256: 74353af911ded47e50da68e003e9b30fd5a01601a918a43b1a059e1a6ef5ebb2
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
require "httparty" module LinkshareAPI # For implementation details please visit # https://rakutenlinkshare.zendesk.com/hc/en-us/articles/200919909-Using-the-Coupon-Web-Service class CouponWebService include HTTParty attr_reader :api_base_url, :api_timeout, :token def initialize @token = LinkshareAPI.token @api_base_url = LinkshareAPI::WEB_SERVICE_URIS[:coupon_web_service] @api_timeout = LinkshareAPI.api_timeout if @token.nil? raise AuthenticationError.new( "No token. Set your token by using 'LinkshareAPI.token = <TOKEN>'. " + "You can retrieve your token from LinkhShare's Web Services page under the Links tab. " + "See https://rakutenlinkshare.zendesk.com/hc/en-us/articles/200992487-What-is-a-Web-Services-Token-Feed-Token- for details." ) end end def query(params) raise ArgumentError, "Hash expected, got #{params.class} instead" unless params.is_a?(Hash) params.merge!(token: token) begin response = self.class.get( api_base_url, query: params, timeout: api_timeout ) rescue Timeout::Error raise ConnectionError.new("Timeout error (#{timeout}s)") end if response.code != 200 raise Error.new(response.message, response.code) end error = response["fault"] raise InvalidRequestError.new(error["errorstring"], error["errorcode"].to_i) if error Response.new(response, :coupon_web_service) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
linkshare_api-0.3.0 | lib/linkshare_api/coupon_web_service.rb |