3.1 Inventory basics
You need to create inbound shipments to send your inventory to Newegg warehouses before create orders. To create an inbound shipment (aka. send inventory shipment) in Newegg system, you need to provide following information at least.
- Destination warehouse – Newegg warehouse # expected to receive the shipment
- Seller Part # – Seller Part # of shipment items
- Quantity – Unit of items to be shipped
You need to label each unit of the shipment items, and pack them into packages with packing list for receiving. When your shipment has been picked up, you need to mark the shipment as shipped in Newegg system, with tracking# and ship service selected.
3.1.1 Shipment ID
Newegg will generate a unique shipment ID to identify your shipment.
3.1.2 Shipment status
Newegg Logistics uses following status to indicate the state of a shipment.
Status | Description |
Preparing |
Inbound shipment created in Newegg system. Seller is preparing their shipment to Newegg warehouse. |
Ready to Ship |
Generated label for packing list for receiving. Usually means that you have packaged the goods and are ready to ship. |
Shipped | Inbound shipment has been marked as Shipped. |
Received | Newegg warehouse has fully received your shipment. |
Partially Received |
Newegg warehouse has partially received your shipment. |
Partially Closed | Partially received shipment has been closed manually. No further packages will be sent upon this shipment. |
Void | Shipment has been cancelled. |
3.1.3 Newegg warehouses
You can send your inventory to following warehouses.
Warehouse # | Warehouse Name | Location |
02 | CA Warehouse 02 | USA |
04 | CA Eastvale Warehouse | USA |
06 | GA Union City Warehouse | USA |
07 | CA Rowland Warehouse | USA |
08 | CA Rowland Bulk Item Warehouse | USA |
09 | IN Warehouse | USA |
10 | NJ Bulk Warehouse | USA |
14 | NJ Small Warehouse | USA |
16 | CA Ontario Warehouse | USA |
36 | YTO 3PL Warehouse | CAN |
3.1.4 Shipment field definitions
Field | Required | Type | Max Length | Accepted Values | Description |
ShipmentReferenceNumber1 | No | String | 50 | Seller assigned reference # 1. |
ShipmentReferenceNumb er2 | No | String | 50 | Seller assigned reference # 2. | |
ShipToWarehouseNumber | Yes | String | 02, 04, 06,07,08, 09,10, 14,16,36 | Destination warehouse #. Refer to 3.1.3 Newegg warehouses. | |
ShipFrom | No | Object | Ship from address information. Seller’s registered business address will be used as default. | ||
Name | Yes | String | 80 | Contact name. | |
PhoneNumber | Yes | String | 30 | ASCII
chars only |
Customer phone #. |
Company | No | String | 100 | Company name. | |
Address1 | Yes | String | 100 | First address line. | |
Address2 | No | String | 100 | Second address line. | |
City |
Yes |
String |
45 |
City full name. E.g.: City of Industry. | |
StateOrProvince | Yes | String | 32 | Refer to US State and Canada Provinc e Codes | Must be valid state or province code for U.S. and Canada. E.g.: CA, NY, HI etc. |
PostalCode | Yes | String | 20 | Postal code must be valid and matches the state selected.
E.g.: 91748, 15206, 32507- 7761, 88029-0658. |
Country | No | String | 2-3 | Must be 2-letter or 3-letter ISO country code. Refer
to https://www.countrycode.o rg/. E.g.: USA, CHN, US, CN etc.
Newegg will convert all two letter country codes to three letter ones automatically. |
|
Memo | No | String | Optional memo for warehouse reference. | ||
ItemList | Yes | Object [] | List of shipment items. | ||
SellerPartNumber | Yes | String | 40 | Unique SKU # assign by seller. | |
Quantity | Yes | Integer | 1 -99999 | Unit count of the shipment item. | |
UOM | No | String | PCS, CTN | Unit of measurement. Must be one of following values:
· PCS – Pieces · CTN – Carton (for carton-packed items only) Default is PCS. |
|
PieceCountPerCarton |
No |
Integer |
1 –
99999 |
Piece count per carton, required when UOM is ‘CTN’ | |
ShipCarrier | No | String | DHL,
FedEx, UPS, USPS, Other |
Ship carrier name used for shipment. Must be one of following values:
· DHL · FedEx · UPS · USPS · Other Default is Other. |
ShipService | No | String | Small Parcel Delivery
, LTL, Full |
Ship service selected. Must be one of following values:
· Small Parcel Delivery – Consist of units packed in individual boxes and individually labeled for delivery · LTL – Less Than Truckload / Less Than Container Load · Full – Full Truckload / Full Container Load
Default is Small Parcel Delivery. |
|
TrackingNumberList | No | String[] | List of tracking# associated with the shipment. | ||
ExtendedProperties | No | Object [] | Customized properties and identification values assigned by seller for reference. | ||
Name | Yes | String | 50 | Property name or identification qualifier. | |
Value | Yes | String | Property valueor identification code. |
3.2 What you can do with Inventory APIs
- GET inventory/{Seller Part # | Newegg Item #}
Get inventory details of an item
- GET inventory
Query a list of item inventory details
- GET inventory/inbound-shipment/{Shipment ID}
Get inbound inventory shipment details - GET inventory/inbound-shipment Query inbound inventory shipment list
- POST inventory/inbound-shipment Create an inbound inventory shipment
- PUT inventory/inbound-shipment Update inbound inventory shipment
- POST inventory/inbound-shipment/mark-as-shipped Mark an inventory shipment as shipped
- POST inventory/inbound-shipment/cancel Cancel an inventory shipment
- POST inventory/inbound-shipment/generate-item-label Generate item labels for an inventory shipment
- POST inventory/inbound-shipment/generate-package-label Generate package labels for inventory shipment
POST inventory/inbound-shipment/generate-packing-list-label Generate packing list label for received.
3.3 Get inventory details
GET inventory/{Seller Part # | Newegg Item #}/{Warehouse #}
Get warehouse inventory details of an item. You must assign a specific warehouse # to get inventory details of this warehouse. Please refer to 3.1.3 Newegg warehouses.
3.3.1 Request example
Get inventory details by Seller Part #.
GET https://apis.newegg.com/tpl/v2/inventory/SY-82401/02
Get inventory details by Newegg Item #.
GET https://apis.newegg.com/tpl/v2/inventory/9SIADFS9YD2804/08
3.3.2 Response example
Return inventory details of specified warehouse.
{ "SellerPartNumber": "SY-82404", "NeweggItemNumber": "9SIADFS9YD2804", "WarehouseName": "Warehouse 02", "WarehouseNumber": "02", "CountryCode": "USA", "Q4S": 1, "Reserved": 0, "InStock": 1, "InTransit": 0, "LastUpdateTime": "2019-02-25T08:40:09.473", "LastUpdateTimeUtc": "2019-02-25T16:40:09.473Z"{ "SellerPartNumber": "SY-82404", "NeweggItemNumber": "9SIADFS9YD2804", "WarehouseName": "Warehouse 02", "WarehouseNumber": "02", "CountryCode": "USA", "Q4S": 1, "Reserved": 0, "InStock": 1, "InTransit": 0, "LastUpdateTime": "2019-02-25T08:40:09.473", "LastUpdateTimeUtc": "2019-02-25T16:40:09.473Z" } }
3.3.3 Field definitions
Following table shows definition for each data field returned in above response.
Field | Type | Example Value | Description |
SellerPartNumber | String | SY-82404 | Seller assigned SKU # to identify an item. |
NeweggItemNumber | String | 9SIADFS9YD2804 | System generated item # to identify an item. |
WarehouseName | String | Warehouse 02 | Warehouse name. |
WarehouseNumber | String | 02 | Newegg warehouse code. |
CountryCode | String | USA | Warehouse location. |
Q4S | Integer | 1 | Quantity available for new order in this warehouse. |
Reserved | Integer | 0 | Reserved quantity for open orders in this warehouse. |
InStock | Integer | 1 | Actual stock quantity in all warehouses.
InStock = Q4S + Reserved |
InTransit | Integer | 20 | Piece of product in transit to this warehouse. |
LastUpdateTime | Integer | 2019-09-02T18:19:04.343 | Last inventory update time in PST/PDT. |
LastUpdateTimeUtc | Integer | 2019-09-03T01:19:04.343Z | Last inventory update time in UTC. |
3.3.4 Response codes
Code | Status Code | Description |
InventoryNotFound | 404 | Inventory not found. |
3.4 Query inventory details
GET inventory
Query warehouse inventory details by given search criteria.
3.4.1 Query parameters
Parameter | Required | Type | Accepted Values | Description |
InventoryFrom | No | Integer | Filter items by inventory (of specified warehouse #). | |
InventoryTo | No | Integer | Filter items by inventory (of specified warehouse #). | |
LastUpdateTime | No | DateTime | Filter items by last update time (of specified warehouse #). Only search items who’s last inventory update time is later than the given value. | |
CustomSeparator | No | String | Any character excludes letters and numbers | If your keywords contain “,” or “|”, you can this parameter to assign a customized separator (single character) for multiple values. |
PageSize | No | Integer | 1 – 100 | Limit number of items to be returned for each page.
Default is 10. |
WarehouseNumber | No | String | 02, 04, 06, 07, 08, 09, 10, 14, 16, 35, 36 | Search and returned inventory of specified warehouse only.
Refer to 3.1.3 Newegg warehouses. |
SearchBy | No | String | NeweggItemNumber, SellerPartNumber |
Specify the field to be filtered by keyword. Must be one of following values:
Default is NeweggItemNumber. |
Keyword | No | String | Specify the keyword to match against the field to be filtered.
You can use pipe ‘|’ or comma ‘,’ to separate multiple values. Use pipe ‘|’ if your Seller Part # contains comma ‘,’. |
|
PageIndex | No | Integer | >= 0 | Specify the page to be retrieved by index.
Default is 0. |
3.4.2 Request example
Query warehouse inventory details by multiple Newegg Item #
GET https://apis.newegg.com/tpl/v2/inventory?Keyword=9SIADFS9YD2804,9SIADFS9X W8946,9SIADFS9XW8522
Query warehouse inventory details by multiple Seller Part #.
GET https://apis.newegg.com/tpl/v2/inventory?SearchBy=SellerPartNumber&Keywor d=SY-82401|SY-82402|SY-82404
Query warehouse inventory details of warehouse 02, and last updated from 2019-08-01 (PST/PDT), return first 50 matched items.
GET https://apis.newegg.com/tpl/v2/inventory?WarehouseNumber=02&LastUpdateTim e=2019-08-01T00:00:00&PageSize=50
3.4.3 Response example
{ "Count": 10, "TotalCount": 13, "PageSize": 10, "TotalPageCount": 2, "NextPageIndex": 1, "Results": [ { "SellerPartNumber": "SY-82404", "NeweggItemNumber": "9SIADFS9YD2804", "WarehouseName": "Warehouse 02", "WarehouseNumber": "02", "CountryCode": "USA", "Q4S": 1, "Reserved": 0, "InStock": 1, "InTransit": 0, "LastUpdateTime": "2019-02-25T08:40:09.473", "LastUpdateTimeUtc": "2019-02-25T16:40:09.473Z" }, { "SellerPartNumber": "SY-82404", "NeweggItemNumber": "9SIADFS9YD2804", "WarehouseName": "CA Rowland Warehouse", "WarehouseNumber": "07", "CountryCode": "USA", "Q4S": 0, "Reserved": 0, "InStock": 0, "InTransit": 0, "LastUpdateTime": "2019-01-11T06:31:19.970", "LastUpdateTimeUtc": "2019-01-11T14:31:19.970Z" }, { "SellerPartNumber": "SY-82404", "NeweggItemNumber": "9SIADFS9YD2804", "WarehouseName": "NJ Bulk Warehouse", "WarehouseNumber": "10", "CountryCode": "USA", "Q4S": 0, "Reserved": 0, "InStock": 0, "InTransit": 20, "LastUpdateTime": "2019-09-02T18:19:04.343", "LastUpdateTimeUtc": "2019-09-03T01:19:04.343Z" } // more ... ] }
3.4.4 Field definitions
Following table shows definition for each data fields returned in the response.
Field | Type | Example Value | Description |
Count | Integer | 10 | Number of items returned. |
TotalCount | Integer | 13 | Total number of items matches the query criteria. |
PageSize | Integer | 10 | Page size used by this query. |
TotalPageCount | Integer | 2 | Total number of available pages calculated by TotalCount and PageSize. |
NextPageIndex | Integer | 2 | Page index of next result. Will be null if this is the last page. |
Results | Object[] | List of warehouse inventory details returned in this page. |
For other fields, refer to 3.3.3 Field definitions in “Get inventory details” section.
3.5 Get inventory shipment details
GET inventory/inbound-shipment/{Shipment ID}
Get inbound inventory shipment details by shipment ID. HTTP status code 404 will be returned if shipment not found.
3.5.1 Request example
GET https://apis.newegg.com/tpl/v2/inventory/inbound-shipment/10004532
3.5.2 Response example
{ "ShipmentID": 10003757, "ShipmentReferenceNumber1": "REF-123456780", "ShipmentReferenceNumber2": null, "ShipToWarehouseNumber": "02", "ShipToWarehouseName": "NJ Small Warehouse", "ShipToWarehouseCountryCode": "USA", "ShipFrom": { "Name": "Newegg Logistics", "Company": "Newegg Inc.", "Address1": "17708 Rowland St.", "Address2": "Dock #4", "City": "City of Industry", "StateOrProvince": "CA", "PostalCode": "91748", "Country": "USA" }, "Status": "Partially Received", "ItemList": [ { "NeweggItemNumber": "9SIADFS9XW8522", "SellerPartNumber": "SY-82401", "Manufacturer": "Newegg Logistics", "ManufacturerPartNumber": "SY-82401", "UPC": "463565040544", "NPC": "00000150836191", "Title": "TEST - ITEM #1", "Quantity": 100, "ReceivedQuantity": 30, "UOM": "PCS", "PieceCountPerCarton": null }, { "NeweggItemNumber": "9SIADFS9XW8946", "SellerPartNumber": "SY-82404", "Manufacturer": "Newegg Logistics", "ManufacturerPartNumber": "SY-82403", "UPC": "463565040544", "NPC": "00000150836191", "Title": "TEST - ITEM #2", "Quantity": 25, "ReceivedQuantity": 25, "UOM": "PCS", "PieceCountPerCarton": null }, { "NeweggItemNumber": "9SIADFS9YD2804", "SellerPartNumber": "SY-82404", "Manufacturer": "Newegg Logistics", "ManufacturerPartNumber": "SY-82404", "UPC": "463565040544", "NPC": "00000150836191", "Title": "TEST - ITEM #3", "Quantity": 40, "ReceivedQuantity": 0, "UOM": "PCS", "PieceCountPerCarton": null } ], "ShipCarrier": "UPS", "ShipService": "Small Parcel Delivery", "TrackingNumberList": [ "1Z81W1R72410861670", "1Z81W1R72410861661" ], "ShipDate": "2019-08-28T07:42:37.884", "Memo": "This is a shipment for testing.", "CreateTime": "2019-08-26T23:34:34.943", "CreateTimeUtc": "2019-08-27T06:34:34.943Z", "LastUpdateTime": "2019-08-28T09:08:36.8898299-07:00", "LastUpdateTimeUtc": "2019-08-28T16:08:36.8898299Z" }
Following table shows definition for each data fields returned in the response.3.5.3 Field definitions
Field | Type | Example Value | Description |
ShipmentID | Integer | 10003757 | Number of items returned. |
ShipToWarehouseName |
String |
CA Warehouse 02 |
Total number of items matches the query criteria. |
ShipToWarehouseCountryCode | String | USA | Page size used by this query. |
ShipFrom | Object | Ship from address information. | |
Status |
String |
Partially Received |
Should be one of following values:
· Preparing · Ready to Ship · Shipped · Received · Partially Received · Partially Closed · Void
Refer to 3.1.2 Shipment status. |
ItemList | Object[] | List of shipment items. | |
NeweggItemNumber |
String |
9SIADFS9XW8522 |
Newegg Item # generated by Newegg system. |
SellerPartNumber |
String |
SY-82401 |
SKU # assigned by seller to identify an item. |
Manufacturer | String | Newegg Logistics | Manufacturer. |
ManufacturerPartNumber |
String |
SY-82401 |
Model # assigned by manufacturer. |
UPC |
String |
463565040544 |
UPC (Universal Product Code) or EAN (European Article Number) of the product. |
NPC |
String |
00000150836191 |
Newegg Product Code generated by Newegg system. |
3.5.4 Response codes
Code | Status Code | Description |
ShipmentNotFound | 404 | Shipment not found. |
3.6 Query inventory shipment list
GET inventory/inbound-shipment
Query inbound inventory shipment list by given search criteria.
3.6.1 Query parameters
Parameter | Required | Type | Accepted Values | Description |
SearchBy | No | String | ShipmentID, ShipmentReferenceNumber, NeweggItemNumber, SellerPartNumber, TrackingNumber |
Specify the field to be filtered by keyword. Must be one of following values:
Default is ShipmentID. |
Keyword | No | String | Specify the keyword to match against the field to be filtered.
You can use comma ‘,’ to separate multiple values if search by shipment ID. |
|
CustomSeparator | No | String | Any character excludes letters and numbers | If your keywords contain “,” or “|”, you can this parameter to assign a customized separator (single character) for multiple values. |
WarehouseNumber | No | String | 02, 04, 06, 07, 08, 09, 10, 14, 16, 35, 36 | Destination warehouse.
Refer to Newegg warehouses. |
Status | No | String | Preparing, Ready to Ship, Shipped, Received, Partially Received, Partially Closed, Void |
Must be one of following values:
|
CreateTimeFrom | No | DateTime | Filter shipments by create time. | |
CreateTimeTo | No | DateTime | Filter shipments by create time. | |
PageSize | No | Integer | 1 – 100 | Limit number of items to be returned for each page.
Default is 10. |
PageIndex | No | Integer | >= 0 | Specify the page to be retrieved by index.
Default is 0. |
3.6.2 Request example
Query inbound inventory shipment list by multiple shipment IDs.
GET https://apis.newegg.com/tpl/v2/inventory/inbound- shipment?Keyword=10003899,100039000
Query inbound inventory shipment list by tracking#.
GET https://apis.newegg.com/tpl/v2/inventory/inbound- shipment?SearchBy=TrackingNumber&Keyword=1Z81W1R72410861670
Query received inventory shipment list, return first 50 matched shipments.
GET https://apis.newegg.com/tpl/v2/inventory/inbound- shipment?Status=Received&PageSize=50