Module: Lazada::API::Image

Included in:
Client
Defined in:
lib/lazada_dino/api/image.rb

Instance Method Summary collapse

Instance Method Details

#migrate_image(image_url) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/lazada_dino/api/image.rb', line 13

def migrate_image(image_url)
  url = request_url('MigrateImage')

  params = { 'Image' => { 'Url' => image_url } }
  response = self.class.post(url, body: params.to_xml(root: 'Request', skip_types: true))

  process_response_errors! response

  response['SuccessResponse'].present? ? response['SuccessResponse']['Body']['Image']['Url'] : ''
end

#migrate_images(image_url_list) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/lazada_dino/api/image.rb', line 24

def migrate_images(image_url_list)
  url = request_url('MigrateImages')

  # Allow duplicate keys in dict
  urls = {}.compare_by_identity
  image_url_list.each { |image_url| urls.merge!({ String.new('Url') => image_url }) }

  params = { 'Images' => urls }

  response = self.class.post(url, body: params.to_xml(root: 'Request', skip_types: true))

  process_response_errors! response

  # At the moment of this writing, the API does not seem to be working in Lazada
  # The response is successful, but does not return a body with the details
  # of the migrated images.
  response['SuccessResponse'].present? ? response['SuccessResponse'] : nil
end

#set_images(params) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/lazada_dino/api/image.rb', line 4

def set_images(params)
  url = request_url('Image')

  params = { 'ProductImage' => params }
  response = self.class.post(url, body: params.to_xml(root: 'Request', skip_types: true))

  response
end