Newegg Logistics Services (NLS): Seller API Integration SOP
Version: 1.0.0
Updated Year: 2021

Table of Contents
· 01_Getstarted
o 1.1RequestaccesstosellerintegrationAPIs
o 1.2 Making your firstrequest
o 1.3 Handling responseerrors
o 1.4 Date and timezone
o 1.5 Testing with sandboxseller
· 02_Manageitems
o 2.1 Itembasics
o 2.2 What you can do with ItemAPIs
o 2.3 Get itemdetails
o 2.4 Query itemlist
o 2.5 Createitem
o 2.6 Updateitem
o 2.7 Deleteitem
o 2.8 Enableitem
o 2.9 Disableitem
o 2.10 Generate itemlabels
· 03_Sendinventory
o 3.1 Inventorybasics
o 3.2 What you can do with InventoryAPIs
o 3.3 Get inventorydetails
o 3.4 Query inventorydetails
o 3.5 Get inventory shipmentdetails
o 3.6 Query inventory shipmentlist
o 3.7 Create inventoryshipment
o 3.8 Update inventoryshipment
o 3.9 Mark inventory shipment asshipped
o 3.10 Cancel inventoryshipment
o 3.11 Generate itemlabels
o 3.12 Generate packagelabels
o 3.13 Generate packing listlabel
· 04_Manageorders
o 4.1 Orderbasics
o 4.2 What you can do with OrderAPIs
o 4.3 Get orderdetails
o 4.4 Query orderlist
o 4.5 Createorder
o 4.6 Cancelorder
· 05_Manage Returns(TBD)
· 06_Request for Reports(TBD)
· 07_Subscribe Notifications(TBD)
· 08_Working with datafeeds
o 8.1 Data feedbasics
o 8.2 What you can do with Data FeedAPIs
o 8.3Submitdatafeedforbatchitemcreation
o 8.4Submitdatafeedforbatchordercreation
o 8.5 Get data feedstatus

Section 1: Get started

· 1.1 Request access to seller integrationAPIs
o 1.1.1 SSLrequirements
o 1.1.2 Get your Client ID and ClientSecret
o 1.1.3 Generate accesstoken
· 1.2 Making your firstrequest
o 1.2.1 Requestheaders
o 1.2.2 BaseURL
o 1.2.3 Example APIcall
· 1.3 Handling responseerrors
o 1.3.1 Data field definition of errorresponse
o 1.3.2 Used HTTP statuscodes
o 1.3.3 Common used errorcodes
· 1.4 Date and timezone
· 1.5 Testing with sandboxseller

1.1 Request access to seller integration APIs
Before use our seller integration API. You need to register as a Newegg Logistics seller at first. Please contact with Newegg Logistics team, they will guide you through the registration process.

1.1.1 SSL requirements

Newegg Logistics seller integration APIs require SSL version 3.0 and higher. All calls to our seller integration APIs must be started with “https://“.

1.1.2 Get your Client ID and Client Secret

Newegg Logistics seller integration APIs use OAuth for token-based authentication and authorization. Please follow below steps to get your Client ID and Client Secret for OAuth access token generation.

  1. Log into Newegg Logistics portal (https://www.newegglogistics.com/login), find your Seller ID from Business Information _tab under _Manage Account > Account Setting.
    2. Send your Seller ID to Newegg Logistics support team (3PLDatafeeds@newegg.com), request them for Client ID and Client Secret.
    3. Newegg Logistics support team will take a little time to setup access permission of seller integration APIs for you, and send you the Client ID and Client Secret when done.

1.1.3 Generate access token

Use your Client ID and Client Sercet to generate access token by sending following request to the authorization API.

POST https://apis.newegg.com/tpl/v2/authorization/generate-access-token Accept: application/json
Content-Type: application/json

If your Client ID and Client Sercet is valid, your will see following response with Access Token returned:

We will use generated access token to make API calls to Newegg Logistics seller integration APIs.

1.2 Making your first request
1.2.1 Request headers

You must include following headers to your API calls to our seller integration APIs.

Name Accepted Values Description
Content- Type

application/json, application/xml
Request data format. JSON and XML format are supported.


Accept


application/json, application/xml
Response data format. JSON and XML format are supported.


Authorization
Bearer { Your access token here without the brace } Pass your access token prefixed with ‘Bearer ‘ in the Authorization header.

1.2.2 Base URL

All seller integration APIs are hosted under URL https://apis.newegg.com/tpl/v2/.

1.2.3 Example API call

Following is an example API call to create a new item.

POST https://apis.newegg.com/tpl/v2/item Accept: application/json
Content-Type: application/json
Authorization: Bearer L3FcMWq86USjcvk6OStIz3lKYQcxDxhr46RDhYfa

Example response (HTTP status code - 200):

Example response of a bad request (HTTP status code - 400):

Example response of a failure API call (HTTP status code - 500):

1.3 Handling response errors
If your API call failed, HTTP status code 4XX or 5XX will be returned. You can use HTTP status code to check if your request was processed normally.

· If system encountered business errors during request processing, HTTP status code 500 will be returned.
You may need to extract error details from response content to figure out what’s wrong with it.

For POST/PUT/DELETE requests, if returned HTTP status is 200, response content will include the fields “Succeeded” and “Message”. You can check the value of field “Succeeded” to see if the request was processed normally. Refer to example below:

1.3.1 Data field definition of error response

Field Type Example Value Description


Succeeded


Boolean


false
If HTTP status code is 200, this field will be returned to indicate if your request was processed normally.
Code String RequestCancelled Code to indicate request process result.



Message



String
Your order has been cancelled already, cancel order request ignored.


Description of your request process result.
ValidationErrors Object[]
List of data validation errors.
PropertyName String Seller Part Number Field name.


ErrorMessage


String
‘Seller Part Number’ should not be empty.

Error information associated with the field.


StatusCode


String


InternalServerError
Description of returned HTTP status code (for 4XX, 5XX) if request was failed.

1.3.2 Used HTTP status codes

Following table lists HTTP status codes used by our seller integration APIs. Refer to HTTP/1.1: Status Code Definitions.

HTTP status code Description
200 - OK Request was successful.
400 - Bad Request Malformed request content, or request validation failed.
401
- Unauthorized


Missing Authorization header in request, or Invalid access token.
403 - Forbidden Access to the function is restricted.
404 - Not Found The resource you’re looking for does not exist.
405 - Method Not Allowed

HTTP method is supported by the requested resource.
408 - Request Timeout

Request timeout. You need to try again later.
409 - Conflict Resource already exists, or there is a conflict with its current state.


422 - Unprocessed Entity
System is unable to process your request. Please check the response message for details.

Not defined in RFC 2616, reserved for future use.
500 - Internal Server Error System encountered some unexpected errors during request processing. Please try again later.
503 - Service Unavailable

Cannot reach the Newegg API gateway. You need to try again later.


504 - Gateway Timeout
System is busy, Newegg API gateway was unable to send you the response in time. You may need to try again later, or report the issue to Newegg Logisitcs support team if the problem still exists.

1.3.3 Common used error codes



Code
Status Code

Description


UnexpectedError


500
We are experiencing technical difficult to process your request at this time. We apologize for the inconvenience and please try again later.
ValidationErrors 400 Request validation failed.
AuthorizationRequired 401 Authorization failed. Please check your access token.


SellerAccountSuspended


403
Sorry, your account is temporarily suspended because you didn’t pay an invoice in time as agreed.


SellerAccountDisabled


403
Sorry, your cannot perform this operation, because your account was disabled.
SellerAccountClosed 403 Sorry, your seller account was closed.
SellerAccountTerminated 403 Sorry, your seller account was terminated.
SellerAccountNotActivated 403 Sorry, your seller account is not activated yet.

1.4 Date and time zone
Newegg Logistics seller integration APIs accept ISO 8601 for date time values. Default time zone is PST/PDT if not specified. Following table shows valid date time values for your reference.

Date time value Time zone
2019-08-30 15:00:00


PST/PDT
2019-08-30 15:00:00.149
2019-08-30 15:00:00.1493902
2019-08-30 15:00:00.1493902-07:00
2019-08-30T15:00:00


PST/PDT
2019-08-30T15:00:00.149
2019-08-30T15:00:00.1493902
2019-08-30T15:00:00.1493902-07:00
2019-08-30T22:00:00Z

UTC
2019-08-30T22:00:00.149Z
2019-08-30T22:00:00.1493902Z
2019-08-30T22:00:00+08:00

+08:00 (Beijing)
2019-08-30T22:00:00.149+08:00
2019-08-30T22:00:00.1493902+08:00

Date time value in response will be serialized as yyyy-MM-dd’T’HH:mm:ss.fff _and _yyyy-MM- dd’T’HH:mm:ss.fff’Z’ (for UTC) format by default. For example:

· 2029-07-20T11:29:48.263
· 2029-07-20T03:29:48.263Z

1.5 Testing with sandbox seller
Newegg Logistics created a public sandbox seller for testing purpose. You can use this sandbox seller to testing your integration with Newegg Logistics.

Sandbox User ID nls_testing@hotmail.com
Sandbox User Password 4NLSTesting
Client ID 102690
Client Secret 4876072742a186836f0fcffd5cbc620b
Access Token m2f00zGdEKlR6wXV64b4QtwJOEc5JJge1cn7xX8C

Your use above sandbox user ID and password to log into Newegg Logistics portal (https://www.newegglogistics.com/login), to check your testing data submitted by your application.

Section 2: Manage items
· 2.1 Itembasics
o 2.1.1 Newegg Item#
o 2.1.2 Itemstatus
o 2.1.3 Item fielddefinitions
· 2.2 What you can do with ItemAPIs
· 2.3 Get itemdetails
o 2.3.1 Queryparameters
o 2.3.2 Requestexample
o 2.3.3 Responseexample
o 2.3.4 Fielddefinitions
o 2.3.5 Responsecodes
· 2.4 Query itemlist
o 2.4.1 Queryparameters
o 2.4.2 Requestexample
o 2.4.3 Responseexample
o 2.4.4 Fielddefinitions
· 2.5 Createitem
o 2.5.1 Requestexample
o 2.5.2 Responseexample

o 2.5.3 Fielddefinitions
o 2.5.4 Responsecodes
· 2.6 Updateitem
o 2.6.1 Requestexample
o 2.6.2 Responseexample
o 2.6.3 Fielddefinitions
o 2.6.4 Responsecodes
· 2.7 Deleteitem
o 2.7.1 Requestexample
o 2.7.2 Responseexample
o 2.7.3 Responsecodes
· 2.8 Enableitem
o 2.8.1 Requestexample
o 2.8.2 Responseexample
o 2.8.3 Fielddefinitions
o 2.8.4 Responsecodes
· 2.9 Disableitem
o 2.9.1 Requestexample
o 2.9.2 Responseexample
o 2.9.3 Fielddefinitions
o 2.9.4 Responsecodes
· 2.10 Generate itemlabels
o 2.10.1 Requestexample
o 2.10.2 Responseexample
o 2.10.3 Fielddefinitions
o 2.10.4 Responsecodes

2.1 Item basics
Before you send your inventory to Newegg warehouse. You need to create corresponding items in Newegg system. In order to stock your item inventory to Newegg warehouse, you need to provide following information at least.

· Seller Part # - The SKU # used to identify an unique item of yours
· Title - Short description of your item
· Dimension - Item length, width, height (Inch)
· Weight - Item gross weight (LB)
· MSRP - Manufacturer suggested retail price (USD, used for customs clearance)
· Origin countries - Country codes of item origin (used for customs clearance)
· Shipping restriction - Indicate if this product contains hazardous materials, like batteries restricted for shipping

2.1.1 Newegg Item #

Newegg will generate a unique item # (Newegg Item #, e.g.: 9SIADFS9YD2804) once the item was created in Newegg system. The Newegg Item # cannot be changed once generated. Newegg Item # will be used to identity the item and track its inventory in Newegg system.

2.1.2 Item status

Item may have different status. You can send inventory or create orders with the item only when it is Active, also you cannot update an item when it is not Active.

Status Description


Creating
Newegg system is creating this item. You need to wait for item status became to Active before use it.


Active
Item has been created in Newegg system successfully, and Newegg Item # have generated for it.
Updating Newegg system is updating this item.
Disabled The item has been disabled for order creation.
Deleting System is currently processing your delete request for this item.

2.1.3 Item field definitions

Below table shows item data fields filled by seller.



Field


Required


Type
Max Length Accepted Values

Description



SellerPartNumber



Yes



String



40

Unique SKU # assign by seller. Must be consisted with ANSI characters only.

You cannot create another item with duplicate Seller Part #.




Condition




No




String




New, Refurbish ed
Available values are:

· New - Brand new item.
· Refurbished - Manufacturer refurbished or recertified.

Default is New.
Title Yes String 200
Short description of this product.


Manufacturer


No


String


50

Manufacturer name of this product. Default is Newegg Logistics.



ManufacturerPartNumber



No



String



50

Model # assigned
by manufacturer. Seller Part # will be used as Manufacturer Part # if leave this field as blank.









UPC









No









String









40

UPC (Universal Product Code) or EAN (European Article Number) of the product. System will auto generate UPC for an item if left empty.

· UPC: 8, 12, 13 or 14 digits
· EAN: 13 digits only

UPC must be unique for all seller items with the same “Condition” or “Packs Or Sets” (except those Disabled items). Which means you can use the same UPC if item “Condition” or “Packs Or Sets” is different.


PacksOrSets


No


Integer



1 - 99999
Identify number of units bundled with in this product. Default value is 1.


Length


Yes


Decimal

0.01 - 485.99

Product length (inch).


Width


Yes


Decimal

0.01 - 485.99

Product width (inch).


Height


Yes


Decimal

0.01 - 485.99

Product height (inch).


Weight


Yes


Decimal

0.01 - 99999.99

Gross weight (LB).




CartonLength




No




Decimal





0.01 - 99999.99
Master carton length (inch).

If your product is carton-packed, you need to specify carton dimension and weight before you send inventory to Newegg warehouses.


CartonWidth


No


Decimal

0.01 - 99999.99

Master carton width (inch).


CartonHeight


No


Decimal

0.01 - 99999.99

Master carton height (inch).


CartonWeight


No


Decimal

0.01 - 99999.99 Package weight of master carton (LB).




InventoryManagementType




No




String




FIFO, FEFO, LIFO
Available values are:

· FIFO - First in first out
· FEFO - First expired first out
· LIFO - Last in first out

Default is FIFO.


ShippingRestriction


No


Boolean


Indicate if this product contains hazardous materials restricted for shipping.




ContainingBatteries




No




Boolean


You must set this field as true if this product contains batteries.

You need to provide Battery Watt Hours or Battery Weight when this product contains batteries.


BatteryWattHours


No


Integer



1 - 99999
Total battery watt hours for lithium ion/polymer battery.


BatteryWeight


No


Decimal

0.01 - 99999.99 Weight (gram) of lithium metal battery.


MSRP


Yes


Decimal



0.01 - 99999.99
Manufacturer suggested retail price. Used for customs clearance for international shipping.






OriginCountries






Yes






String[]






2-3

Origin countries must be two letter or three-letter ISO country codes. E.g.: USA, CHN, US, CN.

Refer
to https://www.countrycode.org/.

Newegg will convert all two letter country codes to three letter ones automatically.








Images








No








String[]








255

Product image URL, must be started with “http://“ or “https://“.

You can upload 7 pictures for an item at maximum. The image must be JPG/JPEG/PNG format, and cannot be greater than 5MB.

Newegg will try to download each image your provided, and generate new image URL for each of them. You will be able to see these images when Newegg finished uploading these images to Newegg image server.


AdditionalInformation


No


Object


Additional information about the item.


SerialNumberScanRequir ed


No


Boolean


Mark this SKU as required to be received and shipped by Serial Numbers.



InventoryAlertQuantity



No



Integer


0-
99999

Set inventory alert quantity. When item inventory reached or is lower than the alert quantity, a mail notification will be sent to seller.


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


200

Property value or identification code.

2.1 What you can do with Item APIs
The Seller Integration API lets you do the following with the Item APIs.

· GET item/{Seller Part # | Newegg Item #}
Get item details by Seller Part # or Newegg Item #
· GET item
Query item list with given search criteria
· POST item Create an item
· PUT item Update item
· DELETE item/_{Seller Part # | Newegg Item #} _Delete item by Seller Part # or Newegg Item #
· POST item/disable
Disable an item for order creation
· POST item/enable
Restore an item for order creation
· POST item/generate-label
Generate PDF item labels and return DFIS download link.

2.2 Get item details
GET item/{Seller Part # | Newegg Item #}

Get item details by Seller Part # or Newegg Item #. HTTP status code 404 will be returned if item not found.

2.2.1 Query parameters

Parameter Required Type Description



WithInventoryDetails



No



Boolean
Default is false.

If you want to get inventory details for this item, set this parameter value to true.

2.2.2 Request example

Get item details by Newegg Item #.
GET https://apis.newegg.com/tpl/v2/item/9SIADFS9D95206?WithInven toryDetails=true

Get item details by Seller Part #.
GET https://apis.newegg.com/tpl/v2/item/T19031901701?WithInvento ryDetails=true

2.2.3 Response example

],
“Status”: “Active”, “Inventory”: {
“Q4S”: 0,
“InStock”: 0,
“InTransit”: 0,
“Reserved”: 0, “Warehouses”: [
{
“WarehouseNumber”: “02”, “WarehouseName”: “CA Warehouse 02”, “CountryCode”: “USA”,
“Q4S”: 0,
“InStock”: 0,
“InTransit”: 0,
“Reserved”: 0
},
{
“WarehouseNumber”: “07”, “WarehouseName”: “CA Rowland Warehouse”, “CountryCode”: “USA”,
“Q4S”: 0,
“InStock”: 0,
“InTransit”: 0,
“Reserved”: 0
},
{
“WarehouseNumber”: “08”,
“WarehouseName”: “CA Rowland Bulk Item Warehouse”, “CountryCode”: “USA”,
“Q4S”: 0,
“InStock”: 0,
“InTransit”: 0,
“Reserved”: 0
},
{
“WarehouseNumber”: “10”, “WarehouseName”: “NJ Bulk Warehouse”, “CountryCode”: “USA”,
“Q4S”: 0,
“InStock”: 0,
“InTransit”: 0,
“Reserved”: 0
},
{
“WarehouseNumber”: “14”, “WarehouseName”: “NJ Small Warehouse”, “CountryCode”: “USA”,
“Q4S”: 0,
“InStock”: 0,
“InTransit”: 0,
“Reserved”: 0
},

2.2.4 Field definitions

Following table shows extra data fields returned in the response.

Field Type Example Value Description


NeweggItemNumber


String


9SIADFS9D95206
System generated Newegg Item
#.



NPC



String



00000138957422
System generated Newegg Product Code. Used to generate bar code for receive inventory shipment.


ConfirmedLength


Decimal


18
Newegg measured product length (inch).


ConfirmedWidth


Decimal


15
Newegg measured product width (inch).


ConfirmedHeight


Decimal


13
Newegg measured product height (inch).


ConfirmedWeight


Decimal


362
Newegg measured gross weight (LB).


ConfirmedCartonLength


Decimal

Newegg measured carton length (inch). Available for carton packaged item only.


ConfirmedCartonWidth


Decimal

Newegg measured carton width (inch). Available for carton packaged item only.


ConfirmedCartonHeight


Decimal

Newegg measured carton height (inch). Available for carton packaged item only.


ConfirmedCartonWeight


Decimal

Newegg measured carton weight (LB). Available for carton packaged item only.


CartonCountPerPallet


Integer

Carton count per pallet. Available for carton packaged item only.


PieceCountPerCarton


Integer

Piece count per carton. Available for carton packaged item only.


DimensionUnit


String


Imperial
We currently only support imperial unit system.


Status


String


Active
Item status. Refer to 2.1.2 Item status section.
Inventory Object
Inventory detail information.


Q4S


Integer


0
Total quantity available for new order creation.



InStock



Integer



0
Actual stock quantity in warehouse.

InStock = Q4S + Reserved


Reserved


Integer


0
Reserved quantity in open orders.


InTransit


Integer


0
Piece of product in transit to Newegg warehouses.


Warehouses


Object[]

Warehouse level inventory details.
WarehouseNumber String 07 Newegg warehouse code.


WarehouseName


String
CA Rowland Warehouse

Newegg warehouse name.
CountryCode String USA Warehouse location.
Q4S Integer 0
InStock Integer 0
Reserved Integer 0
InTransit Integer 0


CreateTime


DateTime
2019-06-
07T13:45:21.133
Create time of the item in PST/PDT timezone.


CreateTimeUtc


DateTime
2019-06-
07T20:45:21.133Z
Create time of the item in UTC timezone.


LastUpdateTime


DateTime
2019-06-
08T09:16:45.650
Last update time of the item in PST/PDT timezone.


LastUpdateTimeUtc


DateTime
2019-06-
08T16:16:45.650Z
Last update time of the item in UTC timezone.

For other fields, please refer to 2.1.3 Item field definitions.

2.2.5 Response codes

Code Status Code Description
ItemNotFound 404 Item not found.

2.3 Query item list
GET item

Query a list of items by given search criteria. Query result is sorted by create time in descending order.

2.3.1 Query parameters

Parameter Required Type Accepted Values Description






SearchBy






No






String




NeweggItemNumber, SellerPartNumber, ManufacturerPartNumber, UPC,
Title
Specify the field to be filtered by keyword. Must be one of following values:

· NeweggItemNumber
· SellerPartNumber
· ManufacturerPartNumber
· UPC
· Title

Default is NeweggItemNumber.










Keyword










No










String

Specify the keyword to match against the field to be filtered.

· Fuzzy match will be used for field
SellerPartNumber, Manufac turerPartNumber _and _Title.
· You can use pipe ‘|’ or comma ‘,’ to separate multiple values if search by Newegg Item #, Seller Part
#, Manufacturer Part # or UPC (matches exactly for multiple values).
Use pipe ‘|’ if specified keywords contains comma ‘,’.



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.





Status





No





String



Active, Disabled, Creating, Updating, Deleting
Filter items by status. Must be one of following values:

· Active
· Disabled
· Creating
· Updating
· Deleting
CreateTimeFrom No DateTime
Filter items by create time.
CreateTimeTo No DateTime
Filter items by create time.


InventoryFrom


No


Integer


>= 0
Filter items by available quantity (by Q4S field).


InventoryTo


No


Integer


>= 0
Filter items by available quantity (by Q4S field).



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.



WithInventoryDetails



No



Boolean

Default is false.

If you want to get inventory details for this item, set this parameter value to true.

2.3.2 Request example

Query item list by multiple Newegg Item #.
GET https://apis.newegg.com/tpl/v2/item_?Keyword=9SIADFS9YD2804,9SIADFS9XW8946_
,9SIADFS9XW8522

Query item list by multiple Seller Part #.
GET https://apis.newegg.com/tpl/v2/item_?SearchBy=SellerPartNumber&Keyword=SY- 82401|SY-82403|SY-82404_

Query item list where Seller Part # contains ‘black’
GET https://apis.newegg.com/tpl/v2/item_?SearchBy=SellerPartNumber&Keyword=bla ck_

Query items created from 2019-08-01 (PST/PDT), and status is Active, return first 50 matched items.
GET https://apis.newegg.com/tpl/v2/item_?Status=Active&CreateTimeFrom=2019-08- 01T00:00:00&PageSize=50_

Query active items where available inventory is zero.
GET https://apis.newegg.com/tpl/v2/item_?Status=Active&InventoryTo=0_

2.3.3 Response example

2.3.4 Field definitions

Following table shows extra 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 items returned in this page.

For other fields, refer to 2.1.3 Item field definitions and 2.3.4 Field definitions in “Get item details” section.

2.4 Create item
POST item

Create an item. Item status will be Creating after you submitted your item creation request. Item status will be changed to Active when Newegg system completed the item creation.

2.4.1 Request example

POST https://apis.newegg.com/tpl/v2/item

2.4.2 Response example

Item creation request submitted. HTTP status code is 200.

Create item failed. HTTP status code is 500.

2.4.3 Field definitions

Please refer to 2.1.3 Item field definitions.

2.4.4 Response codes



Code
Status Code

Description



RequestSubmitted



200
Your item creation request has been submitted. The system may take about 1 minute to process your request. Item status will be changed to Active when the process is completed.
ItemAlreadyExists 409 An item with the same Seller Part# already exists.
DuplicateUPC 409 An item with the same UPC already exists.
SellerPartNumberAlreadyUsed 409 Seller Part # already used as BOM item ID.

2.5 Update item
PUT item

You can update item only when item is Active. Item status will be Updating after your submitted your update request. Item status will be restored to Active when Newegg system finished updating your item.

You cannot update following fields with this API, because these fields are read-only after item was created:

· Seller Part #
· Condition
· Packs Or Sets

2.5.1 Request example

Only given fields will be updated. You must specify Newegg Item # or Seller Part # to identify the item need to be updated in your request.

PUT https://apis.newegg.com/tpl/v2/item

2.5.2 Response example

2.5.3 Field definitions

You must provide either Newegg Item # or Seller Part # in your request to identify the item need to be updated.

Field Required Type Max Length Description
NeweggItemNumber Conditional String 25 System generated Newegg Item #.
SellerPartNumber Conditional String 40 Seller assigned Seller Part #.

For other fields, please refer to 2.1.3 Item field definitions.

2.5.4 Response codes



Code
Status Code

Description



RequestSubmitted



200
Your item update request has been submitted. The system may take a few seconds to process your request. Item status will be restored to Active when the process is completed.
ItemNotFound 404 The item does not exist in Newegg system.


ItemNotActive


409
Unable to update item when status is not Active. Please try again later.
DuplicateUPC 409 An item with the same UPC already exists.
SellerPartNumberAlreadyUsed 409 Seller Part # already used as BOM item ID.

2.6 Delete item
DELETE item/{Seller Part # | Newegg Item #}

You can delete an item only when item status is Active or Disabled. You cannot delete an item with following situation:

· Item has pending inventory shipments (in transit)
· Item was used in any order
· Item was used in any return
· Newegg warehouses still have its inventory

Item status will be Deleted after your submitted your delete request. Item will be removed after Newegg system delete your item completely. Deleted item cannot be recovered, so be careful when call this API.

2.6.1 Request example

Delete item by Newegg Item #.
DELETE https://apis.newegg.com/tpl/v2/item/_9SIADFS9XW8522_

Delete item by Seller Part #.
DELETE https://apis.newegg.com/tpl/v2/item/_test-sku%23123456_

2.6.2 Response example

2.6.3 Response codes



Code
Status Code

Description



RequestSubmitted



200
Your item delete request has been submitted. The system may take a few minutes to process your request. Item will be removed from Newegg system when the process is completed.
ItemNotFound 404 The item does not exist in Newegg system.
InvalidItemStatus 409 Only items in Active or Disabled status can be deleted.


PendingShimentsFound


409
Found pending inventory shipments with this item, unable to delete it.
OrderItemFound 409 Found orders with this item, unable to delete it.
ItemInStock 409 Item still has inventory in stock, unable to delete it.

2.7 Enable item
POST item/enable

Restore a Disabled item to Active, so that it can be used to create orders again. You cannot enable an item if the UPC of the item already used by other active items.

2.7.1 Request example

POST https://apis.newegg.com/tpl/v2/item/enable

2.7.2 Response example

2.7.3 Field definitions

You must specify Newegg Item # or Seller Part # to identify the item need to be enabled.



Field


Required


Type
Max Length

Description


NeweggItemNumber


Conditional


Integer


25
Newegg Item # of the item need to be enabled.


SellerPartNumber


Conditional


Integer


40
Seller Part # of the item need to be enabled.

2.7.4 Response codes

Code Status Code Description
ItemEnabled 200 Item _{Newegg Item #} _restored to Active.
ItemEnabledAlready 200 The item _{Newegg Item #} _has been enabled already.
ItemNotFound 404 The item does not exist in Newegg system.
InvalidItemStatus 409 Only disabled items can be enabled.

2.8 Disable item
POST item/disable

Disable an item for create orders. Item status will be changed to Disabled after you disabled it.

2.8.1 Request example

POST https://apis.newegg.com/tpl/v2/item/disable

2.8.2 Response example

2.8.3 Field definitions

You must specify Newegg Item # or Seller Part # to identify the item need to be disabled.

Field Type Example Value Description


NeweggItemNumber


Integer


9SIADFS9XW8522
Newegg Item # of the item need to be disabled.
SellerPartNumber Integer T19031901701 Seller Part # of the item need to be disabled.

2.8.4 Response codes

Code Status Code Description
ItemDisabled 200 Item _{Newegg Item #} _has been disabled.
ItemDisabledAlready 200 The item _{Newegg Item #} _has been disabled already.
ItemNotFound 404 The item does not exist in Newegg system.
InvalidItemStatus 409 Only active items can be disabled.

2.10 Generate item labels
POST item/generate-label

Generate item label in PDF format. You can see the download link of generated PDF label in response. Item label can be used to label each unit of your items before send inventory to Newegg warehouse.

Item label need to be printed on a thermal printer. Following image is an example of generated item label.

2.10.1 Request example

You must specify Newegg Item # or Seller Part # to identify the item need to generate item label.

Active, Disabled

POST https://apis.newegg.com/tpl/v2/item/generate-label

2.10.2 Response example

2.10.3 Field definitions

Following table shows field definitions of data in your request.



Field


Type


Required
Max Length Accepted Values

Description


NeweggItemNumber


String


Conditional


25

Newegg Item # of the item need to generate item label.


SellerPartNumber


String


Conditional


45

Seller Part # of the item need to generate item label.





Size





String





No





Small, Medium, Large
Customize the size of generated item label.

· Small (60 X 40 mm)
· Medium (70 X 50 mm)
· Large (100 X 60 mm)

Default is Large.

Following table shows field definitions of returned data in the response.

Field Type Example Value Description


DownloadLink


String


https://image10.newegg.com/tpl/portal/ ItemLabel_9SIADFS9XW8522_2019083112039.pdf
Download link of generated item label.

2.10.4 Response codes

Code Status Code Description
ItemLabelCreated 200 Your item label has been created.
ItemNotFound 404 The item does not exist in Newegg system.
InvalidItemStatus 409 We can generate labels for active or disabled items only.

Section 3: Send inventory
· 3.1 Inventorybasics
o 3.1.1 ShipmentID
o 3.1.2 Shipmentstatus
o 3.1.3 Neweggwarehouses
o 3.1.4 Shipment fielddefinitions
· 3.2 What you can do with InventoryAPIs
· 3.3 Get inventorydetails
o 3.3.1 Requestexample
o 3.3.2 Responseexample
o 3.3.3 Fielddefinitions
o 3.3.4 Responsecodes
· 3.4 Query inventorydetails
o 3.4.1 Queryparameters
o 3.4.2 Requestexample
o 3.4.3 Responseexample
o 3.4.4 Fielddefinitions
· 3.5 Get inventory shipmentdetails
o 3.5.1 Requestexample
o 3.5.2 Responseexample
o 3.5.3 Fielddefinitions
o 3.5.4 Responsecodes
· 3.6 Query inventory shipmentlist
o 3.6.1 Queryparameters
o 3.6.2 Requestexample
o 3.6.3 Responseexample
o 3.6.4 Fielddefinitions
· 3.7 Create inventoryshipment
o 3.7.1 Requestexample
o 3.7.2 Responseexample
o 3.7.3 Fielddefinitions
o 3.7.4 Responsecodes
· 3.8 Update inventoryshipment
o 3.8.1 Requestexample
o 3.8.2 Responseexample
o 3.8.3 Fielddefinitions
o 3.8.4 Responsecodes
· 3.9 Mark inventory shipment asshipped
o 3.9.1 Requestexample
o 3.9.2 Responseexample
o 3.9.3 Fielddefinitions
o 3.9.4 Responsecodes

· 3.10 Cancel inventoryshipment
o 3.10.1 Requestexample
o 3.10.2 Responseexample
o 3.10.3 Fielddefinitions
o 3.10.4 Responsecodes
· 3.11 Generate itemlabels
o 3.11.1 Requestexample
o 3.11.2 Responseexample
o 3.11.3 Fielddefinitions
o 3.11.4 Responsecodes
· 3.12 Generate packagelabels
o 3.12.1 Requestexample
o 3.12.2 Responseexample
o 3.12.3 Fielddefinitions
o 3.12.4 Responsecodes
· 3.13 Generate packing listlabel
o 3.13.1 Requestexample
o 3.13.2 Responseexample
o 3.13.3 Responsecodes

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
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
36 YTO 3PL Warehouse CAN

3.1.4 Shipment field definitions



Field


Require d


Type
Max Lengt h

Accepte d Values


Description
ShipmentReferenceNumb er1

No


String


50



Seller assigned reference # 1.
ShipmentReferenceNumb er2

No


String


50



Seller assigned reference # 2.


ShipToWarehouseNumbe r



Yes



String

02, 07,
08, 09,
10, 14,
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 value
or identification code.

3.1 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 receiving

3.2 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.2.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.2.2 Response example

Return inventory details of specified warehouse.

3.2.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.2.4 Response codes

Code Status Code Description
InventoryNotFound 404 Inventory not found.

3.3 Query inventory details
GET inventory

Query warehouse inventory details by given search criteria.

3.3.1 Query parameters

Parameter Required Type Accepted Values Description





SearchBy





No





String




NeweggItemNumber, SellerPartNumber
Specify the field to be filtered by keyword. Must be one of following values:

· NeweggItemNumber
· SellerPartNumber

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 ‘,’.




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, 07, 08, 09, 10,
14, 35, 36
Search and returned inventory of specified warehouse only.

Refer to 3.1.3 Newegg warehouses.


InventoryFrom


No


Integer

Filter items by inventory (of specified warehouse #).


InventoryTo


No


Integer

Filter items by inventory (of specified warehouse #).
Parameter Required Type Accepted Values Description




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.



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.3.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.3.3 Response example

3.3.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.
Field Type Example Value Description


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.4 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.4.1 Request example

GET https://apis.newegg.com/tpl/v2/inventory/inbound-shipment/_10004532_

3.4.2 Response example

3.4.3 Field definitions

Following table shows definition for each data fields returned in the response.

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.
Field Type Example Value Description


Title


String


TEST - ITEM #1
Short description of this product.


ReceivedQuantity


Integer


30
Quantity of shipment item already received by Newegg warehouse.


PieceCountPerCarton


Integer


12
Number of items packed within a carton.


ShipDate


DateTime
2019-08-
28T07:42:37.884
Date when the shipment was marked as shipped.


CreateTime


DateTime
2019-08-
26T23:34:34.943
Create time in PST/PDT timezone.


CreateTimeUtc


DateTime
2019-08-
27T06:34:34.943Z


Create time in UTC timezone.


LastUpdateTime


DateTime
2019-08-
28T09:08:36.889
Last update time in PST/PDT timezone.


LastUpdateTimeUtc


DateTime
2019-08-
28T16:08:36.889Z
Last update time in UTC timezone.

For other fields, please refer to 3.1.4 Shipment field definitions.

3.4.4 Response codes

Code Status Code Description
ShipmentNotFound 404 Shipment not found.

3.5 Query inventory shipment list
GET inventory/inbound-shipment

Query inbound inventory shipment list by given search criteria.

3.5.1 Query parameters



Parameter
Require d

Type


Accepted Values


Description







SearchBy







No







String





ShipmentID, ShipmentReferenceNum ber, NeweggItemNumber, SellerPartNumber, TrackingNumber
Specify the field to be filtered by keyword. Must be one of following values:

· ShipmentID
· ShipmentReferenceNu mber (both Reference
#1 and Reference #2)
· NeweggItemNumber
· SellerPartNumber
· TrackingNumber

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.



CustomSeparato r



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.
WarehouseNum ber

No


String


02, 07, 08, 09, 10, 14,
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:

· Preparing
· Ready to Ship
· Shipped
· Received
· Partially Received
· Partially Closed
· Void


Parameter
Require d

Type


Accepted Values


Description


CreateTimeFrom


No
DateTi me
Filter shipments by create time.


CreateTimeTo


No
DateTi me
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.5.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

3.5.3 Response example

“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”, “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”,

3.5.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 shipments returned.
TotalCount Integer 13 Total number of shipments 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 shipments returned in this page.

For other fields, refer to 3.1.4 Shipment field definitions and 3.5.3 Field definitions in “Get inventory shipment details” section.

3.6 Create inventory shipment
POST inventory/inbound-shipment

Create an inventory shipment. Newegg system will create a unique shipment ID to identify the shipment, and shipment status will be Preparing after created.

3.6.1 Request example

POST https://apis.newegg.com/tpl/v2/inventory/inbound-shipment

3.6.2 Response example

Generated shipment ID is returned in the response.

3.6.3 Field definitions

For definition of each field in above request, please refer to 3.1.4 Shipment field definitions.

3.6.4 Response codes



Code
Status Code

Description


ShipmentCreated


200
Your inventory shipment has been created. Please prepare your shipment items to Newegg warehouse, and mark the shipment as shipped after departed.


ItemNotFound


409
Item SY-82401, SY-82402 cannot be found in Newegg system.


InactiveItem


409
Unable to create shipment with inactive items: SY-82401, SY-82402.
UnsupportedWarehouse 409 Ship to warehouse ‘{WH #}’ is not supported.

3.7 Update inventory shipment
PUT inventory/inbound-shipment

Update an inbound inventory shipment by shipment ID before Newegg warehouse receive the shipment. If the shipment was received, only ship service and tracking # can be updated.

Status of shipment is read-only, you cannot update shipment status with this API. To mark the shipment as Shipped, please refer to 3.9 Mark inventory shipment as shipped.

3.7.1 Request example

PUT https://apis.newegg.com/tpl/v2/inventory/inbound-shipment

3.7.2 Response example

3.7.3 Field definitions

Field Required Type Description


ShipmentID


Yes


Integer
The shipment ID generated by Newegg system to identify your shipment.

For other field in your request, please refer to 3.1.4 Shipment field definitions.

3.7.4 Response codes



Code
Status Code

Description
ShipmentUpdated 200 Your inventory shipment has been updated.
ShipmentNotFound 404 Shipment not found.


ItemNotFound


409
Item SY-82401, SY-82402 cannot be found in Newegg system.


InactiveItem


409
Unable to update shipment with inactive items: SY- 82401, SY-82402.
UnsupportedWarehouse 409 Ship to warehouse ‘{WH #}’ is not supported.

3.8 Mark inventory shipment as shipped
POST inventory/inbound-shipment/mark-as-shipped

Mark a shipment as shipped. You can update associated tracking# and ship service in this API too.

Only the shipment status is ‘Preparing’ or ‘Ready To Ship’, you can mark shipment as shipped.

3.8.1 Request example

POST https://apis.newegg.com/tpl/v2/inventory/inbound-shipment/mark-as- shipped

3.8.2 Response example

3.8.3 Field definitions

Following table shows definition of each data field in above request.



Field


Required


Type
Accepted Values

Description


ShipmentID


Yes


Integer

The shipment ID generated by Newegg system to identify your shipment.



ShipCarrier



No



String
DHL,
FedEx, UPS, USPS,
Other



Ship carrier name used for shipment.



ShipService



No



String
Small Parcel Delivery, LTL,
Full



Ship service selected.


TrackingNumberList


No


String[]

List of tracking# associated with the shipment.

3.8.4 Response codes



Code
Status Code

Description
ShipmentMarkedAsShipped 200 Your inventory shipment has been marked as shipped.
ShipmentNotFound 404 Shipment not found.


InvalidShipmentStatus


409
Unable to mark as shipped when shipment status is ‘Received’.

3.10 Cancel inventory shipment
POST inventory/inbound-shipment/cancel

Cancel an inventory shipment before it get shipped out.

Only the shipment status is ‘Preparing’, ‘Ready To Ship’ or ‘Shipped’, you can cancel the shipment.

3.10.1 Request example

POST https://apis.newegg.com/tpl/v2/inventory/inbound-shipment/cancel

3.10.2 Response example

3.10.3 Field definitions

Following table shows definition of each data field in your request.



Field


Required


Type
Max Length Accepted Values

Description


ShipmentID


Yes


Integer


The shipment ID generated by Newegg system to identify your shipment.


Memo


No


String


200

Optional memo to describe the reason of cancellation.

3.10.4 Response codes



Code
Status Code

Description
ShipmentCancelled 200 Your inventory shipment has been cancelled.
ShipmentNotFound 404 Shipment not found.
InvalidShipmentStatus 409 Unable to cancel when shipment status is ‘Received’.

3.11 Generate item labels
POST inventory/inbound-shipment/generate-item-label

If your item do not include a UPC/ISBN barcode on the product packaging, you need to label each unit of the item with NPC (Newegg Product Code). Use this API to generate item labels for a shipment according to the shipment quantity of each item. Generated item labels are all in a PDF document, with one label per page.

Following image is an example of generated item labels for a shipment.

3.11.1 Request example

POST https://apis.newegg.com/tpl/v2/inventory/inbound-shipment/generate-item- label

3.11.2 Response example

3.11.3 Field definitions

Following table shows definition of each data field in above request.



Field


Required


Type
Max Length Accepted Values

Description



ShipmentID



Yes



Integer


The shipment ID generated by Newegg system to identify your shipment.






Size






No






String






Small, Medium, Large
Customize the size of generated item label.

· Small (60 X 40 mm)
· Medium (70 X 50 mm)
· Large (100 X 60 mm)

Default is Large.


LabelList



Object[]


List of items to create package labels.


NeweggItemNumber


Conditional


String


25

Newegg Item # to identify the item for label generation.




SellerPartNumber




Conditional




String




40

Seller Part # assigned by seller to identify the item for label generation. This field can be omitted if Newegg Item # is provided.




LabelQuantity




No




Integer





1 - 99999
Number of labels to generate.

Default value is the shipment quantity of the item.

Following table shows field definitions of returned data in the response.

Field Type Example Value Description


DownloadLink


String
https://image10.newegg.com/tpl/portal/ ItemLabels_10004543_2019083115168.pdf Download link of generated item labels.

3.11.4 Response codes



Code
Status Code

Description



ItemLabelGenerated



200
Item label file created. Please download and print the PDF file to label your shipment items.
ShipmentNotFound 404 Shipment not found.


ItemNotFound


404
Item {Seller Part # / Newegg Item #} cannot be found in this shipment.


DuplicateItem


409
Duplicate item {Seller Part # / Newegg Item #} found in your request.


NoItems


409
Shipment has no qualified items.

3.12 Generate package labels
POST inventory/inbound-shipment/generate-package-label

Generate package labels to indicate items within a package.

We strongly recommend that you package same items into one box. Same items can be packed in multiple boxes, but one box should only contain one type of item. A package label must be displayed on the outside of each box.

Same SKU packaging is preferred and will ensure fast receiving of your shipment. Mixed inventory packaged shipments may take longer to receive.

Following image is an example of generated package labels for a shipment.

3.12.1 Request example

POST https://apis.newegg.com/tpl/v2/inventory/inbound-shipment/generate- package-label

3.12.2 Response example

3.12.3 Field definitions

Following table shows definition of each data field in your request.



Field


Required


Type
Max Length Accepted Values

Description


ShipmentID


Yes


Integer


The shipment ID generated by Newegg system to identify your shipment.





Size





No





String





Small, Medium, Large
Customize the size of generated item label.

· Small (60 X 40 mm)
· Medium (70 X 50 mm)
· Large (100 X 60 mm)

Default is Large.


LabelList



Object[]


List of items to create package labels.


NeweggItemNumber


Conditional


String


25

Newegg Item # to identify the item for label generation.



SellerPartNumber



Conditional



String



40

Seller Part # assigned by seller to identify the item for label generation. This field can be omitted if Newegg Item # is provided.



LabelQuantity



No



Integer




1 - 99999
Number of labels to generate.

Default value is 1.

Following table shows field definitions of returned data in the response.

Field Type Example Value Description


DownloadLink


String


https://image10.newegg.com/tpl/portal/ PackageLabels_10004543_2019083115168.pdf
Download link of generated package labels.

3.12.4 Response codes



Code
Status Code

Description


PackageLabelGenerated


200
Package label file created. Please download and print the PDF file to label your shipment packages.
ShipmentNotFound 404 Shipment not found.
NoItems 409 Shipment has no qualified items.


DuplicateItem


409
Duplicate item {Seller Part # / Newegg Item #} found in your request.


ItemNotFound


404
Item {Seller Part # / Newegg Item #} cannot be found in this shipment.

3.13 Generate packing list label
POST inventory/inbound-shipment/generate-packing-list-label

Generate packing list for receiving.

Following image is an example of generated packing list label of a shipment for receiving.

3.13.1 Request example

You need to specify the shipment ID to generate packing list label.

POST https://apis.newegg.com/tpl/v2/inventory/inbound-shipment/generate- packing-list-label

3.13.2 Response example

Generated packing list label is returned in the _DownloadLink _field.

3.13.3 Response codes



Code
Status Code

Description


PackingListLabelGenerated


200
Packing list label file created. Please download and print the PDF file to indicate your shipment items for receiving.
ShipmentNotFound 404 Shipment not found.

Section 4: Manage orders
· 4.1 Orderbasics
o 4.1.1 Newegg Order#
o 4.1.2 Orderstatus
o 4.1.3 Order fielddefinitions
· 4.2 What you can do with OrderAPIs
· 4.3 Get orderdetails
o 4.3.1 Queryparameters
o 4.3.2 Requestexample
o 4.3.3 Responseexample
o 4.3.4 Fielddefinitions
o 4.3.5 Responsecodes
· 4.4 Query orderlist
o 4.4.1 Queryparameters
o 4.4.2 Requestexample
o 4.4.3 Responseexample
o 4.4.4 Fielddefinitions
· 4.5 Createorder
o 4.5.1 Requestexample
o 4.5.2 Responseexample
o 4.5.3 Fielddefinitions
o 4.5.4 Responsecodes
· 4.6 Cancelorder
o 4.6.1 Requestexample
o 4.6.2 Responseexample
o 4.6.3 Fielddefinitions
o 4.6.4 Responsecodes

4.1 Order basics
Newegg Logistics orders are warehouse shipment orders that help seller to deliver their items from Newegg warehouse to customer. You need to make sure each order item has sufficient inventory before place an order into Newegg Logistics system.

To create an order in Newegg Logistics system, you need to provide following information at least.

· Seller Order # - Unique order # assigned by seller to identify an order from a sales channel
· Sales channel - Origin website or source where the order is placed
· Ship service selected - Newegg shipping method or 3rd party shipping service to be used for this order
· Customer information - Customer name, phone # etc
· Shipping address - Ship to destination, include detail address line, city, state, zip code etc
· Seller Part # - The SKU # used to identify an unique item of yours
· Ordered quantity - Units of the item to be shipped

4.1.1 Newegg Order #

Newegg will generate a unique order number (Newegg Order #, e.g.: 451304212) when order submitted to Newegg system. The Newegg Order # will be used to identify an order in Newegg system.

4.1.2 Order status

Newegg Logistics uses following status to indicate the state of an order.

Status Description
Initialized Order submitted to Newegg system, waiting for verification.


Pending
If an order with a future expect shipping date specified, order will be shown as Pending. The order will be release to Newegg warehouse automatically on the expected shipping date.
Exceptional Order verification failed. Wait for seller to check.
Processing Order verification passed. Trying to release the order to Newegg warehouse.
Unshipped Order has been released to Newegg warehouse, but not shipped yet.


Ready to Ship
Shipping labels have been created for the order.
Or order was packed at Newegg warehouse, waiting to pick up by ship carrier.
Void Order has been cancelled.
Partially Shipped

Order has been shipped partially.


Invoiced
Order was shipped by Newegg warehouse. Order has been closed and invoiced.

Diagram of order status flow:

4.1.3 Order field definitions



Field


Require d


Type
Lengt h Limit Accepte d Values

Description




SellerOrderNumber




Yes




String




50



ANSI
chars only
Unique order # assigned by seller to identify an order from a sales channel.

Order from different sales channel can have same Seller Order #.




OrderDate




No




DateTi me


Date when this order was placed. Current date will be used if not provided.

Seller Order Date must be within 7 days of current date, and cannot be later than current date.







ExpectShippingDate







No






DateTi me


Order will be released to Newegg warehouse at expect shipping date. Expect shipping date must be a future date after the Order Date.

Newegg warehouse only operate at business days. So actual shipping date might be delayed to next business day if expect shipping date is on weekend or holiday.



SalesChannel



No



String



50

Sales channel of the order. E.g.: eBay USA, Amazon USA, Amazon Seller Prime _etc.

“_Other
“ will be used of left blank.
SubSalesChannel No String 50
Sub sales channel of the order.









SSCCRequired









No









Boolean


Many sales channels require advance shipment notice (SSCC, Serial Shipping Container Code) with each package/pallet ID# labeled. Set to true if this order shipment requires SSCC.

Default is false.

You must associate a SSCC prefix number with the order sales channel to enable SSCC for the order shipment. Contact Newegg Logistics support if you want to use this feature on specific sales channels.
SellerCustomerNumber No String 50
Customer # assigned by seller.


CustomerPONumber


No


String


50

Customer Purchase Order # assigned by seller.
WarehouseShipmentNu mber

No


String


30

Warehouse Shipment # assign by seller for reference.























ShippingMethod























Yes























String


Newegg shipping method to be used. Newegg Logistics support following shipping methods:

· Newegg Next Day
· Newegg 2 Day
· Newegg 3 Day
· Super Eggsaver (4-7 bus.days)
· Economical Trucking
· 3PL Client Prepaid
· 3PL Client Trucking

If your order contains hazard materials, only Super EggSaver, 3PL Client Prepaid, 3PL Client Trucking or Economical Trucking is the valid shipping method.

You can use following shipping methods if your own shipping account has been configured for the order sales channel in Newegg Logistics.

· 3PL FedEx 1 Day/Standard Overnight
· 3PL FedEx 2 Day
· 3PL FedEx Express Saver
· 3PL FedEx Ground
· 3PL UPS 2nd Day Air
· 3PL UPS 3 Day Select
· 3PL UPS Ground
· 3PL UPS Next Day Air Saver

Contact Newegg Logistics support team if you want to use your own shipping account for UPS or FedEx for orders from specific sales channels.
ShipTo Yes Object

Customer information.
Name Yes String 80
Contact name.


PhoneNumber


Yes


String


30
ANSI
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.or g/. E.g.: USA, _CHN, US, CN _etc.

Newegg will convert all two letter country codes to three letter ones automatically.


BillTo


No


Object


Ship-to information will be used as bill-to information if this field is set to null.
Name Yes String 80
Bill to contact name.


PhoneNumber


Yes


String


30
ANSI
chars only


Bill to phone #.
Company No String 100
Bill to company name.
Address1 Yes String 100
Bill to address line 1.
Address2 No String 100
Bill to address line 2.


City


Yes


String


45

Bill to city full name. E.g.: City of Industry.




StateOrProvince




Yes




String




32
Refer to US State and Canada Provinc e Codes

Bill to state/province code.

Must be valid state or province code for U.S. and Canada. E.g.: _CA, NY, HI _etc.




PostalCode




Yes




String




20

Bill to zip/postal code.

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.or g/. E.g.: USA, _CHN, US, CN _etc.

Newegg will convert all two letter country codes to three letter ones automatically.








ItemList


Yes


Object[]


List of items to be shipped with this order.


SellerPartNumber


Yes


String


40

Seller assigned SKU # to identify the item need to be included in the order.


CustomerItemNumber


No


String


50

Customer item #. Will be displayed on the packing list if provided.




SignatureRequired




No




Boolean


Set to _true _if this order requires signature on delivery.

Signature service is not available for any trucking shipping method.






















WarehouseNumber






















No






















String





















02, 07,
08, 09,
10, 14,
36
Indicate which Newegg warehouse to fulfill this order. Must be one of following values:

Warehou Warehou Locatio se # se Name n
CA
02 Warehou USA se 02
CA
7 Rowland USA Warehou
se
CA
Rowland
8 Bulk Item USA Warehou
se
IN
9 Warehou USA se
NJ Bulk
10 Warehou USA se
NJ Small
14 Warehou USA se
YTO 3PL
36 Warehou CAN se

Newegg Logistics will try to fulfill the order from a warehouse close to the destination if not indicated.



OrderedQuantity



Yes



Integer




1-
99999
Unit count of the ordered item.

If there is no enough inventory to fulfill this order item, order will be marked as Exceptional.





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.



ExtendedProperties



No



Object[]


Customized properties and identification values for each order item assigned by seller for reference.


Name


Yes


String


50

Property name or identification qualifier.


Value


Yes


String


Property value or identification code.


Memo


No


String


200

Optional memo for Newegg warehouse.


ExtendedProperties


No


Object[]


Customized properties and identification values assigned by seller for reference.









Name









Yes









String









50

Property name or identification qualifier.

Following property names are reserved for Newegg Logistics orders, please AVOID using them.

· SpecialComment
· BadShippingAddress
· EaaS.MessageID
· EaaS.ISAControlNumber
· EaaS.TSControlNumber
· Amazon.IsPrime
· Amazon.LatestDeliveryD ate


Value


Yes


String


Property value or identification code.

4.1 What you can do with Order APIs
The Seller Integration API lets you do the following with the Order APIs.

· GET order/{Newegg Order # | Seller Order #}
Get order details by Seller Order # or Newegg Order #
· GET order
Query order list by given search criteria
· POST order Create an order
· POST order/cancel Cancel an order

4.2 Get order details
GET order/{Newegg Order # | Seller Order #}

Get order details by Newegg Order # or Seller Order #. HTTP status code 404 will be returned if order not found.

4.2.1 Query parameters



Parameter


Required
Max Length

Type


Description


SalesChannel


No


50


String
You must provide sales channel of the order if given Seller Order # is not unique among all your orders.

4.2.2 Request example

Get order details by Newegg Order #.
GET https://apis.newegg.com/tpl/v2/order/_451304212_

Get order details by Seller Order # and Sales Channel.
GET https://apis.newegg.com/tpl/v2/order/09-12345- 67890?SalesChannel=eBay%20USA

4.2.3 Response example

“StateOrProvince”: “CA”, “PostalCode”: “91748”, “Country”: “USA”
},
“ItemList”: [
{
“NeweggItemNumber”: “9SIADFS9YD2804”, “SellerPartNumber”: “SY-82404”, “WarehouseNumber”: “02”, “WarehouseName”: “CA Warehouse 02”, “Condition”: “New”, “ManufacturerPartNumber”: “SY-82404”, “UPC”: “413565040662”,
“Description”: “TEST ITEM #4”, “PacksOrSets”: 1,
“OrderedQuantity”: 1,
“ShippedQuantity”: 1, “UOM”: null, “PieceCountPerCarton”: null, “UnitPrice”: 89.99, “CustomerItemNumber”: null, “SignatureRequired”: null, “Status”: “Shipped”
}
],
“PackageList”: [
{
“TrackingNumber”: “1ZX037170301234567”, “ShippingMethod”: “Newegg 3 Day”, “ShipCarrier”: “UPS”,
“ShipService”: “UPS Ground”, “ShipServiceCode”: “038”, “ShipDate”: “2019-08-30T14:25:58”,
“WarehouseNumber”: “02”,
“Length”: 37.25,
“Width”: 25.5,
“Height”: 9.5,
“Weight”: 42.33, “Status”: null, “ProNumber”: null, “SSCC”: null,
“ItemList”: [
{
“NeweggItemNumber”: “9SIADFS9YD2804”, “SellerPartNumber”: “SY-82404”, “ManufacturerPartNumber”: “SY-82404”, “UPC”: “413565040662”,
“OrderedQuantity”: 1,
“ShippedQuantity”: 1, “SerialNumberList”: [ “413565040662”
]
}

4.2.4 Field definitions

Following table shows extra data fields returned in the response.

Field Type Example Value Description



NeweggOrderNumber



Integer



400000003
System generated Newegg Order
#.




Platform




String




ShipStation
Available only when order was downloaded from integrated platform automatically.



PlatformID



String



D2BA941347D1425FBED94AE7AC50 B29D
Integration platform ID where the order is downloaded from.


CustomerName


String

Same as ship to name.


CustomerPhoneNumber


String


400-321-1234
Formatted phone # of ship to phone #.



Status



String



Invoiced
Current order status. Refer to 4.1.2 Order status.


ShipTo


Object

Ship to address information.


BillTo


Object

Bill to address information.


ItemList


Object[]

List of ordered items.


NeweggItemNumber


String


9SIADFS9YD2804
Newegg Item # of the order item.


SellerPartNumber


String


SY-82404
Seller Part # of the order item.
Condition String New
ManufacturerPartNumbe
r


String


SY-82404

UPC String 413565040662
PacksOrSets Integer 1
Description String TEST ITEM #4


WarehouseNumber


String


02
Newegg warehouse #.


WarehouseName


String


CA Warehouse 02
Newegg warehouse name.


OrderedQuantity


Integer


1
Unit of ordered item.


ShippedQuantity


Integer


1
Shipped unit of ordered item.


UOM


String


PCS
Unit of measurement.


PieceCountPerCarton


Integer


4
Piece count per carton.




UnitPrice




Decimal




89.99
Unit price of the ordered item.
Newegg Logistics will use MSRP of the item as unit price.








Status








String








Shipped
Status of ordered item. Could be one of following values:

· Unshipp ed
· Shipped
· Partially Shipped
· Cancelle d



PackageList



Object[]

Package information list after order was packed or shipped.


TrackingNumber


String


1ZX037170301234567
Tracking # of the package.



ShippingMethod



String



Newegg 3 Day
Original shipping method selected.


ShipCarrier


String


UPS
Ship carrier used actually.


ShipService


String


UPS Ground
Ship service used actually.


ShipServiceCode


String


038
Newegg ship service code.




ShipDate



DateTim e




2019-08-30T14:25:58
Date of the package was packed or shipped, in PST/PDT
timezone.



WarehouseNumber



String



02
Newegg warehouse # where the package is from.







Status







String







Shipped
Status of the package. Could be one of following values:

· Ready to Ship
· Shipped
· Cancelle d


Length


Decimal


37.25
Length of the package (inch).


Width


Decimal


25.5
Length of the package (inch).


Height


Decimal


9.5
Length of the package (inch).


Weight


Decimal


42.33
Weight of the package (LB).







ProNumber







String







1234567
When trucking ship service (Econmical Trucking _or _3PL Client Trucking) is selected, this is the actual Tracking # used by the trucking company (available when order was shipped).








SSCC








String[]








700123456000543210
List of related SSCC codes. The SSCC (SSCC-18)
is often encoded in a barcode, generally GS1- 128, and can also be encoded in an RFID tag.

Only available when SSCCRequired _is set to _true.


ItemList


Object[]

List of items packed within this package.


NeweggItemNumber


String

Newegg Item # of the package item.


SellerPartNumber


String

Seller Part # of the package item.


ManufacturerPartNum
ber



String

Manufacturer Part # or Model
# of the package item.


UPC


String

UPC of the package item.


OrderedQuantity


Integer


4
Total ordered pieces in this order.


ShippedQuantity


Integer


2
Total shipped pieces in this package.


SerialNumberList


String[]


413565040662
List of serial # for each unit in this packages.




ExtendedProperties




Object[]

Customized properties and identification values assigned by seller for reference.



CreateTime


DateTim e



2019-06-07T13:45:21.133
Create time of the order in PST/PDT
timezone.


CreateTimeUtc


DateTim e


2019-06-07T20:45:21.133Z
Create time of the order in UTC timezone.



LastUpdateTime



DateTim e



2019-06-08T09:16:45.650
Last update time of the order in PST/PDT
timezone.



LastUpdateTimeUtc


DateTim e



2019-06-08T16:16:45.650Z
Last update time of the order in UTC timezone.

For other fields, please refer to 4.1.3 Order field definitions.

4.2.5 Response codes



Code
Status Code

Description
OrderNotFound 404 The order does not exist in Newegg system.

4.3 Query order list
GET order

Query a list of orders by given search criteria.

4.3.1 Query parameters



Parameter


Required


Type
Max Length

Accepted Values


Description









SearchBy









No









String






NeweggOrderNumber, SellerOrderNumber, CustomerPONumber, CustomerName, CustomerPhoneNumber, NeweggItemNumber, SellerPartNumber, TrackingNumber
Specify the field to be filtered by keyword. Must be one of following values:

· NeweggOrderNumbe r
· SellerOrderNumber
· CustomerPONumber
· CustomerName
· CustomerPhoneNum ber
· NeweggItemNumber
· SellerPartNumber
· TrackingNumber

Default
is NeweggOrderNumber.










Keyword










No










String


Specify the keyword to match against the field to be filtered.

· Fuzzy match will be used for field SellerOrderNumber, C ustomerPONumber, CustomerName, CustomerPhoneNumb er.
· You can use comma ‘,’ or ‘|’ to separate multiple values if search by Newegg Order #, Seller Order
#, or Customer PO #.




CustomSeparator




No




String




1



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.


SalesChannel


No


String


50

Filter orders by sales channel.
Platform No String 50
Filter orders by platform.
PlatformID No String

Filter orders by platform ID.








Status








No








String





Initialized, Pending, Exceptional, Processing, Unshipped, Ready to Ship, Partially Ship, Invoiced, Void
Filter orders by status. Must be one of following values:

· Initialized
· Pending
· Exceptional
· Processing
· Unshipped
· Ready to Shipped
· Partially Ship
· Invoiced
· Void

Refer to 4.1.2 Order status.
CreateTimeFrom No DateTime

Filter orders by create time.
CreateTimeTo No DateTime

Filter orders by create time.


SellerOrderDateFrom


No


DateTime


Filter orders by seller order date.


SellerOrderDateTo


No


DateTime


Filter orders by seller order date.



PageSize



No



Integer




1 - 100
Limit number of orders to be returned for each page.

Default is 10.



PageIndex



No



Integer




>= 0
Specify the page to be retrieved by index.

Default is 0.

4.3.2 Request example

Query order list by multiple Newegg Order #.
GET https://apis.newegg.com/tpl/v2/order_?Keyword=400000001,400000002,40000000 3_

Query order list by Seller Part #
GET https://apis.newegg.com/tpl/v2/order_?SearchBy=SellerPartNumber&Keyword=SY_
-82404

Query order list where Seller Order Date is from 2019-08-01 (PST/PDT), and status is Invoiced, return first 50 matched orders.

GET https://apis.newegg.com/tpl/v2/order_?Status=Invoiced&SellerOrderDateFrom= 2019-08-01T00:00:00&PageSize=50_

Query order list by Sales Channel.
GET https://apis.newegg.com/tpl/v2/order_?SalesChannel=eBay%20USA_

4.3.3 Response example

“OrderedQuantity”: 1,
“ShippedQuantity”: 1, “UOM”: null, “PieceCountPerCarton”: null, “UnitPrice”: 89.99, “CustomerItemNumber”: null, “SignatureRequired”: null, “Status”: “Shipped”
}
],
“PackageInfoList”: [
{
“TrackingNumber”: “1ZX037170301234567”, “ShippingMethod”: “Newegg 3 Day”, “ShipCarrier”: “UPS”,
“ShipService”: “UPS Ground”, “ShipServiceCode”: “038”,
“ShipDate”: “08/30/2019 14:25:58”,
“WarehouseNumber”: “02”,
“Length”: 37.25,
“Width”: 25.5,
“Height”: 9.5,
“Weight”: 42.33, “Status”: null, “ProNumber”: null, “SSCC”: null,
“ItemList”: [
{
“NeweggItemNumber”: “9SIADFS9YD2804”, “SellerPartNumber”: “SY-82404”, “ManufacturerPartNumber”: “SY-82404”, “UPC”: “413565040662”,
“OrderedQuantity”: 1,
“ShippedQuantity”: 1, “SerialNumberList”: [ “413565040662”
]
}
]
}
],
“ExtendedProperties”: [
{
“Name”: “IsPrime”,
“Value”: “Yes”
}
],
“Memo”: “This is a testing order. Do NOT ship it.”, “CreateTime”: “2019-08-30T12:45:04.395”, “CreateTimeUtc”: “2019-08-30T19:45:04.395Z”, “LastUpdateTime”: “2019-08-30T12:45:42.939-07:00”, “LastUpdateTimeUtc”: “2019-08-30T19:45:42.939Z”
}

4.3.4 Field definitions

Following table shows extra data fields returned in the response.



Field


Type
Example Value

Description
Count Integer 10 Number of orders returned.
TotalCount Integer 13 Total number of orders 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 orders returned in this page.

For other fields, refer to 4.1.3 Order field definitions and 4.3.4 Field definitions in “Get order details” section.

4.4 Create order
POST order

Create an order. Order status will be Initialized after you submitted your order creation request. Order status will be changed to Unshipped when order released Newegg warehouse.

Newegg Logistics will verify your order data before release it to Newegg warehouse. Order status will be changed to Exceptional if verification failed.

If an order with the same Seller Order # and Sales Channel exists in Newegg system. Order creation will be rejected if order status is not Exceptional, or Void.

4.4.1 Request example

POST https://apis.newegg.com/tpl/v2/order

4.4.2 Response example

Order created. HTTP status code is 200.

Create order failed. HTTP status code is 409.

4.4.3 Field definitions

Please refer to 4.1.3 Order field definitions.

4.4.4 Response codes



Code
Status Code

Description
RequestSubmitted 200 Your order creation request has been submitted.
InvalidPostalCode 400 Zipcode is not matched with selected state.
InvalidShipToAddress 400 Unfortunately, Newegg does not ship to {restricted region}.


DuplicateOrder


409
An order with the same Seller Order # and sales channel already exists.

4.5 Cancel order
POST order/cancel

Cancel an order before it get shipped. You can cancel an order with following status only.

· Pending
· Exceptional
· Unshipped
· Ready to Ship

4.5.1 Request example

POST https://apis.newegg.com/tpl/v2/order/cancel

4.5.2 Response example

Cancel request submitted. HTTP status code is 200.

Cancel request failed. HTTP status code is 409.

4.5.3 Field definitions

You must specify Newegg Order #, or Seller Order # to identify the order need to be cancelled.



Field


Required


Type
Max Length

Accepted Values


Description
NeweggOrderNumbe r Conditiona l Intege r



Newegg Order #.


SellerOrderNumber
Conditiona l

String


50



Seller Order #.



SalesChannel



No



String



50

Assign sales channel of the order if Seller Order # is not unique among all sales channels.







CancelReason







No







String







UnableToFulfill, CustomerCance l
Must be one of following values:

· UnableToFulfill
- Unable to fulfill this order
· CustomerCance l - Customer request to cancel this order

Default
is UnableToFulfill.


Memo


No


String


100

Memo of specific reason to cancel this order.

4.5.4 Response codes



Code
Status Code

Description
RequestSubmitted 200 Your cancel order request has been sent.
OrderAlreadyCancelled 200 The order was cancelled already.
OrderNotFound 404 Order not found.
OrderAlreadyShipped 409 Unable to cancel an order being shipped already.


RequestCancelled


409
Your cancel order request was ignored because previous cancel order request is processing.


InvalidOrderStatus


409
Order with status ‘XXX’ cannot be cancelled. Please try again later.

Section 5: Manage Returns (TBD) Section 6: Request for Reports (TBD) Section 7: Subscribe Notifications (TBD)
Section 8: Working with data feeds
· 8.1 Data feedbasics
o 8.1.1 RequestID
o 8.1.2 Data feedstatus
· 8.2 What you can do with Data FeedAPIs
· 8.3 Submit data feed for batch itemcreation
o 8.3.1 Requestexample
o 8.3.2 Responseexample
o 8.3.3 Fielddefinitions
o 8.3.4 Responsecodes
· 8.4 Submit data feed for batch ordercreation

o 8.4.1 Requestexample
o 8.4.2 Responseexample
o 8.4.3 Fielddefinitions
o 8.4.4 Responsecodes
· 8.5 Get data feedstatus
o 8.5.1 Requestexample
o 8.5.2 Responseexample
o 8.5.3 Fielddefinitions
o 8.5.4 Responsecodes

8.1 Data feed basics
Newegg Logistics allow you to bulk creation items and orders via the Data Feed APIs. Data feed are processing by jobs at backend. You will be notified when Newegg system finished processing your data feed.

8.1.1 Request ID

Newegg system will be generated an unique request ID for each data feed after submitted. You can use the request ID to check process result of your data feed.

8.1.2 Data feed status

Newegg Logistics uses following status to indicate the state of data feed processing.

Status Description
Pending Data feed has uploaded to Newegg system. Waiting for processing.
Processing Data feed is under processing in Newegg system.
Processed All entries in the data feed have been processed successfully.
ProcessedWithErrors Part of entries in the data feed have been processed, others are failed.


Failed
All entries in the data feed are failed. Or an exception occurred during data feed parsing and validation.

8.2 What you can do with Data Feed APIs
· POST data-feed/batch-item-creation Submit data feed for bulk item creation

· POST data-feed/batch-order-creation Submit data feed for bulk order creation
· GET data-feed/_{Request ID} _Get data feed process result

8.3 Submit data feed for batch item creation
POST data-feed/batch-item-creation

Submit data feed for bulk item creation.

Item data will be written into a XML file and upload to Newegg cloud storage. A backend job will be scheduled to process the file for bulk creation. You can use the “Get data feed statust” API to check the process result of each entry in your feed.

8.3.1 Request example

POST https://apis.newegg.com/tpl/v2/data-feed/batch-item-creation

8.3.2 Response example

8.3.3 Field definitions

Following tables shows definition of each field in your request.



Field


Required


Type
Max Length

Description


Description


No


String


200
Short description about this feed.

System will use the file name in download link as description if left this field as blank.




RequestUser




No




String




100
Email address of request user. Newegg Logistics will send notification to the email when the data feed finished processing.

Left this field as blank if you don’t want the notification, we will use api@newegg.com as default value.





Action





No





String

Must be one of following values:

· Create - Bulk create new items.
· Update - Bulk update items information. Only Seller Part # is required to identify the item to be updated. Only specified fields will be updated.

Default value is Create.


Data


Yes


Object[]

List of items to be created. At least one item needs to be included.

For definitions of item field in the request, please refer to 02_Manage items.

Following tables shows definition of each field in returned response.

Field Type Example Value Description



RequestID



String



22SOFY74XXXV5
System generated unique ID to identify this data feed.





DownloadLink





String




https://images10.newegg.com/tpl/portal/ ADFS_BatchItemCreation_20190831091201457.xml
Data feed content will be converted to XML file and uploaded to Newegg cloud.
This is the download link of the XML file.

8.3.4 Response codes



Code
Status Code

Description


RequestSubmitted


200
Your data feed has been submitted to Newegg system successfully.


ValidationErrors


400
Validate item data fields failed. Refer to error details returned in response.

8.4 Submit data feed for batch order creation
POST data-feed/batch-order-creation

Submit data feed for bulk order creation.

Order data will be written into a XML file and upload to Newegg cloud storage. A backend job will be scheduled to process the file for bulk creation. You can use the “Get data feed statust” API to check the process result of each entry in your feed.

8.4.1 Request example

POST https://apis.newegg.com/tpl/v2/data-feed/batch-order-creation

8.4.2 Response example

8.4.3 Field definitions

Following tables shows definition of each field in your request.



Field


Required


Type
Max Length

Description


Description


No


String


200
Short description about this feed.

System will use the file name in download link as description if left this field as blank.




RequestUser




No




String




100
Email address of request user. Newegg Logistics will send notification to the email when the data feed finished processing.

Left this field as blank if you don’t want the notification. we will use api@newegg.com as default value.


Data


Yes


Object[]

List of orders to be created. At least one order needs to be included.

For definitions of order field in the request, please refer to 04_Manage orders.

Following tables shows definition of each field in returned response.

Field Type Example Value Description



RequestID



String



24ETA3SXXX1CC
System generated unique ID to identify this data feed.





DownloadLink





String





https://images10.newegg.com/tpl/portal/ ADFS_BatchOrderCreation_20190831091304682.xml
Data feed content will be converted to XML file and uploaded to Newegg cloud. This is the download link of the XML file.

8.4.4 Response codes



Code
Status Code

Description


RequestSubmitted


200
Your data feed has been submitted to Newegg system successfully.


ValidationErrors


400
Validate order data fields failed. Refer to error details returned in response.

8.5 Get data feed status
GET data-feed/{Request ID}

Get process result by request ID.

8.5.1 Request example

GET https://apis.newegg.com/tpl/v2/data-feed/24ETA3SXXX1CC

8.5.2 Response example

8.5.3 Field definitions

Following tables shows definition of each field in returned response.

Field Type Example Value Description


RequestID


String


24ETA3SXXX1CC
System generated unique ID to identify this data feed.
RequestUser String email@address.com Email address of request user.



Type



String



OrderCreation
Type of the data feed. Available values are:

· ItemCreation
· OrderCreation
Description String
Short description about this feed



DownloadLink



String
https://images10.newegg.com/t pl/portal/ ADFS_BatchOrderCreation_2019 0831091304682.xml


Source file download link.
TotalCount Integer 1 Total entries found in the data feed.
ProcessedCount Integer 1 Number of processed entries.
FailedCount Integer 0 Number of failed entries.






Status






String






Processed
State of data feed. Available values are:

· Pending
· Processing
· Processed
· ProcessedWithErrors
· Failed

Refer to 8.1.2 Data feed status for details.


UploadDate


DateTime


2019-08-31T09:12:07.234
Upload date of the data feed in PST/PDT.
UploadDateUtc DateTime 2019-08-31T16:12:07.234Z Upload date of the data feed in UTC.


ProcessDate


DateTime


2019-08-31T09:17:08.720
Process date of the data feed in PST/PDT.
ProcessDateUtc DateTime 2019-08-31T09:17:08.720Z Process date of the data feed in UTC.
ProcessMemo String Total: 1, Processed: 1, Failed: 0 Summary of process result.


Results


Object[]

Detail process result of each entry in data feed.
LineNumber Integer 1 Entry position within the data feed.




Status




String




Processed
Entry process status. Available values are:

· Processed
· Failed
Description String
Description of the entry process result.


SellerPartNumber


String

Seller Part # of the entry. Available for ItemCreation feed only.


SalesChannel


String

Sales channel of the entry. Available for OrderCreation feed only.


SellerOrderNumber


String

Seller Order # of the entry. Available for OrderCreation feed only.

8.5.4 Response codes

Code Status Code Description
DataFeedNotFound 404 Data feed with request ID _{Request ID} _cannot be found.