1. Introduction
2. Item Module API
2.1. Batch Create or Update Item API
2.1.1. SERVICE_TYPE
GLINK_BATCH_OPERATE_ITEM_NOTIFY
2.1.2. Request Parameters
Batch create or update item request
| Parameter |
Type |
List |
Required |
Description |
| partnerId |
string |
N |
N |
Partner ID |
| itemList |
object |
Y |
Y |
Item information list; creates the item if it does not exist, and updates it if it already exists |
| └ customerCode |
string |
N |
Y |
Customer code |
| └ sku |
string |
N |
Y |
Item code |
| └ description |
string |
N |
Y |
Item name description |
| └ description1 |
string |
N |
N |
Item description 1, which can be used to record descriptions in other languages |
| └ category |
string |
N |
N |
Cargo category. The category must be maintained in WMS before it can be accepted, and only English is supported |
| └ brand |
string |
N |
N |
Item brand |
| └ countryOfOrigin |
string |
N |
N |
Item country of origin, using a two-letter country code, for example US or CN |
| └ shelfLife |
int |
N |
N |
Item shelf life |
| └ shelfLifeUnit |
string |
N |
N |
Shelf life unit; business-defined values: DAY, MONTH, YEAR |
| └ hsCode |
string |
N |
N |
HS code |
| └ batteryFlag |
boolean |
N |
N |
Whether it contains batteries, true/false; defaults to false if not provided |
| └ hazmatFlag |
boolean |
N |
N |
Whether it is hazardous material, true/false; defaults to false if not provided |
| └ liquidFlag |
boolean |
N |
N |
Whether it is liquid, true/false; defaults to false if not provided |
| └ fragileFlag |
boolean |
N |
N |
Whether it is fragile, true/false; defaults to false if not provided |
| └ careMfgDate |
boolean |
N |
N |
Whether manufacturing date is controlled, true/false; defaults to false if not provided |
| └ careExpDate |
boolean |
N |
N |
Whether expiration date is controlled, true/false; defaults to false if not provided |
| └ careBatch |
boolean |
N |
N |
Whether batch is controlled, true/false; defaults to false if not provided |
| └ careOriginCountry |
boolean |
N |
N |
Whether country of origin is controlled, true/false; defaults to false if not provided |
| └ requireSerialNumber |
boolean |
N |
N |
Whether serial number is controlled, true/false; defaults to false if not provided |
| └ packagingList |
object |
Y |
Y |
Packaging node; at least the length, width, height, and weight of the EA node must be provided |
| └ unit |
string |
N |
Y |
Packaging unit; EA: each item package, CS: case package, INP: inner package |
| └ pcsQty |
int |
N |
N |
Package quantity; valid only for INP/CS packaging nodes |
| └ length |
double |
N |
Y |
Length; the EA node must be greater than 0, while INP/CS should be populated according to the corresponding package |
| └ width |
double |
N |
Y |
Width; the EA node must be greater than 0, while INP/CS should be populated according to the corresponding package |
| └ height |
double |
N |
Y |
Height; the EA node must be greater than 0, while INP/CS should be populated according to the corresponding package |
| └ volume |
double |
N |
N |
Volume |
| └ weight |
double |
N |
Y |
Weight; the EA node must be greater than 0, while INP/CS should be populated according to the corresponding package |
| └ netWeight |
double |
N |
N |
Net weight |
| └ dimensionUnit |
string |
N |
N |
Dimension unit; defaults to the warehouse country configuration if not provided. Inch/inch: inch, cm/centimeter: centimeter |
| └ weightUnit |
string |
N |
N |
Weight unit; defaults to the warehouse country configuration if not provided. KG: kilogram, LB: pound |
| └ overpackRequired |
boolean |
N |
N |
Whether repackaging is required; true means the item must be repacked for shipment, and false means it can be shipped in the original carton; defaults to false if not provided |
| └ barcodeList |
object |
Y |
N |
Item barcode node; for EA, the first three barcodes are used at most, and INP/CS each uses the barcode of the corresponding package |
| └ unit |
string |
N |
N |
Packaging unit; EA: each item package, CS: case package, INP: inner package |
| └ barcode |
string |
N |
N |
Item barcode for the corresponding package |
| └ udf1 |
string |
N |
N |
User-defined field1 |
| └ udf2 |
string |
N |
N |
User-defined field2 |
| └ udf3 |
string |
N |
N |
User-defined field3 |
| └ udf4 |
string |
N |
N |
User-defined field4 |
| └ udf5 |
string |
N |
N |
User-defined field5 |
| └ udf6 |
string |
N |
N |
User-defined field6 |
| └ udf7 |
string |
N |
N |
User-defined field7 |
| └ udf8 |
string |
N |
N |
User-defined field8 |
| └ udf9 |
string |
N |
N |
User-defined field9 |
| └ udf10 |
string |
N |
N |
User-defined field10 |
| └ udf11 |
string |
N |
N |
User-defined field11 |
| └ udf12 |
string |
N |
N |
User-defined field12 |
| └ defaultPrice |
decimal |
N |
N |
Default selling price |
| └ imageUrl |
string |
N |
N |
SKU image URL. This is the path where the image is stored and can be downloaded directly with a GET request |
| └ distributionAttributes |
boolean |
N |
N |
Whether it is a distribution item |
| └ ownerShip |
string |
N |
N |
Merchant name that owns the goods when ownership belongs to another distributor |
2.1.3. Request Example
JSON
{
"partnerId": "GLINK",
"itemList": [
{
"customerCode": "CUSTOMER001",
"sku": "SKU001",
"description": "测试商品",
"description1": "Test Item",
"category": "GENERAL",
"brand": "BEST",
"countryOfOrigin": "CN",
"shelfLife": 365,
"shelfLifeUnit": "DAY",
"hsCode": "1234567890",
"batteryFlag": false,
"hazmatFlag": false,
"liquidFlag": false,
"fragileFlag": false,
"careMfgDate": false,
"careExpDate": false,
"careBatch": false,
"careOriginCountry": false,
"requireSerialNumber": false,
"packagingList": [
{
"unit": "EA",
"length": 10.00,
"width": 8.00,
"height": 5.00,
"volume": 400.00,
"weight": 0.50,
"netWeight": 0.45,
"dimensionUnit": "cm",
"weightUnit": "KG",
"overpackRequired": false
},
{
"unit": "INP",
"pcsQty": 10,
"length": 30.00,
"width": 20.00,
"height": 15.00,
"volume": 9000.00,
"weight": 5.00,
"netWeight": 4.50,
"dimensionUnit": "cm",
"weightUnit": "KG",
"overpackRequired": false
},
{
"unit": "CS",
"pcsQty": 20,
"length": 50.00,
"width": 40.00,
"height": 30.00,
"volume": 60000.00,
"weight": 10.00,
"netWeight": 9.00,
"dimensionUnit": "cm",
"weightUnit": "KG",
"overpackRequired": false
}
],
"barcodeList": [
{
"unit": "EA",
"barcode": "6900000000011"
},
{
"unit": "INP",
"barcode": "6900000000028"
},
{
"unit": "CS",
"barcode": "6900000000035"
}
],
"udf1": "自定义字段1",
"udf2": "自定义字段2",
"udf3": "自定义字段3",
"udf4": "自定义字段4",
"udf5": "自定义字段5",
"defaultPrice": 99.99,
"imageUrl": "https://example.com/sku001.jpg",
"distributionAttributes": false,
"ownerShip": "BEST"
}
]
}
2.1.4. Response Parameters
| Parameter |
Type |
List |
Required |
Description |
| success |
boolean |
N |
Y |
Operation result. true indicates success, and false indicates failure |
| code |
string |
N |
N |
Operation status code; SUCCESS: success, INVALID_SIGNATURE: invalid signature, INTERNAL_ERROR: internal error, INVALID_DATA: invalid data, INVALID_OPERATION: invalid operation, PARTIAL_SUCCEED: partial success |
| message |
string |
N |
N |
Message |
| results |
object |
Y |
Y |
Batch item processing result |
| └ index |
int |
N |
N |
Sequence number of the item in the request list, starting from 1 |
| └ sku |
string |
N |
N |
Item code; if the parameter does not contain sku, this field is empty |
| └ success |
boolean |
N |
N |
Operation result. true indicates success, and false indicates failure |
| └ operation |
string |
N |
N |
Actual operation performed; CREATE: create, UPDATE: update, NONE: not executed |
| └ info |
string |
N |
N |
Message |
2.1.5. Response Example
JSON
{
"success": true,
"code": "SUCCESS",
"message": "",
"results": [
{
"index": 1,
"sku": "SKU001",
"success": true,
"operation": "CREATE",
"info": ""
}
]
}
2.2. Query Item API
2.2.1. SERVICE_TYPE
GLINK_QUERY_ITEM_NOTIFY
2.2.2. Request Parameters
Query item request
| Parameter |
Type |
List |
Required |
Description |
| customerCode |
string |
N |
Y |
Customer code |
| skus |
string |
Y |
N |
Item code; up to 100 codes can be queried by item code. When empty, one complete creation time range or update time range must be provided, and page and pageSize are required |
| createdTimeFrom |
string |
N |
N |
Creation time from, format yyyy-MM-dd HH:mm:ss; when item code is empty, at least one creation time range or update time range must be provided |
| createdTimeTo |
string |
N |
N |
Creation time to, format yyyy-MM-dd HH:mm:ss; when item code is empty, at least one creation time range or update time range must be provided |
| updatedTimeFrom |
string |
N |
N |
Update time from, format yyyy-MM-dd HH:mm:ss; when item code is empty, at least one creation time range or update time range must be provided |
| updatedTimeTo |
string |
N |
N |
Update time to, format yyyy-MM-dd HH:mm:ss; when item code is empty, at least one creation time range or update time range must be provided |
| status |
string |
N |
N |
Item status; Active: enabled, Inactive: disabled |
| page |
int |
N |
N |
Current page number; required when item code is empty and must be greater than 0 |
| pageSize |
int |
N |
N |
Records per page; required when item code is empty and must be greater than 0 and less than or equal to 200 |
| partnerId |
string |
N |
N |
Partner ID |
2.2.3. Request Example
JSON
{
"customerCode": "CUSTOMER001",
"skus": [
"SKU001",
"SKU002"
],
"status": "Active",
"partnerId": "GLINK"
}
2.2.4. Response Parameters
| Parameter |
Type |
List |
Required |
Description |
| success |
boolean |
N |
Y |
Operation result. true indicates success, and false indicates failure |
| code |
string |
N |
N |
Operation status code; possible values: SUCCESS, INVALID_SIGNATURE, INTERNAL_ERROR, INVALID_DATA, INVALID_OPERATION, PARTIAL_SUCCEED |
| message |
string |
N |
N |
Message |
| total |
long |
N |
N |
Total records |
| itemList |
object |
Y |
N |
Item information list; when querying by item code without pagination parameters, each SKU that is not found returns a failed result |
| └ success |
boolean |
N |
N |
Query result for a single item; true for a successful item, false for a SKU that is not found |
| └ code |
string |
N |
N |
Status code for a single item; SUCCESS for a successful item, FAIL for a SKU that is not found |
| └ message |
string |
N |
N |
Message for a single item |
| └ customerCode |
string |
N |
N |
Customer code |
| └ sku |
string |
N |
N |
Item code |
| └ description |
string |
N |
N |
Item description |
| └ category |
string |
N |
N |
Cargo category |
| └ brand |
string |
N |
N |
Cargo brand |
| └ status |
string |
N |
N |
Item status; Active: enabled, Inactive: disabled |
| └ countryOfOrigin |
string |
N |
N |
Item country of origin, using a two-letter country code, for example US or CN |
| └ shelfLife |
int |
N |
N |
Item shelf life |
| └ shelfLifeUnit |
string |
N |
N |
Shelf life unit; business-defined values: DAY, MONTH, YEAR |
| └ hsCode |
string |
N |
N |
HS code |
| └ batteryFlag |
boolean |
N |
N |
Whether it contains batteries |
| └ hazmatFlag |
boolean |
N |
N |
Whether it is hazardous material |
| └ liquidFlag |
boolean |
N |
N |
Whether it is liquid |
| └ fragileFlag |
boolean |
N |
N |
Whether it is fragile |
| └ careMfgDate |
boolean |
N |
N |
Whether manufacturing date is controlled |
| └ careExpDate |
boolean |
N |
N |
Whether expiration date is controlled |
| └ careBatch |
boolean |
N |
N |
Whether batch is controlled |
| └ careOriginCountry |
boolean |
N |
N |
Whether country of origin is controlled |
| └ requireSerialNumber |
boolean |
N |
N |
Whether serial number is controlled |
| └ packagingList |
object |
Y |
N |
Packaging node; successful items are always assembled with three packaging nodes: EA, INP, and CS |
| └ unit |
string |
N |
N |
Packaging unit; EA: each item package, INP: inner package, CS: case package |
| └ pcsQty |
int |
N |
N |
Package quantity; usually empty for the EA node, and returned for INP/CS nodes |
| └ length |
double |
N |
N |
Length |
| └ width |
double |
N |
N |
Width |
| └ height |
double |
N |
N |
Height |
| └ weight |
double |
N |
N |
Weight |
| └ dimensionUnit |
string |
N |
N |
Dimension unit; Inch/inch: inch, cm/centimeter: centimeter |
| └ weightUnit |
string |
N |
N |
Weight unit; KG: kilogram, LB: pound |
| └ overpackRequired |
boolean |
N |
N |
Whether repackaging is required; true means the item must be repacked for shipment, and false means it can be shipped in the original carton |
| └ imageUrl |
string |
N |
N |
Image URL |
| └ recommendPackagingMaterial |
string |
N |
N |
Recommended packaging material code |
| └ barcodeList |
object |
Y |
N |
Item barcode node; only nodes with a non-empty barcode are returned |
| └ unit |
string |
N |
N |
Packaging unit; EA: each item package, INP: inner package, CS: case package |
| └ barcode |
string |
N |
N |
Item barcode |
| └ udf1 |
string |
N |
N |
User-defined field1 |
| └ udf2 |
string |
N |
N |
User-defined field2 |
| └ udf3 |
string |
N |
N |
User-defined field3 |
| └ udf4 |
string |
N |
N |
User-defined field4 |
2.2.5. Response Example
JSON
{
"success": true,
"code": "SUCCESS",
"message": "",
"total": 2,
"itemList": [
{
"success": true,
"code": "SUCCESS",
"message": "",
"customerCode": "CUSTOMER001",
"sku": "SKU001",
"description": "测试商品",
"category": "GENERAL",
"brand": "BEST",
"status": "Active",
"countryOfOrigin": "CN",
"shelfLife": 365,
"shelfLifeUnit": "DAY",
"hsCode": "1234567890",
"batteryFlag": false,
"hazmatFlag": false,
"liquidFlag": false,
"fragileFlag": false,
"careMfgDate": false,
"careExpDate": false,
"careBatch": false,
"careOriginCountry": false,
"requireSerialNumber": false,
"packagingList": [
{
"unit": "EA",
"length": 10.0,
"width": 8.0,
"height": 5.0,
"weight": 0.5,
"dimensionUnit": "cm",
"weightUnit": "KG",
"overpackRequired": false,
"imageUrl": "https://example.com/sku001.jpg",
"recommendPackagingMaterial": "PKG-EA-001"
},
{
"unit": "INP",
"pcsQty": 10,
"length": 30.0,
"width": 20.0,
"height": 15.0,
"weight": 3.0,
"dimensionUnit": "cm",
"weightUnit": "KG",
"overpackRequired": false,
"imageUrl": "https://example.com/sku001.jpg",
"recommendPackagingMaterial": "PKG-INP-001"
},
{
"unit": "CS",
"pcsQty": 20,
"length": 50.0,
"width": 40.0,
"height": 30.0,
"weight": 10.0,
"dimensionUnit": "cm",
"weightUnit": "KG",
"overpackRequired": false,
"imageUrl": "https://example.com/sku001.jpg",
"recommendPackagingMaterial": "PKG-CS-001"
}
],
"barcodeList": [
{
"unit": "EA",
"barcode": "6900000000011"
},
{
"unit": "INP",
"barcode": "6900000000028"
},
{
"unit": "CS",
"barcode": "6900000000035"
}
],
"udf1": "自定义字段1",
"udf2": "自定义字段2",
"udf3": "自定义字段3",
"udf4": "自定义字段4"
},
{
"success": false,
"code": "FAIL",
"message": "not found!",
"sku": "SKU002"
}
]
}