class RakutenProductApi::Client

Constants

REFRESH_TOKEN_LEEWAY

Attributes

authenticate[RW]
consumer_key[RW]
consumer_secret[RW]
password[RW]
sid[RW]
username[RW]

Public Class Methods

new(sid: RakutenProductApi.sid, username: RakutenProductApi.username, password: RakutenProductApi.password, consumer_key: RakutenProductApi.consumer_key, consumer_secret: RakutenProductApi.consumer_secret, access_token: nil, access_expires_at: nil) click to toggle source
# File lib/rakuten_product_api/client.rb, line 15
def initialize(sid:               RakutenProductApi.sid,
               username:          RakutenProductApi.username,
               password:          RakutenProductApi.password,
               consumer_key:      RakutenProductApi.consumer_key,
               consumer_secret:   RakutenProductApi.consumer_secret,
               access_token:      nil,
               access_expires_at: nil)

  @authenticate = Authenticate.new(sid: sid,
                                   username: username,
                                   password: password,
                                   consumer_key: consumer_key,
                                   consumer_secret: consumer_secret,
                                   access_token: access_token,
                                   access_expires_at: access_expires_at)

  @sid             = sid
  @username        = username
  @password        = password
  @consumer_key    = consumer_key
  @consumer_secret = consumer_secret
end

Public Instance Methods

api_request(payload) click to toggle source
# File lib/rakuten_product_api/client.rb, line 42
def api_request(payload)
  params = payload.map { |k, v| "#{k}=#{v}" }.join("&")
  uri = URI("https://api.rakutenmarketing.com/productsearch/1.0?#{params}")

  res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |http|
    req = Net::HTTP::Get.new(uri)
    req["Authorization"] = @authenticate.auth_header
    req["Accept"] = "application/xml"

    http.request(req)
  end

  puts "RESPONSE CODE #{res.code} received" if res.code != "200"

  res
end