How to create Items with the Infoplus API

Items in Infoplus may be created through the Infoplus API via a POST to the appropriate endpoint.  


For example, version 1.0 of the api, on the command line:   

curl -H API-Key:YOUR-API-KEY -H Content-Type:application/json -X POST -d @item.json \ https://YOUR-INFOPLUS-DOMAIN/infoplus-wms/api/v1.0/item

Or in one of our client libraries (PHP example shown here):   

The biggest challenge in creating Items is knowing what values to use for some of the more esoteric fields.  While there are a number of required fields in the Item table, your business may find it likely, at least when starting out, to use the same static values for several of these fields.  


Here's an example of an Item JSON object, with the value supplied for all required fields:   

The first 3 fields are the most important ones for getting started:

  1. First, the SKU is the unique identifier for the new Item, within its Line of Business (LOB - the next field that we'll discuss).  When creating a new Item, the SKU you provide must be unique within its LOB, or else you will receive an error.  
  2. Next is the lobId - the Id of the Line of Business for the Item.  If your Infoplus account only has 1 LOB, then you'll use the same id here for all of your Items; but if you have multiple LOB's in Infoplus, this is the field where you identify which LOB the Item belongs to.
  3. The itemDescription is a textual description of the Item, often presented to users to identify the Item (as SKU's are not necessarily user-friendly). 

Beyond those fields, there are lots of details, that control how your Item behaves in Infoplus, as described here:

Field Description Notes
sku String; Unique identifier for an Item (within a Line of Business).  SKUs may have up to 20 characters. These may include:
  • Capital letters: A-Z (Infoplus will automatically change lowercase letters to capital letters)
  • Numbers: 0-9
  • Special characters: # _ - / . ( )
  • Spaces (do not use groups of two or more spaces together)
itemDescription String; A description of the item which helps identify and search for the item.  Can contain letters and/or numbers.  Max length is 40 characters.  Use field additionalDescription if more characters are needed.  
lobId Integer; Id of the Line of Business (LOB) that the Item belongs to.
You can find your LOB Id by using the lineOfBusiness/search endpoint in the Infoplus API, as in:
curl -H API-Key:YOUR-API-KEY \
https://YOUR-INFOPLUS-DOMAIN/infoplus-wms/api/v1.0/lineOfBusiness/search
status Enumerated String;
Typically Active (for new Items).
Must be one of the following:  
  • Active: Can be ordered and will be restocked when inventory is low
  • Deplete: Is stocked but is not planned to be reproduced
  • Blocked: Can no longer be ordered or replenished
  • Placeholder: Is created but the item itself is not orderable or stocked
  • Outside Vendor: Will be fulfilled by an outside business partner
  • Print on Demand: Is not stocked and is produced when ordered
unitsPerWrap Integer;
The number of single units that make up a pickable wrapped unit. 
Typically 1.  
Order quantities are placed in terms of individual units, but Infoplus will only allocate full wraps. 
For example, an item with Units Per Wrap of 3, an order for 8 will round up, and will allocate 9 units, for a total pick quantity of 3 Wraps.  
wrapCode Enumerated String;
Notational field, shown to users during warehouse operations, to describe a pickable Wrap.
Often EACH.
Must be one of:  BOTTLE, BOX, CASE, EACH, PACK, PAD, PALLET or ROLL
    unitCode Enumerated String
    Notational field, shown to users during warehouse operations, to describe a Unit of the Item.
    Often EACH. 
    Must be one of:  BINDERS, BOOKLET, BOOKS,
    BOTTLES, BOX, BROCHURES, CAPS, CARBONS,
    CARD, CARDS, CHECKS, CONT. SETS, CONT. SINGLES,
    CONTINUOUS, COVERS, CUTSHEETS, DISKETTES,
    EACH, ENVELOPE, FOLDERS, FORMS, HOURS,
    INSERTS, IR, JARS, KITS, LABEL, LETTERHEAD,
    LOGO, MANUALS, MEMOS, MENU, NCR, PACKS,
    PADS, PKG, POD, PROSPECTUS, RIBBON,
    SINGLES LOOSE, SINGLES PADDED, SLIDES, SNAPSETS,
    TAB, TABS, TAPES, TICKET,  TONERS or VIALS
    forwardLotMixingRule Enumerated String
    Controls how inventory in Forward Locations is to be mixed with other inventory.
    Must be one of: Item Receipt, Inventory Properties, SKU
    storageLotMixingRule Enumerated String; Controls how inventory in Storage Locations is to be mixed with other inventory. Must be one of: Item Receipt, Inventory Properties, SKU
    forwardItemMixingRule Enumerated String; Controls if this Item must be stored by itself, or may be mixed with other Items in Forward Locations.  Must be one of:  Single or Multi
    storageItemMixingRule Enumerated String; Controls if this Item must be stored by itself, or may be mixed with other Items in Storage Locations.   Must be one of:  Single or Multi
    allocationRule Enumerated String; Controls how Infoplus chooses which locations to allocate inventory from. Must be one of:  Strict FIFO, Weak FIFO, Labor Optimized
    backorder Enumerated String; Controls if Back Orders should be created for this Item when it is Out of Stock during Fulfillment of Orders. Must be one of:  Yes or No.
    chargeCode Enumerated String; Controls if Infoplus requires payment data to be submitted with Orders for the Item.  
    typically Not Chargeable.
    Note, this feature is generally only supported in some legacy User Interfaces.  Thus it is recommended to use Not Chargeable for Infoplus accounts created after 2015.
    Must be one of: Not Chargeable, Chargeable or Retail
    majorGroupId Integer; Notational field used to categorize Items. If using API version 1.0:
    • Must be an id from the itemMajorGroup/search API endpoint.
    For other versions of the API:
    • Must be an internalId from the itemCategory/search API endpoint.
    subGroupId Integer; Notational field used to further categorize Items. If using API version 1.0:
    • Must be an id from the itemSubGroup/search API endpoint.

    For other versions of the API:

     

    • Must be an internalId from the itemSubCategory/search API endpoint
    hazmat Enumerated String; Indicates if item is considered Hazardous Material;  May impact Shipping options available for the Item. Must be one of: Yes or No.
    criticalAmount Integer; Directs Infoplus to distribute an amount per order when running low on inventory.
    Typically 0 (to disable the feature).
     
    secure Enumerated String; Control if Item must be stored in a secure warehouse Location. Must be one of: Yes or No.
    maxCycle Integer; Controls the maximum quantity of the Item available for an Order with legacyRestrictionType of Cycle.
    Typically 999999 (to effectively disable the feature).
     
    maxInterim Integer; Controls the maximum quantity of the Item available for an Order with legacyRestrictionType of Interim.
    Typically 999999 (to effectively disable the feature). 
     
    seasonalItem Enumerated String; Indicates whether the Item experiences significant differences in usage based upon seasonality or not.
    Impacts average daily usage calculations for the Item.
    Must be one of:  Yes or No 
    serialCode Enumerated String; Control if Serial Numbers must be recorded for the Item when it is Received and/or Shipped.
    Typically:  None.  
    Must be one of: None, Sequential - Outbound Only, Serial - Inbound and Outbound or Serial - Outbound Only 

    Beyond these required fields, there are many more optional fields that can be included when you create (or update) an Item.  You can consult the API Reference site for a listing of all fields.