org.mule.modules

mule-module-fws

2.1
Namespacehttp://www.mulesoft.org/schema/mule/fws
Schema Locationhttp://www.mulesoft.org/schema/mule/fws/2.0/mule-fws.xsd
Version2.0
Minimum Mule Version3.2

Module Overview

With Amazon FWS, merchants can directly integrate with the FBA system, allowing them to automatically process shipments to Amazon and then out to customers. This functionality is contained in three key APIs: the inbound service, the outbound service, and the inventory service.

Inbound Service

The inbound service allows merchants to create and send inbound shipments of inventory to Amazon’s fulfillment centers.

  • Create shipments of inventory to Amazon fulfillment centers
    Our tools make it easy for merchants to ship inventory to Amazon with everything from label creation to packing slips. Merchants in the U.S. can also take advantage of Amazon’s discounted UPS shipping rates.

Outbound Service

The outbound service allows merchants to use Amazon’s fulfillment processing for orders sold on the merchant’s website or other non-Amazon channels.

  • Submit fulfillment order/shipment requests
    By integrating the outbound service API into merchant software, customer orders are processed in real time, informing Amazon what to ship and where to ship it.
  • Track and manage shipment requests
    After orders leave our fulfillment centers, merchants can track shipments and keep their customers aware of arrival times.

Inventory Service

The inventory service allows merchants to stay up to date on the status of inventory in Amazon’s fulfillment centers.

  • Check Inventory Status
    Merchants can discover when inventory items change status and get the current availability status to keep product listing information up to date.

Summary

Configuration
<fws:config>
Configure an instance of this module
Message Processors
<fws:cancel-fulfillment-order>
Requests Amazon not to fulfill an existing fulfillment order.
<fws:create-fulfillment-order>
Generates a request for Amazon to ship items from the merchant's inventory to a destination address.
<fws:delete-inbound-shipment-items>
Removes items from a pre-existing shipment specified by the ShipmentId.
<fws:get-fulfillment-identifier>
Gets the Fulfillment Network SKU (FNSKU) for the supplied merchant item - creating it if needed.
<fws:get-fulfillment-identifier-for-msku>
Gets the Fulfillment Network SKU (FNSKU) for the supplied merchant item - creating it if needed.
<fws:get-fulfillment-item-by-fnsku>
Gets fulfillment item data for the provided Fulfillment Network SKU (FNSKU).
<fws:get-fulfillment-item-by-msku>
Gets fulfillment item data for the provided Merchant SKU.
<fws:get-fulfillment-order>
Gets the original fulfillment order request, the status of both the order and its items in the Amazon Fulfillment Network, and the shipments that have been generated to fulfill the order.
<fws:get-fulfillment-preview>
Answers estimated shipping dates and fees for a given set of merchant SKUs and quantities.
<fws:get-inbound-service-status>
Answers a brief status message from the service
<fws:get-inbound-shipment>
Gets inbound shipment data without the item details for a given ShipmentId.
<fws:get-inbound-shipment-preview>
Gets the information needed to create a set of shipments for a given set of items and the ship from address.
<fws:get-inventory-service-status>
Answers a brief status message from the service
<fws:get-inventory-supply>
Gets information about the supply of merchant-owned inventory in Amazon's fulfillment network.
<fws:get-outbound-service-status>
Answers a brief status message from the service
<fws:list-fulfillment-items>
Lazily lists fulfillment items registered.
<fws:list-fulfillment-orders>
Lazily lists all the fulfillment orders

<fws:list-inbound-shipment-items>
Lazily retrieved the all the inbound shipment items for the given shipmentId.
<fws:list-inbound-shipments>
Lazily lists the inbound shipments a merchant has created, according to the specified query parameters.
<fws:list-updated-inventory-supply>
Lazily retrieves all the information about the supply of merchant-owned inventory in Amazon's fulfillment network, for inventory items that may have had recent changes in inventory levels.
<fws:put-inbound-shipment>
Adds or replaces inbound shipment for a given shipmentId.
<fws:put-inbound-shipment-data>
Adds or replaces the merchant's inbound shipment header information for the given ShipmentId.
<fws:put-inbound-shipment-items>
Adds line items to a pre-existing shipment that the ShipmentId specifies.
<fws:set-inbound-shipment-status>
Sets the inbound shipment status to the specified ShipmentStatus.

Configuration

To use the this module within a flow the namespace to the module must be included. The resulting flow will look similar to the following:

<mule xmlns="http://www.mulesoft.org/schema/mule/core"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:fws="http://www.mulesoft.org/schema/mule/fws"
      xsi:schemaLocation="
               http://www.mulesoft.org/schema/mule/core
               http://www.mulesoft.org/schema/mule/core/current/mule.xsd
               http://www.mulesoft.org/schema/mule/fws
               http://www.mulesoft.org/schema/mule/fws/2.0/mule-fws.xsd">

      <!-- here goes your flows and configuration elements -->

</mule>

This module is configured using the config element. This element must be placed outside of your flows and at the root of your Mule application. You can create as many configurations as you deem necesary as long as each carries its own name.

Each message processor, message source or transformer carries a config-ref attribute that allows the invoker to specify which configuration to use.

Attributes
TypeNameDefault ValueDescription
xs:string name Optional. Give a name to this configuration so it can be later referenced.
xs:string accessKey The Amazon AWS account public key
client Optional. The FWSClient.
xs:string secretKey The Amazon AWS account private key

Message Processors

<fws:cancel-fulfillment-order>

Requests Amazon not to fulfill an existing fulfillment order. This is just a hint, already shipped orders may not be canceled.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
orderId The mandatory order's id
Child Elements

<fws:create-fulfillment-order>

Generates a request for Amazon to ship items from the merchant's inventory to a destination address.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
orderId The mandatory fulfillment order id
displayableOrderId Optional. The order id displayed in the fulfillment. If not specified, the orderId is used.
fulfillmentPolicy Optional. The optional fulfillment policy
fulfillmentMethod Optional. The optional fulfillment method
shippingSpeedCategory The mandatory shipping speed category
displayableOrderComment The mandatory comment that will be displayed in the order
displayableOrderDate The mandatory order date displayed in the fulfillment
Child Elements
<fws:destinationAddress>
The mandatory destination address of the fulfillment
<fws:emails>
Optional. An optional list of email strings
<fws:items>
A mandatory list of CreateFulfillmentOrderItem. At least one item must be specified

<fws:delete-inbound-shipment-items>

Removes items from a pre-existing shipment specified by the ShipmentId. This operation removes the items specified in each MerchantSKU parameter from the shipment in their entirety, no matter the quantity. If the MerchantSKU is not currently a part of the shipment, then that particular line item is ignored, but others are still processed.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
merchantSku The msku of the items to delete
shipmentId The id of the shipment
Child Elements

<fws:get-fulfillment-identifier>

Gets the Fulfillment Network SKU (FNSKU) for the supplied merchant item - creating it if needed. This operation is idempotent in that it can be called multiple times without any adverse effects. This operation is required whenever you need to register items for Amazon fulfillment that require labeling and when you need to get the identifier prior to creating an offer. This operation is necessary to register items for Amazon fulfillment in order to send them to Amazon, but does not do the work of marking any offer for this item as Amazon fulfilled. A response does not imply that the item has an offer for which it can be fulfilled; only that the Amazon Fulfillment Network can track it. An inactive item can have a quantity in the fulfillment center, but will never be fulfilled. Use this operation instead of getFulfillmentIdentifierForMSKU if an offer does not already exist for the MerchantSKU.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
asin The mandatory Aamzon's identifier
itemCondition The mandatory item's condition
merchantSku The mandatory merchant's sku
Child Elements
Return Payload
  • a FulfillmentIdentier

<fws:get-fulfillment-identifier-for-msku>

Gets the Fulfillment Network SKU (FNSKU) for the supplied merchant item - creating it if needed. This operation is idempotent in that you can call it multiple times without any adverse effects. This operation is required whenever you need to register items for Amazon fulfillment that require labeling. This operation is necessary to register items for Amazon fulfillment in order to send them to Amazon, but doesn't mark any offer for this item as Amazon fulfilled. A response does not imply that the item has an offer for which it can be fulfilled; only that the Amazon Fulfillment Network can track it. An inactive item can have a quantity in the fulfillment center, but will never be fulfilled. Use this operation instead of GetFulfillmentIdentifier if an offer already exists for the SKU.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
merchantSku The merchant's sku
Child Elements
Return Payload
  • the FulfillmentItem

<fws:get-fulfillment-item-by-fnsku>

Gets fulfillment item data for the provided Fulfillment Network SKU (FNSKU). Throws an FWSException if the fnsku is invalid. A response does not imply that the item has an offer for which it can be fulfilled; only that the Amazon Fulfillment Network can track it. An inactive item can have a quantity in the fulfillment center, but will never be fulfilled.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
fulfillmentNetworkSku The mandatory fulfillment network sku - aka nsku, aka fnsku
Child Elements
Return Payload
  • a FulfillmentItem

<fws:get-fulfillment-item-by-msku>

Gets fulfillment item data for the provided Merchant SKU. Throws an FWSException if the msku is invalid. A response does not imply that the item has an offer for which it can be fulfilled; only that the Amazon Fulfillment Network can track it. An inactive item can have a quantity in the fulfillment center, but will never be fulfille

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
merchantSku The mandatory merchant's sku
Child Elements
Return Payload
  • a FulfillmentItem

<fws:get-fulfillment-order>

Gets the original fulfillment order request, the status of both the order and its items in the Amazon Fulfillment Network, and the shipments that have been generated to fulfill the order.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
orderId The mandatory order id of the fulfillment
Child Elements
Return Payload
  • a GetFulfillmentOrderResult

<fws:get-fulfillment-preview>

Answers estimated shipping dates and fees for a given set of merchant SKUs and quantities.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shippingSpeedCategories Optional. The optional shipping categories
orderItemId The mandatory order item id
Child Elements
<fws:address>
The mandatory destination address
<fws:items>
The mandatory items list of GetFulfillmentPreviewItem to preview. At least one item is required
Return Payload
  • a list of fulfillment previews

<fws:get-inbound-service-status>

Answers a brief status message from the service

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
Child Elements
Return Payload
  • the status message

<fws:get-inbound-shipment>

Gets inbound shipment data without the item details for a given ShipmentId.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shipmentId The mandatory shipment id
Child Elements
Return Payload
  • an InboundShipmentData

<fws:get-inbound-shipment-preview>

Gets the information needed to create a set of shipments for a given set of items and the ship from address. You might need to create multiple shipments for various reasons, but the most common reason is when there are sortable and non-sortable items. In this case, there is one shipment for each of the shipment sets returned.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
labelPreference Optional. The optional label preference
Child Elements
<fws:items>
The mandatory items list of MerchantSkuItems to preview. At least one item is required
<fws:address>
The mandatory destination address
Return Payload
  • the list of previews

<fws:get-inventory-service-status>

Answers a brief status message from the service

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
Child Elements
Return Payload
  • the status message

<fws:get-inventory-supply>

Gets information about the supply of merchant-owned inventory in Amazon's fulfillment network. Throws a FWSException if inventory is unsellable or is already bound to a customer order or bound to internal fulfillment center processing (for example, labeling).

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
merchantSku The mandatory merchant's sku
responseGroup Optional. The optional response group
Child Elements
Return Payload
  • a merchant sku supply iterable

<fws:get-outbound-service-status>

Answers a brief status message from the service

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
Child Elements
Return Payload
  • the status message

<fws:list-fulfillment-items>

Lazily lists fulfillment items registered. If IncludeInactive is set to True, the operation returns both active (available for fulfillment) and inactive (not available for fulfillment) mappings. This parameter defaults to False. You can use inactive mappings to track inventory in Amazon's fulfillment centers; however, inactive items can't be fulfilled.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
includeInactive Optional. Optional. Whether non available items for fulfillment should be listed
Child Elements
Return Payload
  • a FulfillmentItem iterable

<fws:list-fulfillment-orders>

Lazily lists all the fulfillment orders

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
startDate Optional. The start date of the query
Child Elements
<fws:fulfillmentMethods>
Optional. Optional list of FWS fulfillment method strings
Return Payload
  • the orders iterable

<fws:list-inbound-shipment-items>

Lazily retrieved the all the inbound shipment items for the given shipmentId.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shipmentId The mandatory shipment's id
Child Elements
Return Payload
  • a InboundShipmentItem items iterable

<fws:list-inbound-shipments>

Lazily lists the inbound shipments a merchant has created, according to the specified query parameters.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shipmentStatus The mandatory status of listed items
createdAfter Optional. Optional. The min creation date of listed shipment
createdBefore Optional. Optional. The max creation date of listed shipments
Child Elements
Return Payload
  • a shipment data iterable

<fws:list-updated-inventory-supply>

Lazily retrieves all the information about the supply of merchant-owned inventory in Amazon's fulfillment network, for inventory items that may have had recent changes in inventory levels. The type of inventory data returned by this operation is the same as that returned by getInventorySupply. This operation provides the most efficient mechanism for clients to maintain local copies of inventory supply data.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
startDateTime The mandatory start date
responseGroup Optional. A response group string
Child Elements
Return Payload
  • a MerchantSKUSupply iterable

<fws:put-inbound-shipment>

Adds or replaces inbound shipment for a given shipmentId. If the shipment does not exist, one will be created. Note, the merchant should call SetInboundShipmentStatus with a status of 'Shipped' when the shipment is picked up, or set the status to 'Cancelled' if the shipment is abandoned. The intial status of a shipment will be set to 'Working'. Once a shipment's status has been set to 'Shipped', the merchant may make no further changes except to update the status to 'Cancelled'. Any items not received at the time a shipment is 'Cancelled' will be sidelined if they arrive at the fulfillment center. NOTE: If you are experiencing time-outs due to too many items in the shipment, calling this operation with a subset of the items should work. You may add more items to the shipment by calling putInboundShipmentItems.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shipmentId The mandatory shipment's id
shipmentName The mandatory shipment name
destinationFulfillmentCenter The mandatory Amazon's fulfillment center where the client's products are stored
labelPreference Optional. The optional label preference
Child Elements
<fws:shipFromAddress>
The mandatory source address of the shipment to amazon's centers
<fws:itemQuantities>
A mandatory list of MerchantSKUQuantityItem objects, with the amount of item for each merchant sku. At least one item must be passed

<fws:put-inbound-shipment-data>

Adds or replaces the merchant's inbound shipment header information for the given ShipmentId.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shipmentId The mandatory shipment's id
shipmentName The mandatory shipment name
destinationFulfillmentCenter The mandatory Amazon's fulfillment center where the client's products are stored
labelPreference Optional. The optional label preference
Child Elements
<fws:shipFromAddress>
The mandatory source address of the shipment to amazon's centers

<fws:put-inbound-shipment-items>

Adds line items to a pre-existing shipment that the ShipmentId specifies. If the MerchantSKU is already in the shipment, then that particular line item is replaced. Call PutInboundShipment to create a new shipment. This call returns an exception if you attempt to add line items to a shipment that is in a status other than Working.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shipmentId The mandatory shipment's id
Child Elements
<fws:itemQuantities>
A mandatory list of MerchantSKUQuantityItem objects, with the amount of item for each merchant sku. At least one item must be passed

<fws:set-inbound-shipment-status>

Sets the inbound shipment status to the specified ShipmentStatus. Once a shipment's status has been set to Shipped, you cannot make any further changes except to update the status to Cancelled. Any item not received at the time a shipment is cancelled is put into problem receive at the fulfillment center. This operation returns a RequestId upon success, otherwise an explicit error is returned.

XML Sample
INCLUDE_ERROR

Attributes
NameDefault ValueDescription
config-ref Optional. Specify which configuration to use.
shipmentId The mandatory shipment's id
shipmentStatus The mandatory new status for the given shipment
Child Elements