class Square::Item
docs.connect.squareup.com/api/connect/v1/#navsection-itemmanagement
Public Class Methods
upload_image(image_url, item_id)
click to toggle source
Upload an image for an item. docs.connect.squareup.com/api/connect/v1/#post-image
@param image_url [String] Image URL. @param item_id [String] Square
item id.
@return [Net::HTTPResponse] API response.
# File lib/square/item.rb, line 20 def self.upload_image(image_url, item_id) image = open(image_url) filename = File.basename(image_url) uri = URI.parse("#{Square.api_host}/v1/me/#{instance_variable_get('@endpoint_base')}/#{item_id}/image") connection = Net::HTTP.new(uri.host, uri.port) connection.use_ssl = (uri.scheme == 'https') # Making this request here because RestClient doesn't do multipart # requests the way Square wants it. request = Net::HTTP::Post::Multipart.new( uri.path, image_data: UploadIO.new(image, 'image/jpeg', filename) ) # Copy the auth header. request['Authorization'] = Square.request_headers(Square.access_token)[:authorization] connection.request(request) end