Temu Get Products
Version | Date | Created / Updated | Notes |
---|---|---|---|
v1.0 | 20.02.2025 | Bogomil | First publish |
v1.1 | 22.04.2025 | Bogomi | Remove Price Mapping and additional mappings |
All triggers, validations etc are as per the abstraction - Get Products General Requirements <v1.1> apart from the validation of the price.</v1.1> Also since on Temu the SKU is not mandatory in the log which we are generating after each product get we want to add the Temu SKUid since we wont have SKUs. Such products will be skipped and not imported in the system.
Get Products
API Call : POST https://openapi-b-eu.temu.com/openapi/router
API Name: bg.local.goods.list.query
Body:{ "goodsStatusFilterType":"1”, "pageSize":”100”, ”pageNo”:”1”
}
goodsStatusFilterType
- Indicates to get all Active and Inactive products and we want it hardcoded as “1”
pageSize
- By default we want to get 100 products per page
pageNo
- Used for pagination
Sample Request:
"goodsStatusFilterType":"1"
Sample Response:
{
"result": {
"total": 201,
"pageNo": 1,
"goodsList": [
{
"marketPrice": null,
"goodsId": 603861846704231,
"outSkuSnList": [
"154241-d3l805lmhl40-221",
"154241-d3l805l0q4hv-231",
"154241-d3l805lcfjwd-241",
"154241-d3l805lzk6nc-261",
"154241-d3l80ps2b3f6-251"
],
"crtTime": 1740130718429,
"goodsShowSubStatus": 3001,
"skuInfoList": [
{
"specList": [
{
"specId": 76433942,
"parentSpecId": 18012
},
{
"specId": 105392057,
"parentSpecId": 17017
}
],
"skuId": 58087285205154,
"skuSn": "154241-d3l805lmhl40-221"
},
{
"specList": [
{
"specId": 76433942,
"parentSpecId": 18012
},
{
"specId": 77233170,
"parentSpecId": 17017
}
],
"skuId": 58396522852810,
"skuSn": "154241-d3l805l0q4hv-231"
},
{
"specList": [
{
"specId": 76433942,
"parentSpecId": 18012
},
{
"specId": 81381938,
"parentSpecId": 17017
}
],
"skuId": 67149666199324,
"skuSn": "154241-d3l805lcfjwd-241"
},
{
"specList": [
{
"specId": 76433942,
"parentSpecId": 18012
},
{
"specId": 81387246,
"parentSpecId": 17017
}
],
"skuId": 67673652233321,
"skuSn": "154241-d3l805lzk6nc-261"
},
{
"specList": [
{
"specId": 76433942,
"parentSpecId": 18012
},
{
"specId": 77233169,
"parentSpecId": 17017
}
],
"skuId": 67811091157374,
"skuSn": "154241-d3l80ps2b3f6-251"
}
],
"outGoodsSn": "154241-d3l8o80qcemp-221",
"price": 0.0,
"currency": "EUR",
"thumbUrl": "https://img-eu.kwcdn.com/local-goods-img/oPYYYoYscWCLtLbLNdsA.jpeg",
"goodsName": "eu-car-4",
"skuIdList": [
58087285205154,
58396522852810,
67149666199324,
67673652233321,
67811091157374
],
"status4VO": 3,
"quantity": 0,
"subStatus4VO": 12,
"shipmentLimitSecond": 172800,
"costTemplateId": "LFT-11890564721090580186",
"catId": 54009,
"specName": "",
"trademarkId": null,
"brandId": null,
"retailPrice": {
"amount": "0.00",
"currency": "EUR"
},
"listPrice": null
}
"pageNo": 1
},
"success": true,
"requestId": "eu-6079360d-dd7d-4fd6-a853-781f777703dc",
"errorCode": 1000000,
"errorMsg": ""
}
Response Mapping
Temu Field | Hemi Field | Comment | ||||
---|---|---|---|---|---|---|
result |
||||||
total |
N/A | |||||
pageNo |
N/A | Indicates the current page | ||||
goodsList |
||||||
marketPrice |
||||||
goodsId |
Listing > Channel Item Id |
AND
Listing > Variation Group | If we have specList
this means the product is a variation and we want to add the goodsId as Variation Group as well |
| | | outSkuSnList
| | | N/A | |
| | | crtTime
| | | N/A | |
| | | goodsShowSubStatus
| | | N/A | |
| | | skuInfoList
| | | | |
| | | | specList
| | | If we have a specList this means this product is a Variation group.
All Variation Specifics are listing in the Spec List |
| | | | | specId
| N/A | |
| | | | | parentSpecId
| N/A | |
| | | | skuId
| | Listing Temu > SKU Id | |
| | | | skuSn
| | Product > SKU | |
| | | outGoodsSn
| | | N/A | |
| | | price
| | | N/A | <v1.1> we do not want to store the prices with this call</v1.1> |
| | | currency
| | | Listing > Currency | |
| | | thumbUrl
| | | Product > Main Image
AND
Listing Temu > Main Image | Listing Temu > Main Image - new field |
| | | goodsName
| | | Product > Title
AND
Listing > Title
AND
Listing > Description | |
| | | skuIdList
| | | N/A | |
| | | status4VO
| | | N/A | |
| | | quantity
| | | N/A | Based on the quantity we will decide if we have Active or Inactive Listing > Listing Status |
| | | subStatus4VO
| | | N/A | |
| | | shipmentLimitSecond
| | | N/A | |
| | | costTemplateId
| | | N/A | |
| | | catId
| | | Listing > Primary Category ID | We want to use the taxonomy to map the category id and store the category path |
| | | specName
| | | N/A | |
| | | trademarkId
| | | N/A | |
| | | brandId
| | | Product > Brand
AND
Listing > Item Attribute | <v1.1>We want to map the brandID against the vid |
| | | retailPrice
| | | | |
| | | | amount
| | N/A | |
| | | | currency
| | N/A | |
| | | listPrice
| | | N/A | |
Apart from the mapping we will have to set as default also some of the internal fields because we are not receiving them from the marketplace.
Hemi Field | Default Value |
---|---|
Listing > Listing Status | Based on the quantity level either Active or Inactive |
Listing > Product Status | Product Published |
Listing > Dispatch Time Max | -1 |
Listing > Immediate Payment | Yes |
Listing > VAT | -1 |
<v1.1>Product>CondtionID | New (with tags)</v1.1> |
Sample Empty Response:
{
"result": null,
"success": true,
"requestId": "eu-f2f06605-6369-4633-8f6b-b1c809eb89df",
"errorCode": 1000000,
"errorMsg": ""
}
Sample Error Response:
{
"success": false,
"requestId": "eu-d280b704-e6eb-46a8-8ab0-12db9349205b",
"errorCode": 4000006,
"errorMsg": "parameters type is error, please check your input parameters."
}
It is almost impossible to receive an error but even if we do, we want to return it in the terminal