Class: Peddler::API::Uploads20201101

Inherits:
Peddler::API show all
Defined in:
lib/peddler/api/uploads_2020_11_01.rb

Overview

Selling Partner API for Uploads

The Uploads API lets you upload files that you can programmatically access using other Selling Partner APIs, such as the A+ Content API and the Messaging API.

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint

Instance Method Summary collapse

Methods inherited from Peddler::API

#cannot_sandbox!, #endpoint_uri, #http, #initialize, #meter, #must_sandbox!, #retriable, #sandbox, #sandbox?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#create_upload_destination_for_resource(marketplace_ids, content_md5, resource, content_type: nil, rate_limit: 10.0) ⇒ Hash

Creates an upload destination, returning the information required to upload a file to the destination and to programmatically access the file.

Parameters:

  • marketplace_ids (Array<String>)

    A list of marketplace identifiers. This specifies the marketplaces where the upload will be available. Only one marketplace can be specified.

  • content_md5 (String)

    An MD5 hash of the content to be submitted to the upload destination. This value is used to determine if the data has been corrupted or tampered with during transit.

  • resource (String)

    The resource for the upload destination that you are creating. For example, if you are creating an upload destination for the createLegalDisclosure operation of the Messaging API, the {resource} would be /messaging/v1/orders/{amazonOrderId}/messages/legalDisclosure, and the entire path would be /uploads/2020-11-01/uploadDestinations/messaging/v1/orders/{amazonOrderId}/messages/legalDisclosure. If you are creating an upload destination for an Aplus content document, the {resource} would be aplus/2020-11-01/contentDocuments and the path would be /uploads/v1/uploadDestinations/aplus/2020-11-01/contentDocuments.

  • content_type (String) (defaults to: nil)

    The content type of the file to be uploaded.

  • rate_limit (Float) (defaults to: 10.0)

    Requests per second

Returns:

  • (Hash)

    The API response



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/peddler/api/uploads_2020_11_01.rb', line 36

def create_upload_destination_for_resource(marketplace_ids, content_md5, resource, content_type: nil,
  rate_limit: 10.0)
  cannot_sandbox!

  path = "/uploads/2020-11-01/uploadDestinations/#{resource}"
  params = {
    "marketplaceIds" => marketplace_ids,
    "contentMD5" => content_md5,
    "contentType" => content_type,
  }.compact

  meter(rate_limit).post(path, params:)
end