Manage Inventory Transactions from External Applications

A third-party logistics (3PL) provider typically specializes in integrated operation, warehousing, and transportation services that can be scaled and configured to customer need based on market conditions. A warehouse management system (WMS) is a software application designed to support warehouse or distribution center management and staff. This application facilitates management of available resources to move and store materials into, within, and out of a warehouse, while supporting staff in material movement and storage.

Oracle Fusion Applications provide a central integration framework that coordinates communication with a 3PL application or WMS to support purchase order receipts, returns to suppliers, internal material transfers, inventory transactions, and sales order shipments. Using REST API, Oracle Inventory Management Cloud communicates receiving advice and shipment requests to a 3PL provider or external WMS for processing. After completion of processing in the 3PL application or WMS, Inventory Management accepts receipt confirmations, shipment confirmations, and inventory transactions from the 3PL application or WMS.

The following figure illustrates how Inventory Management integrates with 3PL and WMS applications.

High-level overview of Inventory Management integration with 3PL and WMS applications

Let's discuss this scenario briefly:

  • Create an inventory staged transaction
  • Get an inventory staged transaction
  • Update an inventory staged transaction
  • Delete an inventory staged transaction

Here's a typical application processing flow for the scenarios:

  1. In WMS you can perform a miscellaneous transaction and send the message to the integration layer
  2. You can map the message details to the inventoryStagedTransactions resource and use the resource to manage the staged inventory transactions.
  3. You can run the Manage Inventory Transactions scheduled process to submit multiple requests to process inventory transactions from the open interface table.

Create an inventory staged transaction

Example URL

Use this resource URL format.

POST

/fscmRestApi/resources/11.13.18.05/inventoryStagedTransactions

For example:

curl -u username:password -X POST -H "Content-Type:application/vnd.oracle.adf.resourceitem+json" -d 'request payload' 
"https://servername/fscmRestApi/resources/version/inventoryStagedTransactions"

Example Request

Here's an example of the request body in JSON format.

{"parts":[
	{
		"id":"part1",
		"path":"/inventoryStagedTransactions",
		"operation":"create",
		"payload":{      
			"OrganizationName": "Seven Corporation",
			"ItemNumber": "INV-100",
			"TransactionTypeName":"Miscellaneous Receipt",
			"TransactionQuantity": "10",
			"TransactionUnitOfMeasure": "Each",
			"TransactionDate": "2017-01-01",
			"SubinventoryCode": "Staging1" ,
			...
		}
	},
	{
		"id":"part2",
		"path":"/inventoryStagedTransactions",
		"operation":"create",
		"payload":{            "OrganizationName": "Seven Corporation",
			"ItemNumber": "INV-100",
			"TransactionTypeName":"Miscellaneous Receipt",
			"TransactionQuantity": "10",
			"TransactionUnitOfMeasure": "Each",
			"TransactionDate": "2017-01-01",
			"SubinventoryCode": "Staging1" ,
			...
		}
	}
	]
}

Example Response

Here's an example of the response body in JSON format.

{
	"parts": [
	{
		"id": "part1",
		"path": "https://servername/fscmRestApi/resources/version/inventoryStagedTransactions",
		"operation": "create",
		"payload": {
			"OrganizationId": null,
			"OrganizationName": "Seven Corporation",
			"InventoryItemId": null,
			"ItemNumber": "INV-100",
			"ItemDescription": null,
			"Revision": null,
			"SubinventoryCode": "Staging1",
			"LocatorId": null,
			"LocatorName": null,
			"TransactionQuantity": 10,
			"TransactionUOM": null,
			"TransactionUnitOfMeasure": "Each",
			...
		}
	},
	{
		"id": "part2",
		"path": "https://servername/fscmRestApi/resources/version/inventoryStagedTransactions",
		"operation": "create",
		"payload": {
			"OrganizationId": null,
			"OrganizationName": "Seven Corporation",
			"InventoryItemId": null,
			"ItemNumber": "INV-100",
			"ItemDescription": null,
			"Revision": null,
			"SubinventoryCode": "Staging1",
			"LocatorId": null,
			"LocatorName": null,
			"TransactionQuantity": 10,
			"TransactionUOM": null,
			"TransactionUnitOfMeasure": "Each",
			...
		}
	}
	]
}

Get an inventory staged transaction

Example URL

Use this resource URL format.

GET

/fscmRestApi/resources/11.13.18.05/inventoryStagedTransactions/TransactionInterfaceId

Example Response

Here's an example of the response body in JSON format.

{
	"OrganizationId": null,
	"OrganizationName": "Seven Corporation",
	"InventoryItemId": null,
	"ItemNumber": "VC105",
	"ItemDescription": null,
	"Revision": null,
	"SubinventoryCode": "Staging1",
	...
}

Update an inventory staged transaction

Example URL

Use this resource URL format.

PATCH

/fscmRestApi/resources/11.13.18.05/inventoryStagedTransactions/TransactionInterfaceId

Use the following cURL command to submit a request on the REST resource.

curl -X PATCH -u "username:password" -H "Content-Type: application/vnd.oracle.adf.resourceitem+json" -d 'request payload'  "https://servername/fscmRestApi/resources/version/inventoryStagedTransactions/TransactionInterfaceId"

Example Request

Here's an example of the request body in JSON format.

{ 
	"OrganizationName": "Seven Corporation", 
	"TransactionTypeName": "Miscellaneous Receipt", 
	"ItemNumber": "VC105",
	"TransactionQuantity": "10",
	"TransactionUnitOfMeasure": "Each",
	"TransactionDate": "2017-01-01",
	"SubinventoryCode": "Stores"
}

Example Response

Here's an example of the response body in JSON format.

{
	"OrganizationId": null,
	"OrganizationName": "Seven Corporation",
	"InventoryItemId": null,
	"ItemNumber": "VC105",
	"ItemDescription": null,
	"Revision": null,
	"SubinventoryCode": "Stores",
	...
}

Delete an inventory staged transaction

Example URL

Use this resource URL format.

DELETE

/fscmRestApi/resources/11.13.18.05/inventoryStagedTransactions/TransactionInterfaceId

For example, the following command deletes one transaction detail where transaction interface identifier 300100152718324:

curl -u username:password -X DELETE "https://servername/fscmRestApi/resources/version/inventoryStagedTransactions/300100152718324