lib/peddler/api/merchant_fulfillment_v0.rb in peddler-3.0.0.beta1 vs lib/peddler/api/merchant_fulfillment_v0.rb in peddler-3.0.0
- old
+ new
@@ -1,64 +1,80 @@
# frozen_string_literal: true
require "peddler/api"
module Peddler
+ class << self
+ def merchant_fulfillment_v0(...)
+ API::MerchantFulfillmentV0.new(...)
+ end
+ end
+
class API
# Selling Partner API for Merchant Fulfillment
#
# The Selling Partner API for Merchant Fulfillment helps you build applications that let sellers purchase shipping
# for non-Prime and Prime orders using Amazon’s Buy Shipping Services.
class MerchantFulfillmentV0 < API
# Returns a list of shipping service offers that satisfy the specified shipment request details.
#
- # @param [Hash] body Request schema for GetEligibleShipmentServices operation.
+ # @note This operation can make a static sandbox call.
+ # @param body [Hash] Request schema for GetEligibleShipmentServices operation.
+ # @param rate_limit [Float] Requests per second
# @return [Hash] The API response
- def get_eligible_shipment_services(body)
+ def get_eligible_shipment_services(body, rate_limit: 5.0)
path = "/mfn/v0/eligibleShippingServices"
- rate_limit(5.0).post(path, body:)
+ meter(rate_limit).post(path, body:)
end
# Returns the shipment information for an existing shipment.
#
- # @param [String] shipment_id The Amazon-defined shipment identifier for the shipment.
+ # @note This operation can make a static sandbox call.
+ # @param shipment_id [String] The Amazon-defined shipment identifier for the shipment.
+ # @param rate_limit [Float] Requests per second
# @return [Hash] The API response
- def get_shipment(shipment_id)
+ def get_shipment(shipment_id, rate_limit: 1.0)
path = "/mfn/v0/shipments/#{shipment_id}"
- rate_limit(1.0).get(path)
+ meter(rate_limit).get(path)
end
# Cancel the shipment indicated by the specified shipment identifier.
#
- # @param [String] shipment_id The Amazon-defined shipment identifier for the shipment to cancel.
+ # @note This operation can make a static sandbox call.
+ # @param shipment_id [String] The Amazon-defined shipment identifier for the shipment to cancel.
+ # @param rate_limit [Float] Requests per second
# @return [Hash] The API response
- def cancel_shipment(shipment_id)
+ def cancel_shipment(shipment_id, rate_limit: 1.0)
path = "/mfn/v0/shipments/#{shipment_id}"
- rate_limit(1.0).delete(path)
+ meter(rate_limit).delete(path)
end
# Create a shipment with the information provided.
#
- # @param [Hash] body Request schema for CreateShipment operation.
+ # @note This operation can make a static sandbox call.
+ # @param body [Hash] Request schema for CreateShipment operation.
+ # @param rate_limit [Float] Requests per second
# @return [Hash] The API response
- def create_shipment(body)
+ def create_shipment(body, rate_limit: 1.0)
path = "/mfn/v0/shipments"
- rate_limit(1.0).post(path, body:)
+ meter(rate_limit).post(path, body:)
end
# Gets a list of additional seller inputs required for a ship method. This is generally used for international
# shipping.
#
- # @param [Hash] body Request schema for GetAdditionalSellerInputs operation.
+ # @note This operation can make a static sandbox call.
+ # @param body [Hash] Request schema for GetAdditionalSellerInputs operation.
+ # @param rate_limit [Float] Requests per second
# @return [Hash] The API response
- def get_additional_seller_inputs(body)
+ def get_additional_seller_inputs(body, rate_limit: 1.0)
path = "/mfn/v0/additionalSellerInputs"
- rate_limit(1.0).post(path, body:)
+ meter(rate_limit).post(path, body:)
end
end
end
end