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