IBM Inventory Visibility APIs

Live

IBM Inventory Visibility APIs

+ Day(s) remaining in the trial

Overview

The IBM Inventory Visibility is a completely cloud-based SaaS offering that presents an accurate, real-time availability picture in the cloud across all channels. The IBM Inventory Visibility also integrates into any existing commerce solution to instantly improve the enterprise inventory picture. Intended Audience IBMers, Business Partners, and IBM clients via seller. Prerequisites Review the IBM Inventory Visibility documentation in the IBM Knowledge Center at https://www.ibm.com/support/knowledgecenter/SSSMTK/landing/welcome.html.

Security

Keys

Pick a key to use with this API. Make sure you are logged in with your IBM id for your keys to be populated in the dropdown below. By selecting a key, it will be pre-filled for each endpoint in the Documentation section that can be used with the built-in testing. If you want to change which key to use for a particular endpoint, you can do so at the endpoint in the Documentation section.
You can manage your API keys in the <MyAPIs> section. API keys authenticate you to your subscription, so make sure to keep them secret. Do not share the X-IBM-Client-Secret portion of any API key in publicly accessible places such as GitHub, or client-side code.



Manage your keys
 

Documentation

IBM Inventory Visibility APIs:

Availability

The current availability picture for an item. For more information refer to [IBM Knowledge Center: Supply and demand](https://www.ibm.com/support/knowledgecenter/SSSMTK/com.ibm.help.oncloud.invservice.doc/c_IS_SupplyAndDemand.html).
Get Network Availability
Provides the current availability picture, including non-expired reservations, at the network level. Responds with availability based on the configured distribution groups.

POST   /{tenantId}/v1/availability/network

			https://api.watsoncommerce.ibm.com/inventory/{tenantId}/v1/availability/network
		
Keys
Header parameters

Transaction-Id

STRING , optional

Prevents the repeat processing of future requests by providing the same transaction ID.

Path and Query parameters

tenantId

URL , required

The tenant ID provided by IBM to access your APIs.

Request code
								
HttpResponse<String> response = Unirest.post("https://api.watsoncommerce.ibm.com/inventory/{tenantId}/v1/availability/network") .body("{\"distributionGroupId\":\"US_Group\",\"lines\":[{\"deliveryMethod\":\"SHP\",\"distributionGroupId\":\"US_Group\",\"itemId\":\"SKU1024\",\"lineId\":\"1\",\"productClass\":\"NEW\",\"unitOfMeasure\":\"EACH\"}],\"segment\":\"ONLINE\",\"segmentType\":\"Channel\"}") .asString();
Request model

distributionGroupId

STRING , required

The unique identifier of the distribution group to check for availability.

lines

ARRAY , required

The lines for which to retrieve availability.

deliveryMethod

STRING , required

Indicates the delivery method specified for an item. For example, `PICK` or `SHP`. `SHP` is for when the item needs to be shipped. `PICK` is for when the item needs to be picked up from the store.

distributionGroupId

STRING , optional

The unique identifier of the distribution group. Overrides the distribution group ID specified in the header.

itemId

STRING , required

The unique identifier of an item.

lineId

STRING , required

The unique identifier for each line. This should be unique across all input lines.

productClass

STRING , required

A means of describing the quality of inventory for the item. For example, OPEN_BOX to represent open box inventory.

unitOfMeasure

STRING , required

The unit of measure in the context of the item's quantity. For example, 1 `DOZEN` egg or 2.7 `YARD` of fabric.

segment

STRING , optional

The segment for checking availability. For example, the Channel segment type may have a segment of ONLINE. If not passed, unsegmented availability will be considered.

segmentType

STRING , optional

The segment type for checking availability. For example, the Channel segment type may have a segment of ONLINE. If not passed, unsegmented availability will be considered.

Request example
{
  "distributionGroupId": "US_Group",
  "lines": [{
    "deliveryMethod": "SHP",
    "distributionGroupId": "US_Group",
    "itemId": "SKU1024",
    "lineId": "1",
    "productClass": "NEW",
    "unitOfMeasure": "EACH"
  }],
  "segment": "ONLINE",
  "segmentType": "Channel"
}
Response model

200

OK

Body

lines [GetNetworkAvailabilityResponseLine]

ARRAY , optional

The lines for which availability is returned.

lineId

STRING , optional

The unique identifier for the line

networkAvailabilities [GetNetworkAvailabilityResponseNetworkAvailabilities]

ARRAY , optional

The current inventory availability picture at a network level.

alertLevel

STRING , optional

*Deprecated* Refer to thresholdLevel. The threshold level that is met for availability. 3 represents low, 2 for medium, 1 for high, and 0 for greater thresholds.

alertQuantity

DOUBLE , optional

*Deprecated* Refer to thresholdQuantity. Indicates the available inventory quantity based on the threshold. This excludes active reservations.

distributionGroupId

STRING , optional

The unique identifier of the distribution group.

earliestShipTs

STRING , optional

The earliest timestamp when the item can be fulfilled based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

futureAvailableQuantity

DOUBLE , optional

The quantity of the item available from future inventory for the distribution group. Active reservations will consume from onhandAvailableQuantity before consuming from futureAvailableQuantity.

futureEarliestShipTs

STRING , optional

The earliest timestamp where future inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

futureLatestShipTs

STRING , optional

The latest timestamp where future inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

onhandAvailableQuantity

DOUBLE , optional

The onhand quantity of the item for the distribution group. Active reservations will consume from onhandAvailableQuantity before consuming from futureAvailableQuantity.

onhandEarliestShipTs

STRING , optional

The earliest timestamp where onhand inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

onhandLatestShipTs

STRING , optional

The latest timestamp where onhand inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

thresholdLevel

DECIMAL , optional

The current threshold level based on availability. 0 = Above High 1 = Below High 2 = Below Medium 3 = Below Low

thresholdQuantity

DOUBLE , optional

*Deprecated* Indicates the available inventory quantity based on the threshold. This excludes active reservations.

thresholdType

STRING , optional

The level for which thresholdLevel is based on. `ONHAND` level is based on onhandAvailableQuantity. `FUTURE` level is based on futureAvailableQuantity. Example: ONHAND, FUTURE"

totalAvailableQuantity

DOUBLE , optional

The total quantity of the item available for the distribution group. Availability considers active reservations.

401

Access was not authorized given the credentials.

Body

error

STRING , optional

The code that represents this error.

error_description

STRING , optional

A short description of the error.

403

Access was not authorized given the provided access token.

Body

error

STRING , optional

The code that represents this error.

error_description

STRING , optional

A short description of the error.

Response example

200

OK

								{
  "lines" : [{
    "lineId" : "1",
    "networkAvailabilities" : [{
    "alertLevel" : "3",
    "alertQuantity" : 5.5,
    "distributionGroupId" : "US_Group",
    "earliestShipTs" : "2016-11-01T17:42:32Z",
    "futureAvailableQuantity" : 14.4,
    "futureEarliestShipTs" : "2016-11-10T00:00:00Z",
    "futureLatestShipTs" : "2016-11-20T00:00:00Z",
    "onhandAvailableQuantity" : 1.0,
    "onhandEarliestShipTs" : "2016-11-01T17:42:32Z",
    "onhandLatestShipTs" : "2016-11-01T17:42:32Z",
    "thresholdLevel" : 2.0,
    "thresholdQuantity" : 5.5,
    "thresholdType" : "ONHAND",
    "totalAvailableQuantity" : 15.4
  }]
  }]
}
							

401

Access was not authorized given the credentials.

								{
  "error" : "invalid_token",
  "error_description" : "The access token is invalid or has expired"
}
							

403

Access was not authorized given the provided access token.

								{
  "error" : "No token provided or token is invalid.",
  "error_description" : "You cannot consume this service"
}
							
Get Node Availability
Provides the current availability picture, including non-expired reservations, at the ship node level. Responds with availability based on the requested nodes.

POST   /{tenantId}/v1/availability/node

			https://api.watsoncommerce.ibm.com/inventory/{tenantId}/v1/availability/node
		
Keys
Header parameters

Transaction-Id

STRING , optional

Prevents the repeat processing of future requests by providing the same transaction ID.

Path and Query parameters

tenantId

URL , required

The tenant ID provided by IBM to access your APIs.

Request code
								
HttpResponse<String> response = Unirest.post("https://api.watsoncommerce.ibm.com/inventory/{tenantId}/v1/availability/node") .body("{\"lines\":[{\"deliveryMethod\":\"SHP\",\"itemId\":\"SKU1024\",\"lineId\":\"1\",\"productClass\":\"NEW\",\"shipNodes\":{\"description\":\"The ship nodes for which to check for availability.\",\"example\":[\"Matrix-Store-001\"],\"items\":{\"type\":\"string\"},\"type\":\"array\"},\"unitOfMeasure\":\"EACH\"}],\"segment\":\"ONLINE\",\"segmentType\":\"Channel\"}") .asString();
Request model

lines

ARRAY , required

The lines for which to get availability

deliveryMethod

STRING , required

Indicates the delivery method specified for an item. For example, `PICK` or `SHP`. `SHP` is for when the item needs to be shipped. `PICK` is for when the item needs to be picked up from the store.

itemId

STRING , required

The unique identifier of an item.

lineId

STRING , required

The unique identifier for each line. This should be unique across all input lines.

productClass

STRING , required

A means of describing the quality of inventory for the item. For example, OPEN_BOX to represent open box inventory.

shipNodes

ARRAY , required

The ship nodes for which to check for availability.

unitOfMeasure

STRING , required

The unit of measure in the context of the item's quantity. For example, 1 `DOZEN` egg or 2.7 `YARD` of fabric.

segment

STRING , optional

The segment for checking availability. For example, the Channel segment type may have a segment of ONLINE. If not passed, unsegmented availability will be considered.

segmentType

STRING , optional

The segment type for checking availability. For example, the Channel segment type may have a segment of ONLINE. If not passed, unsegmented availability will be considered.

Request example
{
  "lines": [{
    "deliveryMethod": "SHP",
    "itemId": "SKU1024",
    "lineId": "1",
    "productClass": "NEW",
    "shipNodes": [],
    "unitOfMeasure": "EACH"
  }],
  "segment": "ONLINE",
  "segmentType": "Channel"
}
Response model

200

OK

Body

lines [GetNodeAvailabilityResponseLine]

ARRAY , optional

The lines for which availability is returned

lineId

STRING , optional

The unique identifier for the line.

shipNodeAvailability [GetNodeAvailabilityResponseShipNodeAvailability]

ARRAY , optional

earliestShipTs

STRING , optional

The earliest timestamp when the item can be fulfilled based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

futureAvailableQuantity

DOUBLE , optional

The quantity of the item available from future inventory from the ship node. Active reservations will consume from onhandAvailableQuantity before consuming from futureAvailableQuantity.

futureEarliestShipTs

STRING , optional

The earliest timestamp where future inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

futureLatestShipTs

STRING , optional

The latest timestamp where future inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

latestShipTs

STRING , optional

The latest timestamp when the item can be fulfilled based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

onhandAvailableQuantity

DOUBLE , optional

The quantity of the item available onhand from the ship node. Active reservations will consume from onhandAvailableQuantity before consuming from futureAvailableQuantity.

onhandEarliestShipTs

STRING , optional

The earliest timestamp where onhand inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

onhandLatestShipTs

STRING , optional

The latest timestamp where onhand inventory is available based on the requested deliveryMethod. Date and time must be in ISO 8601 standard.

shipNode

STRING , optional

The ship node where the item is available.

thresholdLevel

DECIMAL , optional

The current threshold level based on availability. 0 = Above High 1 = Below High 2 = Below Medium 3 = Below Low

thresholdType

STRING , optional

The level for which thresholdLevel is based on. `ONHAND` level is based on onhandAvailableQuantity. `FUTURE` level is based on futureAvailableQuantity. For example, ONHAND, FUTURE"

totalAvailableQuantity

DOUBLE , optional

The total quantity of the item that is available for ship node. Availability considers active reservations.

401

Access was not authorized given the credentials.

Body

error

STRING , optional

The code that represents this error.

error_description

STRING , optional

A short description of the error.

403

Access was not authorized given the provided access token.

Body

error

STRING , optional

The code that represents this error.

error_description

STRING , optional

A short description of the error.

Response example

200

OK

								{
  "lines" : [{
    "lineId" : "1",
    "shipNodeAvailability" : [{
    "earliestShipTs" : "2016-11-01T17:42:32Z",
    "futureAvailableQuantity" : 14.4,
    "futureEarliestShipTs" : "2016-11-10T00:00:00Z",
    "futureLatestShipTs" : "2016-11-20T00:00:00Z",
    "latestShipTs" : "2016-11-20T00:00:00Z",
    "onhandAvailableQuantity" : 1.0,
    "onhandEarliestShipTs" : "2016-11-01T17:42:32Z",
    "onhandLatestShipTs" : "2016-11-01T17:42:32Z",
    "shipNode" : "Matrix-Store-001",
    "thresholdLevel" : 2.0,
    "thresholdType" : "ONHAND",
    "totalAvailableQuantity" : 15.4
  }]
  }]
}
							

401

Access was not authorized given the credentials.

								{
  "error" : "invalid_token",
  "error_description" : "The access token is invalid or has expired"
}
							

403

Access was not authorized given the provided access token.

								{
  "error" : "No token provided or token is invalid.",
  "error_description" : "You cannot consume this service"
}
							

Loading content...