Class: MWS::FulfillmentOutboundShipment::Client

Inherits:
Peddler::Client show all
Defined in:
lib/mws/fulfillment_outbound_shipment/client.rb

Overview

The Fulfillment Outbound Shipment API enables you to fulfill orders placed through channels other than Amazon’s retail web site, using your inventory in the Amazon Fulfillment Network. You can request previews of potential fulfillment orders that return estimated shipping fees and shipping dates based on shipping speed. You can get detailed item-level, shipment-level, and order-level information for any existing fulfillment order that you specify. You can also request lists of existing fulfillment orders based on when they were fulfilled and by the fulfillment method associated with them.

Instance Attribute Summary

Attributes inherited from Peddler::Client

#auth_token, #body, #marketplace, #merchant_id, #path

Instance Method Summary collapse

Methods inherited from Peddler::Client

#aws_endpoint, #defaults, #headers, #initialize, #operation, #run

Constructor Details

This class inherits a constructor from Peddler::Client

Instance Method Details

#cancel_fulfillment_order(seller_fulfillment_order_id) ⇒ Peddler::XMLParser

Requests that Amazon stop attempting to fulfill an existing fulfillment order



171
172
173
174
175
176
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 171

def cancel_fulfillment_order(seller_fulfillment_order_id)
  operation('CancelFulfillmentOrder')
    .add('SellerFulfillmentOrderId' => seller_fulfillment_order_id)

  run
end

#create_fulfillment_order(seller_fulfillment_order_id, displayable_order_id, displayable_order_date_time, displayable_order_comment, shipping_speed_category, destination_address, items, opts = {}) ⇒ Peddler::XMLParser

Requests that Amazon ship items from the seller’s Amazon Fulfillment Network inventory to a destination address

Parameters:

  • seller_fulfillment_order_id (String)
  • displayable_order_id (String)
  • displayable_order_date_time (String, #iso8601)
  • displayable_order_comment (String)
  • shipping_speed_category (String)
  • destination_address (Struct, Hash)
  • items (Array<Struct, Hash>)
  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :fulfillment_action (String)
  • :fulfillment_policy (String)
  • :notification_email_list (Array<String>)
  • :cod_settings (Struct, Hash)

Returns:

See Also:



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 63

def create_fulfillment_order(seller_fulfillment_order_id,
                             displayable_order_id,
                             displayable_order_date_time,
                             displayable_order_comment,
                             shipping_speed_category,
                             destination_address, items, opts = {})
  opts = opts.dup
  if opts.key?(:cod_settings)
    opts['CODSettings'] = opts.delete(:cod_settings)
  end

  operation('CreateFulfillmentOrder')
    .add(opts)
    .add('SellerFulfillmentOrderId' => seller_fulfillment_order_id,
         'DisplayableOrderId' => displayable_order_id,
         'DisplayableOrderDateTime' => displayable_order_date_time,
         'DisplayableOrderComment' => displayable_order_comment,
         'ShippingSpeedCategory' => shipping_speed_category,
         'DestinationAddress' => destination_address,
         'Items' => items)
    .structure!('Items', 'member')
    .structure!('NotificationEmailList', 'member')

  run
end

#create_fulfillment_return(seller_fulfillment_order_id, items) ⇒ Peddler::XMLParser

Creates a fulfillment return.

Parameters:

  • seller_fulfillment_order_id (String)
  • items (Array)

Returns:

See Also:



203
204
205
206
207
208
209
210
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 203

def create_fulfillment_return(seller_fulfillment_order_id, items)
  operation('CreateFulfillmentReturn')
    .add('SellerFulfillmentOrderId' => seller_fulfillment_order_id,
         'Items' => items)
    .structure!('Items', 'member')

  run
end

#get_fulfillment_order(seller_fulfillment_order_id) ⇒ Peddler::XMLParser

Gets a fulfillment order



120
121
122
123
124
125
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 120

def get_fulfillment_order(seller_fulfillment_order_id)
  operation('GetFulfillmentOrder')
    .add('SellerFulfillmentOrderId' => seller_fulfillment_order_id)

  run
end

#get_fulfillment_preview(address, items, opts = {}) ⇒ Peddler::XMLParser

Lists fulfillment order previews

Parameters:

  • address (Struct, Hash)
  • items (Array<Struct, Hash>)
  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • Array (String)

    :shipping_speed_categories

  • :include_cod_fulfillment_preview (Boolean)

Returns:

See Also:



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 30

def get_fulfillment_preview(address, items, opts = {})
  opts = opts.dup
  if opts.key?(:include_cod_fulfillment_preview)
    opts['IncludeCODFulfillmentPreview'] =
      opts.delete(:include_cod_fulfillment_preview)
  end

  operation('GetFulfillmentPreview')
    .add(opts)
    .add('Address' => address, 'Items' => items)
    .structure!('Items', 'member')
    .structure!('ShippingSpeedCategories')

  run
end

#get_package_tracking_details(package_number) ⇒ Peddler::XMLParser

Returns delivery tracking information for a package in an outbound shipment for a Multi-Channel Fulfillment order



158
159
160
161
162
163
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 158

def get_package_tracking_details(package_number)
  operation('GetPackageTrackingDetails')
    .add('PackageNumber' => package_number)

  run
end

#get_service_statusPeddler::XMLParser

Gets the operational status of the API



216
217
218
219
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 216

def get_service_status
  operation('GetServiceStatus')
  run
end

#list_all_fulfillment_orders(opts = {}) ⇒ Peddler::XMLParser

Returns a list of fulfillment orders fulfilled on or after a date

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :query_start_date_time (String, #iso8601)

Returns:

See Also:



133
134
135
136
137
138
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 133

def list_all_fulfillment_orders(opts = {})
  operation('ListAllFulfillmentOrders')
    .add(opts)

  run
end

#list_all_fulfillment_orders_by_next_token(next_token) ⇒ Peddler::XMLParser

Returns the next page of fulfillment orders



145
146
147
148
149
150
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 145

def list_all_fulfillment_orders_by_next_token(next_token)
  operation('ListAllFulfillmentOrdersByNextToken')
    .add('NextToken' => next_token)

  run
end

#list_return_reason_codes(seller_sku, opts = {}) ⇒ Peddler::XMLParser

Returns a list of return reason codes for a seller SKU in a given marketplace.

Parameters:

  • seller_sku (String)
  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :marketplace_id (String)
  • :seller_fulfillment_order_id (String)
  • :language (String)

Returns:

See Also:



188
189
190
191
192
193
194
195
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 188

def list_return_reason_codes(seller_sku, opts = {})
  operation('ListReturnReasonCodes')
    .add(opts)
    .add('SellerSKU' => seller_sku)
    .structure!('List', 'member')

  run
end

#update_fulfillment_order(seller_fulfillment_order_id, opts = {}) ⇒ Peddler::XMLParser

Updates and/or requests shipment for a fulfillment order with an order hold on it

Parameters:

  • seller_fulfillment_order_id (String)
  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :fulfillment_action (String)
  • :displayable_order_id (String)
  • :displayable_order_date_time (String, #iso8601)
  • :displayable_order_comment (String)
  • :shipping_speed_category (String)
  • :destination_address (Struct, Hash)
  • :fulfillment_policy (String)
  • :notification_email_list (Array<String>)
  • :items (Array<Struct, Hash>)

Returns:

See Also:



105
106
107
108
109
110
111
112
113
# File 'lib/mws/fulfillment_outbound_shipment/client.rb', line 105

def update_fulfillment_order(seller_fulfillment_order_id, opts = {})
  operation('UpdateFulfillmentOrder')
    .add(opts)
    .add('SellerFulfillmentOrderId' => seller_fulfillment_order_id)
    .structure!('NotificationEmailList', 'member')
    .structure!('Items', 'member')

  run
end