class Peddler::API::EasyShip20220323

Selling Partner API for Easy Ship

The Selling Partner API for Easy Ship helps you build applications that help sellers manage and ship Amazon Easy Ship orders. Your Easy Ship applications can: * Get available time slots for packages to be scheduled for delivery. * Schedule, reschedule, and cancel Easy Ship orders. * Print labels, invoices, and warranties. See the {developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support-table Marketplace Support Table} for the differences in Easy Ship operations by marketplace.

Public Instance Methods

create_scheduled_package(create_scheduled_package_request, rate_limit: 1.0) click to toggle source

Schedules an Easy Ship order and returns the scheduled package information. This operation does the following: * Specifies the time slot and handover method for the order to be scheduled for delivery. * Updates the Easy Ship order status. * Generates a shipping label and an invoice. Calling ‘createScheduledPackage` also generates a warranty document if you specify a `SerialNumber` value. To get these documents, see {developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide How to get invoice, shipping label, and warranty documents}. * Shows the status of Easy Ship orders when you call the `getOrders` operation of the Selling Partner API for Orders and examine the `EasyShipShipmentStatus` property in the response body. See the **Shipping Label**, Invoice, and Warranty columns in the {developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support-table Marketplace Support Table} to see which documents are supported in each marketplace.

@note This operation can make a static sandbox call. @param create_scheduled_package_request [Hash] The request schema for the ‘createScheduledPackage` operation. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/easy_ship_2022_03_23.rb, line 75
def create_scheduled_package(create_scheduled_package_request, rate_limit: 1.0)
  path = "/easyShip/2022-03-23/package"
  body = create_scheduled_package_request

  meter(rate_limit).post(path, body:)
end
create_scheduled_package_bulk(create_scheduled_packages_request, rate_limit: 1.0) click to toggle source

This operation automatically schedules a time slot for all the ‘amazonOrderId`s given as input, generating the associated shipping labels, along with other compliance documents according to the marketplace (refer to the {developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support-table marketplace document support table}). Developers calling this operation may optionally assign a `packageDetails` object, allowing them to input a preferred time slot for each order in ther request. In this case, Amazon will try to schedule the respective packages using their optional settings. On the other hand, i.e., if the time slot is not provided, Amazon will then pick the earliest time slot possible. Regarding the shipping label’s file format, external developers are able to choose between PDF or ZPL, and Amazon will create the label accordingly. This operation returns an array composed of the scheduled packages, and a short-lived URL pointing to a zip file containing the generated shipping labels and the other documents enabled for your marketplace. If at least an order couldn’t be scheduled, then Amazon adds the ‘rejectedOrders` list into the response, which contains an entry for each order we couldn’t process. Each entry is composed of an error message describing the reason of the failure, so that sellers can take action. The table below displays the supported request and burst maximum rates:

@note This operation can make a static sandbox call. @param create_scheduled_packages_request [Hash] The request schema for the ‘createScheduledPackageBulk`

operation.

@param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/easy_ship_2022_03_23.rb, line 119
def create_scheduled_package_bulk(create_scheduled_packages_request, rate_limit: 1.0)
  path = "/easyShip/2022-03-23/packages/bulk"
  body = create_scheduled_packages_request

  meter(rate_limit).post(path, body:)
end
get_scheduled_package(amazon_order_id, marketplace_id, rate_limit: 1.0) click to toggle source

Returns information about a package, including dimensions, weight, time slot information for handover, invoice and item information, and status.

@note This operation can make a static sandbox call. @param amazon_order_id [String] An Amazon-defined order identifier. Identifies the order that the seller wants

to deliver using Amazon Easy Ship.

@param marketplace_id [String] An identifier for the marketplace in which the seller is selling. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/easy_ship_2022_03_23.rb, line 50
def get_scheduled_package(amazon_order_id, marketplace_id, rate_limit: 1.0)
  path = "/easyShip/2022-03-23/package"
  params = {
    "amazonOrderId" => amazon_order_id,
    "marketplaceId" => marketplace_id,
  }.compact

  meter(rate_limit).get(path, params:)
end
list_handover_slots(list_handover_slots_request: nil, rate_limit: 1.0) click to toggle source

Returns time slots available for Easy Ship orders to be scheduled based on the package weight and dimensions that the seller specifies. This operation is available for scheduled and unscheduled orders based on marketplace support. See **Get Time Slots** in the {developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support-table Marketplace Support Table}. This operation can return time slots that have either pickup or drop-off handover methods - see **Supported Handover Methods** in the {developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support-table Marketplace Support Table}.

@note This operation can make a static sandbox call. @param list_handover_slots_request [Hash] The request schema for the ‘listHandoverSlots` operation. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/easy_ship_2022_03_23.rb, line 34
def list_handover_slots(list_handover_slots_request: nil, rate_limit: 1.0)
  path = "/easyShip/2022-03-23/timeSlot"
  body = list_handover_slots_request

  meter(rate_limit).post(path, body:)
end
update_scheduled_packages(update_scheduled_packages_request: nil, rate_limit: 1.0) click to toggle source

Updates the time slot for handing over the package indicated by the specified ‘scheduledPackageId`. You can get the new `slotId` value for the time slot by calling the `listHandoverSlots` operation before making another `patch` call. See the **Update Package** column in the {developer-docs.amazon.com/sp-api/docs/easyship-api-v2022-03-23-use-case-guide#marketplace-support-table Marketplace Support Table} to see which marketplaces this operation is supported in.

@note This operation can make a static sandbox call. @param update_scheduled_packages_request [Hash] The request schema for the ‘updateScheduledPackages` operation. @param rate_limit [Float] Requests per second @return [Hash] The API response

# File lib/peddler/api/easy_ship_2022_03_23.rb, line 92
def update_scheduled_packages(update_scheduled_packages_request: nil, rate_limit: 1.0)
  path = "/easyShip/2022-03-23/package"
  body = update_scheduled_packages_request

  meter(rate_limit).patch(path, body:)
end