The ItemInventory JSON object defines inventory data for an item of the  Dsco system.

- Make sure you're familiar with JSON before continuing.
- The JSON objects are defined using Orderly.  Optional attrs end with a "?" all others are required.

- isodate fields use one of these ISO 8601 format: 2014-01-01T10:30:00.000+01:00, 2014-01-01T10:30:00.000+0100, 2014-01-01T10:30:00.000Z
- Dsco reserves the right to add new attributes at any time so Partners should ensure their validators won't break should this happen

Product status (productStatus attribute)

In April 2019, Dsco released the productStatus attribute for this object.  The product status attribute allows a supplier to control when an item is available for sale. 

By default, if productStatus is not provided the item is assumed to not be governed by this state machine and is immediately available for sale and thus quantityAvailable must be present at all times.

pending
The supplier is in the process of setting up the item within Dsco and it is not ready for its trading partners to sell it.  Dsco will not export this item in inventory update feeds to the supplier’s trading partners, but will export this item in catalog feeds.  The item's quantityAvailable attribute will not be required, though  the supplier may provide it if they want to.

active
The supplier has completed item setup for this item and the trading partners may now sell the item when the item has positive quantity.   When an item's productStatus is set to active, the item’s availableQuantity must have a value, if just zero.  If not, Dsco will reject the request to update the item’s productStatus to active.

Existing items will be set to a "null" value, which Dsco will consider to be "active" for the purposes of determining whether retailers should see these items. This is required for backwards compatibility.  Going forward, Dsco will likewise consider items created without a productStatus to be active.

discontinued_sell_through
The supplier has discontinued the item but wants its trading partners to continue to sell the item until the item's availableQuantity goes to zero.  Dsco will continue to send inventory updates to the supplier’s trading partners if the supplier continues to update the available quantity of the item.  At some point, it is expected that the available quantity will go to zero and remain there.  However, if the supplier should send a positive inventory quantity, it will be passed to its trading partners.

discontinued
The item is discontinued and the supplier’s trading partners are not to sell any more.  Dsco will export the item to the supplier’s trading partners via its designated inventory update feed (file/API/webhook), setting the item’s quantityAvailable to zero and overriding whatever value may be there.  Suppliers may continue to send positive inventory quantity values for the item to Dsco and Dsco will store it, however, Dsco will continue to send zero quantity available to the supplier’s trading partners.

Inventory status (status attribute)

This attribute allows a supplier to tell its trading partners about the status of the inventory for the item.  Note that this value may vary independently from the quantity

in-stock
This state indicates that the item is in stock and the availableQuantity value should be greater than zero.

out-of-stock
This state indicates that the item is out of stock and the availableQuantity value should be zero but it may change in the future.

discontinued
This state indicates that the item is discontinued.  Please reference the productStatus attribute, documented above, which may drive changing this value and, if productStatus is used, may allow retailers to continue to sell the item even after the item is considered discontinued (productStatus discontinued_sell_through status).

Definition

Object
{
    string sku;                # The sku of the item
    string upc?;               # The upc of the item
    string ean?;               # The ean of the item
    string mpn?;               # The mpn of the item
    string isbn?;              # The isbn of the item
    string gtin?;              # The gtin of the item
    string partnerSku?         # Added in V2 - The sku specific to the retailer/supplier relationship
                               # this will only be populated when requested by a
                               # retailer where the supplier has provided a partnerSku
                               # value for relationship with the retailer requesting the 
                               # ItemInventory object
    int quantityAvailable;     # The number of this item available
    string title?;             # The item's title     
    double cost?;              # The item's cost
    string status[in-stock,    # The item's status (see doc above)
                  out-of-stock,
                  discontinued]?;
    string productStatus[
                          pending,     # This item is not ready for sale and 
                                       # quantityAvailable is not required
                          active,      # This item is available for sale and must
                                       # include quantityAvailable, even if it's
                                       # just zero
                          discontinued_sell_through, # see Product status section above
                          discontinued               # see Product status section above
                        ];
    array{ref PartnerSkuMap} partnerSkuMap;  # Added in V2 - The map of retailer-specific unique identifiers for 
                                             # the given ItemInventory object
                                             # will not be present when retailers
                                             # request this object
    isodate estimatedAvailabilityDate?; # The date the item may be avail.
    int quantityOnOrder?;               # The number on order
    string currencyCode?;               # The currency code of item
    array {ref ItemWarehouse} warehouses?;   # The list of warehouses that house this item
    int dscoItemId?;
    string dscoSupplierName?;
    int dscoSupplierId?;
    string tradingPartnerId?;           # Only populated when requested by retailer
    string tradingPartnerName?;         # Only populated when requested by retailer
    isodate dscoCreateDate?;            
    isodate dscoLastQuantityUpdateDate?;
    isodate dscoLastCostUpdateDate?;
    isodate dscoLastUpdateDate?;
};

Example

{
    "sku": "asfs92342klsdfsf",
    "quantityAvailable": 232,
    "title": "My lovely item",
    "cost": "23.99",
    "status": "in-stock",
    "estimatedAvailabilityDate": "2014-01-01T10:15:00+01:00",
    "quantityOnOrder": 100,
    "currencyCode": "USD",
    "dscoItemId": 232,
    "dscoSupplierName": "Acme supplier",
    "dscoSupplierId": "9822",
    "dscoCreateDate": "2014-01-01T10:15:00+01:00",
    "dscoLastQuantityUpdateDate": "2014-01-01T10:15:00+01:00",
    "dscoLastCostUpdateDate": "2014-01-01T10:15:00+01:00",
    "dscoLastUpdateDate": "2014-01-01T10:15:00+01:00"
}
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.