lib/mws/fulfillment_inbound_shipment.rb in peddler-0.7.10 vs lib/mws/fulfillment_inbound_shipment.rb in peddler-0.7.11
- old
+ new
@@ -3,87 +3,221 @@
module MWS
# With the Fulfillment Inbound Shipment API, you can create and update inbound
# shipments of inventory in the Amazon Fulfillment Network. You can also
# also request lists of inbound shipments or inbound shipment items based on
# criteria that you specify.
- #
- # @todo Not implemented
class FulfillmentInboundShipment < ::Peddler::Client
path '/FulfillmentInboundShipment/2010-10-01'
# Returns the information required to create an inbound shipment
- def create_inbound_shipment_plan
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_CreateInboundShipmentPlan.html
+ # @param ship_from_address [Struct, Hash]
+ # @param inbound_shipment_plan_request_items [Array<Struct, Hash>]
+ # @param opts [Hash]
+ # @option opts [String] :label_prep_preference
+ # @return [Peddler::XMLParser]
+ def create_inbound_shipment_plan(ship_from_address, inbound_shipment_plan_request_items, opts = {})
+ operation('CreateInboundShipmentPlan')
+ .add(
+ opts.merge(
+ 'ShipFromAddress' => ship_from_address,
+ 'InboundShipmentPlanRequestItems' => inbound_shipment_plan_request_items
+ )
+ )
+ .structure!('InboundShipmentPlanRequestItems', 'member')
+
+ run
end
# Creates an inbound shipment
- def create_inbound_shipment
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_CreateInboundShipment.html
+ # @param shipment_id [String]
+ # @param inbound_shipment_header [Struct, Hash]
+ # @param opts [Hash]
+ # @option opts [Array<Struct, Hash>] :inbound_shipment_items
+ # @return [Peddler::XMLParser]
+ def create_inbound_shipment(shipment_id, inbound_shipment_header, opts = {})
+ operation('CreateInboundShipment')
+ .add(
+ opts.merge(
+ 'ShipmentId' => shipment_id,
+ 'InboundShipmentHeader' => inbound_shipment_header
+ )
+ )
+ .structure!('InboundShipmentItems', 'member')
+
+ run
end
# Updates an existing inbound shipment
- def update_inbound_shipment
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_UpdateInboundShipment.html
+ # @param shipment_id [String]
+ # @param inbound_shipment_header [Struct, Hash]
+ # @param opts [Hash]
+ # @option opts [Array<Struct, Hash>] :inbound_shipment_items
+ # @return [Peddler::XMLParser]
+ def update_inbound_shipment(shipment_id, inbound_shipment_header, opts = {})
+ operation('UpdateInboundShipment')
+ .add(
+ opts.merge(
+ 'ShipmentId' => shipment_id,
+ 'InboundShipmentHeader' => inbound_shipment_header
+ )
+ )
+ .structure!('InboundShipmentItems', 'member')
+
+ run
end
# Sends transportation information to Amazon about an inbound shipment
- def put_transport_content
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_PutTransportContent.html
+ # @param shipment_id [String]
+ # @param is_partnered [Boolean]
+ # @param shipment_type [String]
+ # @param transport_details [Struct, Hash]
+ # @return [Peddler::XMLParser]
+ def put_transport_content(shipment_id, is_partnered, shipment_type, transport_details)
+ operation('PutTransportContent')
+ .add(
+ 'ShipmentId' => shipment_id,
+ 'IsPartnered' => is_partnered,
+ 'ShipmentType' => shipment_type,
+ 'TransportDetails' => transport_details
+ )
+
+ run
end
# Requests an estimate of the shipping cost for an inbound shipment
- def estimate_transport_request
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_EstimateTransportRequest.html
+ # @param shipment_id [String]
+ # @return [Peddler::XMLParser]
+ def estimate_transport_request(shipment_id)
+ operation('EstimateTransportRequest').add('ShipmentId' => shipment_id)
+ run
end
+ # Returns current transportation information about an inbound shipment
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_GetTransportContent.html
+ # @param shipment_id [String]
+ # @return [Peddler::XMLParser]
+ def get_transport_content(shipment_id)
+ operation('GetTransportContent').add('ShipmentId' => shipment_id)
+ run
+ end
+
# Confirms that you accept the Amazon-partnered shipping estimate and you
# request that the Amazon-partnered carrier ship your inbound shipment
- def confirm_transport_request
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_ConfirmTransportRequest.html
+ # @param shipment_id [String]
+ # @return [Peddler::XMLParser]
+ def confirm_transport_request(shipment_id)
+ operation('ConfirmTransportRequest').add('ShipmentId' => shipment_id)
+ run
end
- # Returns current transportation information about an inbound shipment
- def get_transport_content
- raise NotImplementedError
- end
-
# Voids a previously-confirmed request to ship your inbound shipment using
# an Amazon-partnered carrier
- def void_transport_request
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_VoidTransportRequest.html
+ # @param shipment_id [String]
+ # @return [Peddler::XMLParser]
+ def void_transport_request(shipment_id)
+ operation('VoidTransportRequest').add('ShipmentId' => shipment_id)
+ run
end
# Returns PDF document data for printing package labels for an inbound
# shipment
- def get_package_labels
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_GetPackageLabels.html
+ # @param shipment_id [String]
+ # @param page_type [String]
+ # @param opts [Hash]
+ # @option opts [Integer] :number_of_packages
+ # @return [Peddler::XMLParser]
+ def get_package_labels(shipment_id, page_type, opts = {})
+ operation('GetPackageLabels')
+ .add(opts.merge(
+ 'ShipmentId' => shipment_id,
+ 'PageType' => page_type
+ ))
+
+ run
end
# Returns PDF document data for printing a bill of lading for an inbound
# shipment
- def get_bill_of_lading
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_GetBillOfLading.html
+ # @param shipment_id [String]
+ # @return [Peddler::XMLParser]
+ def get_bill_of_lading(shipment_id)
+ operation('GetBillOfLading').add('ShipmentId' => shipment_id)
+ run
end
# Returns a list of inbound shipments based on criteria that you specify
- def list_inbound_shipments
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_ListInboundShipments.html
+ # @param opts [Hash]
+ # @option opts [Array<String>] :shipment_status_list
+ # @option opts [Array<String>] :shipment_id_list
+ # @option opts [String, #iso8601] :last_updated_after
+ # @option opts [String, #iso8601] :last_updated_before
+ # @return [Peddler::XMLParser]
+ def list_inbound_shipments(opts = {})
+ operation('ListInboundShipments')
+ .add(opts)
+ .structure!('ShipmentStatusList', 'member')
+ .structure!('ShipmentIdList', 'member')
+
+ run
end
# Returns the next page of inbound shipments
- def list_inbound_shipments_by_next_token
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_ListInboundShipmentsByNextToken.html
+ # @param next_token [String]
+ # @return [Peddler::XMLParser]
+ def list_inbound_shipments_by_next_token(next_token)
+ operation('ListInboundShipmentsByNextToken')
+ .add('NextToken' => next_token)
+
+ run
end
# Returns a list of items in a specified inbound shipment, or a list of
# items that were updated within a specified time frame
- def list_inbound_shipment_items
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_ListInboundShipmentItems.html
+ # @param opts [Hash]
+ # @option opts [String] :shipment_id
+ # @option opts [String, #iso8601] :last_updated_after
+ # @option opts [String, #iso8601] :last_updated_before
+ # @return [Peddler::XMLParser]
+ def list_inbound_shipment_items(opts = {})
+ operation('ListInboundShipmentItems').add(opts)
+ run
end
# Returns the next page of inbound shipment items
- def list_inbound_shipment_items_by_next_token
- raise NotImplementedError
+ #
+ # @see http://docs.developer.amazonservices.com/en_US/fba_inbound/FBAInbound_ListInboundShipmentItemsByNextToken.html
+ # @param next_token [String]
+ # @return [Peddler::XMLParser]
+ def list_inbound_shipment_items_by_next_token(next_token)
+ operation('ListInboundShipmentItemsByNextToken')
+ .add('NextToken' => next_token)
+
+ run
end
# Gets the operational status of the API
#
# @see http://docs.developer.amazonservices.com/en_US/fba_inbound/MWS_GetServiceStatus.html