# 05. Shopping

# About platform logistics order process, please refer to the Documentation

# 1 Order

# 1.1 Create Order V2(POST)

  • Create order
  • payType=1 or omitted: page payment (default), and cjPayUrl will be returned
  • payType=2: balance payment, and the order will continue through add-to-cart, order confirmation, and balance deduction
  • payType=3: create the order only without initiating payment, add-to-cart, or order confirmation
  • Add param platformToken to header, The way to obtain platformToken is the same as the way to obtain CJ Access Token. If not required, the value can be empty. (2025-01-08 update)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/createOrderV2

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/createOrderV2' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'platformToken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "orderNumber": "1234",
                    "shippingZip": "123",
                    "shippingCountry": "123",
                    "shippingCountryCode": "US",
                    "shippingProvince": "123",
                    "shippingCity": "132",
                    "shippingCounty": "",
                    "shippingPhone": "111",
                    "shippingCustomerName": "123213",
                    "shippingAddress": "123213",
                    "shippingAddress2": "123213",
                    "taxId": "123",
                    "remark": "note",
                    "email": "",
                    "consigneeID": "",
                    "payType": "",
                    "shopAmount": "",
                    "logisticName": "PostNL",
                    "fromCountryCode": "CN",
                    "houseNumber": "123",
                    "iossType": "",
                    "platform": "shopify",
                    "iossNumber": "",
                    "shopLogisticsType": 1,
                    "storageId": "201e67f6ba4644c0a36d63bf4989dd70",
                    "orderFlow": 1,
                    "products": [
                        {
                            "vid": "92511400-C758-4474-93CA-66D442F5F787",
                            "quantity": 1,
                            "storeLineItemId": "test-lineItemId-1111"
                        }
                    ]
                }'
Parameter Definition Type Required Length Note
orderNumber A unique identifier for the order from CJ partner. string Y 50
shippingZip Zip of destination string N 20
shippingCountryCode Country code of destination string Y 20 Referer:Country Code, Please use The two-letter code
shippingCountry Country of destination string Y 50
shippingProvince Province of destination string Y 50
shippingCity City of destination string Y 50
shippingCounty County of destination String N 50
shippingPhone Phone number of destination string N 20
shippingCustomerName Customer name string Y 50
shippingAddress Shipping address of destination string Y 200
shippingAddress2 Shipping address 2 of destination string N 200
houseNumber House Number String N 20
email Email String N 50
taxId Tax Id string N 20
remark Order remark string N 500
consigneeID consignee id string N 20
payType Payment type int N 10 Options: 1=Page payment (default, returns cjPayUrl), 2=Balance payment, 3=Create order only without payment
isSandbox Is sandbox order integer N 1 Default 0. 0-normal order; 1-sandbox order. Regardless of payType value, sandbox orders will automatically use fake/simulated payment and will not generate real charges, real logistics, or fulfillment
shopAmount Order Amount BigDecimal N 20
logisticName logistic name string Y 50 Referer Freight Calculation
fromCountryCode Country code of the shipment from string Y 20 Referer:Country Code, Please use The two-letter code
platform Platform, Default: Api String N 20 If this parameter is not passed, the default platform Api will be used. Referer Platforms
iossType IOSS Type int N 20 IOSS Type, Options: 1=No IOSS(The recipient will be required to pay VAT and other related fees when the order is declared without IOSS.), 2=Declare with my own IOSS(Please ensure that the IOSS provided is valid and is linked to the destination country in the EU. The declaration will proceed without IOSS if the destination country is not linked to a correct IOSS.), 3=Declare with CJ’s IOSS(Declaration with your store order amount is recommended. You will be responsible for the relevant risks if you choose to declare with CJ order amount. CJ’s IOSS is not applicable for orders valued above €150, and the recipient will be required to pay VAT.), Config Page (opens new window)
shopLogisticsType Shipping mode, default value: 2 int N 20 Shipping type, Options: 1=Platform Logistics (storageId specified by you, required. When choosing platform logistics mode, the warehouse will start operation after uploading the shipping label. Please upload the shipping label in a timely manner, Upload Shipping and Shipping Label), 2=Seller Logistics (storageId will not be used), 3=Platform Logistics (storageId specified by CJ). If no requirement, please use 2=merchant logistics. Launched on 2025-11-18
storageId CJ warehouse ID String N 40 This value is valid when shopLogisticsType=1, Launched on 2025-11-18
iossNumber IOSS Number String N 10 If iossType=3, the value is fixed to CJ-IOSS
storeName Store name String N 50 If provided, the system will validate that the store name matches an API store in CJ system. If not provided, the order will be assigned to the default API store
storeOrderTime Store order time Long N 20 Timestamp in seconds. Represents the actual order creation time in the customer's store. If the time is later than the current system time, an error will be returned
orderFlow Order flow type, default value: 1 int N 10 Order flow type. Options: 1=Manual order flow (create order using CJ variants, default), 2=Store order flow (supports creating orders using store SKUs, requires Store Product linked to CJ products in My CJ). Launched on 2025-05-19
products List Y 20
- vid CJ variant id string N 50 vid and sku cannot both be null. When vid is missing, sku will be used to query the CJ variant. If both are provided, they must refer to the same variant and will be validated accordingly. If the customer account has been granted permission to submit non-CJ SKUs, then the vid field is required
- sku CJ variant sku string N 50 vid and sku cannot both be null. When vid is missing, sku will be used to query the CJ variant. If both are provided, they must refer to the same variant and will be validated accordingly.
- quantity quantity int Y 50
- unitPrice item pricing BigDecimal N 20
- storeLineItemId lineItemId of your store order string N 125
- podProperties POD customization information String N 500 podProperties is a string,1:Pod2.0 Example: [{"areaName":"LogoArea","links":["https://cc-west-usa.oss-us-west-1.aliyuncs.com/9f0b99e6-17ec-4dcd-8916-fc5d644be993_LOGO_NavyBlue.png"],"type":"1"}]
2:Pod3.0 Example:[{"links": ["Production image URL (multiple allowed)"],"effectImgs": ["Rendering image URL (exactly one required)"]}]

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "orderNumber": "",
        "orderId": "123434",
        "shipmentOrderId": "",
        "iossAmount":  "",
        "iossTaxHandlingFee": "",
        "postageAmount":  "",
        "productAmount": "",
        "productOriginalAmount": "",
        "productDiscountAmount": "",
        "postageDiscountAmount": "",
        "postageOriginalAmount": "",
        "totalDiscountAmount": "",
        "actualPayment": "",
        "orderOriginalAmount": "",
        "cjPayUrl": "",
        "orderAmount": "",
        "logisticsMiss": "",
        "productInfoList": [
            {
                "storeLineItemId": "test-lineItemId-1111",
                "lineItemId": "",
                "variantId": "",
                "isGroup": true,
                "quantity":10,
                "subOrderProducts": [
                    {
                        "lineItemId": "",
                        "variantId": "",
                        "quantity": 1
                    }
                ]
            }
        ],
        "orderStatus": "",
        "interceptOrderReasons": [
            {
                "code": 1001,
                "message": ""
            }
        ]
    },
    "requestId": "9eddf3f5-bd3d-4fae-a4f2-028cbb90db97",
    "success": true
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

data information

Field Definition Type Length Note
orderId CJ order id string 200 If the provided product VID is not a CJ SKU, the order id will change, and thus the CJ order id will not be returned. You can monitor the webhook to obtain the latest CJ order id
orderNumber orderNumber string 200
shipmentOrderId shipment order id string 200
iossAmount ioss amount BigDecimal (18,2) Unit: $ (USD)
iossTaxHandlingFee ioss tax BigDecimal (18,2) Unit: $ (USD)
postageAmount postage amount BigDecimal (18,2) Unit: $ (USD)
productAmount product amount BigDecimal (18,2) Unit: $ (USD)
productOriginalAmount total amount of products (before discount) BigDecimal (18,2) Unit: $ (USD)
productDiscountAmount product discount amount BigDecimal (18,2) Unit: $ (USD)
postageDiscountAmount postage discount amount BigDecimal (18,2) Unit: $ (USD)
postageOriginalAmount postage amount (before discount) BigDecimal (18,2) Unit: $ (USD)
totalDiscountAmount the total amount of the order after discount BigDecimal (18,2) Unit: $ (USD)
actualPayment the amount actually paid BigDecimal (18,2) Unit: $ (USD)
orderOriginalAmount original order amount BigDecimal (18,2) Unit: $ (USD)
cjPayUrl CJ pay url string 200
orderAmount order amount BigDecimal 200
logisticsMiss logistics missing mark Boolean 10
orderStatus Order status string 10 Referer Order Status
productInfoList product information list
interceptOrderReasons order interception information list

product information

Field Definition Type Length Note
storeLineItemId lineItemId of your store order string 125
lineItemId lineItemId of CJ order string 50
variantId variant id string 50
quantity quantity int 20
isGroup Main product label boolean 10
subOrderProducts combination product list 10
- lineItemId Unique ID of the order item in CJ string 50
- variantId variant id string 50
- quantity quantity int 20

Order interception information

Field Definition Type Length Note
code code int 50
message message string 200

error

{
   "code": 1600100,
   "result": false,
   "message": "Param error",
   "data": null,
   "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.2 Create Order V3(POST)

  • Create order
  • Add param platformToken to header, The way to obtain platformToken is the same as the way to obtain CJ Access Token. If not required, the value can be empty. (2025-01-08 update)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/createOrderV3

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/createOrderV3' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'platformToken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "orderNumber": "1234",
                    "shippingZip": "123",
                    "shippingCountry": "123",
                    "shippingCountryCode": "US",
                    "shippingProvince": "123",
                    "shippingCity": "132",
                    "shippingCounty": "",
                    "shippingPhone": "111",
                    "shippingCustomerName": "123213",
                    "shippingAddress": "123213",
                    "shippingAddress2": "123213",
                    "taxId": "123",
                    "remark": "note",
                    "email": "",
                    "consigneeID": "",
                    "shopAmount": "",
                    "logisticName": "PostNL",
                    "fromCountryCode": "CN",
                    "houseNumber": "123",
                    "iossType": "",
                    "platform": "shopify",
                    "iossNumber": ""
                    "shopLogisticsType": 1,
                    "storageId": "201e67f6ba4644c0a36d63bf4989dd70",
                    "orderFlow": 1,
                    "products": [
                        {
                            "vid": "92511400-C758-4474-93CA-66D442F5F787",
                            "quantity": 1,
                            "storeLineItemId": "test-lineItemId-1111"
                        }
                    ]
                }'
Parameter Definition Type Required Length Note
orderNumber A unique identifier for the order from CJ partner. string Y 50
shippingZip Zip of destination string N 20
shippingCountryCode Country code of destination string Y 20 Referer:Country Code, Please use The two-letter code
shippingCountry Country of destination string Y 50
shippingProvince Province of destination string Y 50
shippingCity City of destination string Y 50
shippingCounty County of destination String N 50
shippingPhone Phone number of destination string N 20
shippingCustomerName Customer name string Y 50
shippingAddress Shipping address of destination string Y 200
shippingAddress2 Shipping address 2 of destination string N 200
houseNumber House Number String N 20
email Email String N 50
taxId Tax Id string N 20
remark Order remark string N 500
consigneeID consignee id string N 20
shopAmount Order Amount BigDecimal N 20
logisticName logistic name string Y 50 Referer Freight Calculation
fromCountryCode Country code of the shipment from string Y 20 Referer:Country Code, Please use The two-letter code
platform Platform, Default: Api String N 20 If this parameter is not passed, the default platform Api will be used. Referer Platforms
iossType IOSS Type int N 20 IOSS Type, Options: 1=No IOSS(The recipient will be required to pay VAT and other related fees when the order is declared without IOSS.), 2=Declare with my own IOSS(Please ensure that the IOSS provided is valid and is linked to the destination country in the EU. The declaration will proceed without IOSS if the destination country is not linked to a correct IOSS.), 3=Declare with CJ’s IOSS(Declaration with your store order amount is recommended. You will be responsible for the relevant risks if you choose to declare with CJ order amount. CJ’s IOSS is not applicable for orders valued above €150, and the recipient will be required to pay VAT.), Config Page (opens new window)
iossNumber IOSS Number String N 10 If iossType=3, the value is fixed to CJ-IOSS
shopLogisticsType Shipping mode, default value: 2 int N 20 Shipping type, Options: 1=Platform Logistics (storageId specified by you, required. When choosing platform logistics mode, the warehouse will start operation after uploading the shipping label. Please upload the shipping label in a timely manner, Upload Shipping and Shipping Label), 2=Seller Logistics (storageId will not be used), 3=Platform Logistics (storageId specified by CJ). If no requirement, please use 2=merchant logistics. Launched on 2025-11-18
storageId CJ warehouse ID String N 40 This value is valid when shopLogisticsType=1, Added on 2025-11-18
storeName Store name String N 50 If provided, the system will validate that the store name matches an API store in CJ system. If not provided, the order will be assigned to the default API store
storeOrderTime Store order time Long N 20 Timestamp in seconds. Represents the actual order creation time in the customer's store. If the time is later than the current system time, an error will be returned
orderFlow Order flow type, default value: 1 int N 10 Order flow type. Options: 1=Manual order flow (create order using CJ variants, default), 2=Store order flow (supports creating orders using store SKUs, requires Store Product linked to CJ products in My CJ). Launched on 2025-05-19
isSandbox Is sandbox order integer N 1 Default 0. 0-normal order; 1-sandbox order. Regardless of payType value, sandbox orders will automatically use fake/simulated payment and will not generate real charges, real logistics, or fulfillment
products List Y 20
- vid CJ variant ID string N 50 vid and sku cannot both be null. When vid is missing, sku will be used to query the CJ variant. If both are provided, they must refer to the same variant and will be validated accordingly. If the customer account has been granted permission to submit non-CJ SKUs, then the vid field is required
- sku CJ variant sku string N 50 vid and sku cannot both be null. When vid is missing, sku will be used to query the CJ variant. If both are provided, they must refer to the same variant and will be validated accordingly.
- quantity quantity int Y 50
- unitPrice item pricing BigDecimal N 20
- storeLineItemId lineItemId of your store order string N 125
- podProperties POD customization information String N 500 podProperties is a string,1:Pod2.0 Example: [{"areaName":"LogoArea","links":["https://cc-west-usa.oss-us-west-1.aliyuncs.com/9f0b99e6-17ec-4dcd-8916-fc5d644be993_LOGO_NavyBlue.png"],"type":"1"}]
2:Pod3.0 Example:[{"links": ["Production image URL (multiple allowed)"],"effectImgs": ["Rendering image URL (exactly one required)"]}]

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "orderNumber": "",
        "orderId": "123434',
        "shipmentOrderId": "",
        "iossAmount": ,
        "iossTaxHandlingFee": ,
        "iossAmount": ,
        "postageAmount": ,
        "productAmount": "",
        "productOriginalAmount": "",
        "productDiscountAmount": "",
        "postageDiscountAmount": "",
        "postageOriginalAmount": "",
        "totalDiscountAmount": "",
        "actualPayment": "",
        "orderOriginalAmount": "",
        "cjPayUrl": "",
        "orderAmount": "",
        "logisticsMiss": "",
        "productInfoList": [
            {
                "storeLineItemId": "test-lineItemId-1111",
                "lineItemId": "",
                "variantId": "",
                "isGroup": true,
                "quantity":10,
                "subOrderProducts": [
                    {
                        "lineItemId": "",
                        "variantId": "",
                        "quantity": ""
                    }
                ]
            }
        ],
        "orderStatus": "",
        "interceptOrderReasons": [
            {
                "code": 1001,
                "message": ""
            }
        ]
    },
    "requestId": "9eddf3f5-bd3d-4fae-a4f2-028cbb90db97"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

data information

Field Definition Type Length Note
orderId CJ order id string 200 If the provided product VID is not a CJ SKU, the order id will change, and thus the CJ order id will not be returned. You can monitor the webhook to obtain the latest CJ order id
orderNumber customer order number string 200
shipmentOrderId shipment order id string 200
iossAmount ioss amount BigDecimal (18,2) Unit: $ (USD)
iossTaxHandlingFee ioss tax BigDecimal (18,2) Unit: $ (USD)
postageAmount postage amount BigDecimal (18,2) Unit: $ (USD)
productAmount product amount BigDecimal (18,2) Unit: $ (USD)
productOriginalAmount total amount of products (before discount) BigDecimal (18,2) Unit: $ (USD)
productDiscountAmount product discount amount BigDecimal (18,2) Unit: $ (USD)
postageDiscountAmount postage discount amount BigDecimal (18,2) Unit: $ (USD)
postageOriginalAmount postage amount (before discount) BigDecimal (18,2) Unit: $ (USD)
totalDiscountAmount the total amount of the order after discount BigDecimal (18,2) Unit: $ (USD)
actualPayment the amount actually paid BigDecimal (18,2) Unit: $ (USD)
orderOriginalAmount original order amount BigDecimal (18,2) Unit: $ (USD)
cjPayUrl CJ pay url string 200
orderAmount order amount BigDecimal 200
logisticsMiss logistics missing mark Boolean 10
orderStatus order status string 10 Referer Order Status
productInfoList product information list
interceptOrderReasons order interception information list

product information

Field Definition Type Length Note
storeLineItemId lineItemId of your store order String 125
lineItemId Unique ID of the order item in CJ string 50
variantId variant id string 50
quantity quantity int 20
isGroup Main product label boolean 10
subOrderProducts combination product list 10
- lineItemId Unique ID of the order item in CJ string 50
- variantId CJ variant id string 50
- quantity quantity int 20

Order interception information

Field Definition Type Length Note
code code int 50
message message string 200

error

{
   "code": 1600100,
   "result": false,
   "message": "Param error",
   "data": null,
   "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.3 Add Cart

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/addCart

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/addCart' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "cjOrderIdList": ["SD25080109282603297001"]
                }'
Parameter Definition Type Required Length Note
cjOrderIdList CJ order id List Y 200 Query

# Return

success

{
    "success": true,
    "code": 200,
    "message": "Congratulation! Well done!",
    "data": {
        "successCount": 1,
        "addSuccessOrders": [
            "SD25080109282603297001"
        ],
        "unInterceptAddressCount": 0,
        "interceptOrders": []
    }
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

error

{
    "code": 1603001,
    "result": false,
    "message": "order confirm fail",
    "data": null,
    "requestId": "7dc61955-c0e8-4731-bb9b-393b4fffeaaf"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.4 Add Cart Confirm (POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/addCartConfirm

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/addCartConfirm' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "cjOrderIdList": ["SD25080109282603297001"]
                }'
Parameter Definition Type Required Length Note
cjOrderIdList CJ order id List Y 200 Query

# Return

success

{
    "success": true,
    "code": 200,
    "message": "Congratulation! Well done!",
    "data": {
        "successCount": 1,
        "submitSuccess": true,
        "shipmentsId": "",
        "result": 0,
        "interceptOrders": []
    }
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
- successCount Success Count
- submitSuccess Is the submission successful
- shipmentsId Shipment Order Id
- result
- interceptOrders Intercepted order ID List List
requestId requestId string 48 Flag request for logging errors

error

{
    "code": 1603001,
    "result": false,
    "message": "order confirm fail",
    "data": null,
    "requestId": "7dc61955-c0e8-4731-bb9b-393b4fffeaaf"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.5 Save Generate Parent Order(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/saveGenerateParentOrder

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/saveGenerateParentOrder' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "shipmentOrderId": "SD25080109282603297001"
                }'
Parameter Definition Type Required Length Note
shipmentOrderId Shipment Order Id string Y 200 Query

# Return

success

{
  "success": true,
  "message": "",
  "data": {
    "orderMoney": 99.99,
    "payExpireTime": "2024-12-31 23:59:59",
    "payId": "PAY123456789",
    "result": 0,
    "submitSuccess": true,
    "unMatchOrderCodes": ["ORDER001", "ORDER002"],
    "successOrders": ["ORDER003", "ORDER004"],
    "unMatchProductCodes": ["PROD001", "PROD002"],
    "paymentInformation": {
      "actualPayment": 89.99,
      "balanceDeduction": 10.00,
      "billAmount": 12.50,
      "canDeduct": true,
      "commodityDiscount": 5.00,
      "commodityTotalAmount": 94.99,
      "couponAmount": 15.00,
      "freight": 5.00,
      "iossAmount": 2.50,
      "iossNumber": "IOSS123456",
      "iossTaxHandlingFee": 0.50,
      "iossTaxes": 2.00,
      "iossType": 3,
      "orderOriginalAmount": 104.99,
      "orderProductAmount": 94.99,
      "payableAmount": 89.99,
      "postageDiscount": 0.00,
      "serviceFee": 1.00
    },
    "interceptOrders": [
    ]
  }
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

error

{
    "code": 1603001,
    "result": false,
    "message": "order confirm fail",
    "data": null,
    "requestId": "7dc61955-c0e8-4731-bb9b-393b4fffeaaf"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.6 List Order(GET)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/list?pageNum=1&pageSize=10

# CURL

curl --location --request GET 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/list?pageNum=1&pageSize=10' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Parameter Definition Type Required Length Note
pageNum Page number int N 20 Default 1
pageSize Quantity of results on each page int N 20 Default 20
orderIds order id string[] N 100
shipmentOrderId Shipment Order Id string N 100
status order status string N 200 default: CANCELLED, values: CREATED,IN_CART,UNPAID,UNSHIPPED,SHIPPED,DELIVERED,CANCELLED,OTHER

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "pageNum": 1,
        "pageSize": 10,
        "total": 6859,
        "list": [
            {
                "orderId": "1377085655003308032",
                "orderNum": "50166125936666",
                "cjOrderId": null,
                "shippingCountryCode": "SG",
                "shippingProvince": "Singapore",
                "shippingCity": "Singapore",
                "shippingPhone": "6587997352",
                "shippingAddress": "Singapore,07  Anson  Tanjong  Pagar,79 ANSON ROAD,79 Anson Road #01-01, Phoenix Tower",
                "shippingCustomerName": "KUDO KANJI ",
                "remark": "",
                "orderWeight": 0,
                "orderStatus": "CREATED",
                "orderAmount": null,
                "productAmount": 0,
                "postageAmount": null,
                "logisticName": null,
                "trackNumber": null,
                "createDate": "2021-03-31 00:46:39",
                "paymentDate": null,
                "productList": null,
                "storageId": "201e67f6ba4644c0a36d63bf4989dd70",
                "storageName": "Cranbury Warehouse"
            }...
        ]
    }
}        
Field Definition Type Length Note
orderId order id string 200
orderNum order name string 200
cjOrderId CJ order id string 200
shippingCountryCode country code string 200
shippingProvince province string 200
shippingCity city string 200
shippingAddress shipping address string 200
shippingCustomerName shipping name string Y 200
shippingPhone phone number string 200
remark order remark string 500
logisticName logistic name string 200
trackNumber track number string 200
trackingUrl tracking URL string N 200
orderWeight order weight int 20
orderAmount order amount BigDecimal (18,2) Unit: $ (USD)
orderStatus order status string 200 Referer Order Status
createDate create time string 200
paymentDate pay time string 200
storeCreateDate Store order creation time DateTime 1 UTC Time, eg: 2025-03-14 13:21:07
isSandbox Is sandbox order integer 1 0-no, 1-yes
productAmount product amount BigDecimal (18,2) Unit: $ (USD)
postageAmount postage amount BigDecimal (18,2) Unit: $ (USD)
storageId storage id string 200 Added on 2025-11-18
storageName storage name string 200 Added on 2025-11-18

error

{
   "code": 1600100,
   "result": false,
   "message": "Param error",
   "data": null,
   "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.7 Query Order(GET)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/getOrderDetail?orderId=210711100018043276

# CURL

curl --location --request GET 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/getOrderDetail?orderId=210711100018043276&features=f1&features=f2' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

# Request Parameters

Parameter Definition Type Required Length Note
orderId order id string Y 200 support: Custom order id, CJ order id
features features List<String> false 20 If a feature is passed in, the relevant function will be enabled. If multiple features are required, pass multiple feature parameters

# Feature enumeration

Enumeration Description
LOGISTICS_TIMELINESS Enable querying logistics timeliness. After passing in this feature enumeration, logisticTimelines will be returned in the results

# Response

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "orderId": "210823100016290555",
        "orderNum": "api_52f268d40b8d460e82c0683955e63cc9",
        "platformOrderId": "6387689586969",
        "cjOrderId": null,
        "shippingCountryCode": "US",
        "shippingProvince": "Connecticut",
        "shippingCity": "ftdsr",
        "shippingPhone": "43514123",
        "shippingAddress": "rfdxf rfdesr",
        "shippingCustomerName": "Xu Old",
        "remark": null,
        "orderWeight": 20,
        "orderStatus": "CREATED",
        "orderAmount": 4.25,
        "productAmount": 0.57,
        "postageAmount": 3.68,
        "logisticName": "CJPacket Ordinary",
        "trackNumber": null,
        "createDate": "2021-08-23 11:31:45",
        "paymentDate": null,
        "isComplete":1,
        "fromCountryCode":"CN",
        "storageId": "201e67f6ba4644c0a36d63bf4989dd70",
        "storageName": "Cranbury Warehouse",
        "productList": [
            {
                "vid": "1392053744945991680",
                "quantity": 1,
                "sellPrice": 0.57,
				"podPropertiesInfo": null,
                "lineItemId": "2505170958390976500",
                "storeLineItemId": "16045188153625",
                "productionOrderStatus": 1,
                "abnormalType": [
                    6,
                    9
                ]
            }
        ]
    },
    "requestId": "3adccdcb-d41b-4808-996b-c7c5c833d77d"
}

POD order return information

{
	"code": 200,
	"result": true,
	"message": "Success",
	"data": {
		"orderId": "210823100016290555",
		"orderNum": "api_52f268d40b8d460e82c0683955e63cc9",
		"cjOrderId": null,
		"platformOrderId": "6387689586969",
        "shippingCountryCode": "US",
		"shippingProvince": "Connecticut",
		"shippingCity": "ftdsr",
		"shippingPhone": "43514123",
		"shippingAddress": "rfdxf rfdesr",
		"shippingCustomerName": "Xu Old",
		"remark": null,
		"orderWeight": 20,
		"orderStatus": "CREATED",
		"orderAmount": 4.25,
		"productAmount": 0.57,
		"postageAmount": 3.68,
		"logisticName": "CJPacket Ordinary",
		"trackNumber": null,
		"createDate": "2021-08-23 11:31:45",
		"paymentDate": null,
		"isComplete": 1,
		"fromCountryCode": "CN",
		"storageId": "201e67f6ba4644c0a36d63bf4989dd70",
        "storageName": "Cranbury Warehouse",
		"productList": [
			{
				"vid": "1392053744945991680",
				"quantity": 1,
				"sellPrice": 0.57,
				"lineItemId": "2505170958390976500",
                "storeLineItemId": "16045188153625",
                "productionOrderStatus": 1,
                "abnormalType": [
                    6,
                    9
                ]
				"podPropertiesInfo": {
                    "image": "https://pod-picture.oss-cn.aliyuncs.com/LX/PO-211-12729261699191806-1.jpg",
                    "isFixedCustom": false,
                    "podVersion": 3,
                    "failedList": [],
                    "effectImgList": [
                        "https://pod-picture.oss-cn.aliyuncs.com/LX/PO-211-1.jpg?podThumbnailUrl=https%3A%2F%2Fpod-picture.oss-cn.aliyuncs.com%2Fpod%2F250428%2Fpod-picture_oss-cn-211-12729261699191806-1_jpg.1440x1440.webp&podOriginSize=638820&podOriginPxUrl=https%3A%2F%2Fpod-picture.oss-cn-hangzhou.aliyuncs.com%2Fpod_infinity%2F250428%2Fpod-picture_oss-cn-hangzhou_aliyuncs_com_LX_PO-211-12729261699191806-1_jpg.InfinityxInfinity.webp&podOriginPx=1936_1854&podOriginOss=https%3A%2F%2Fpod-picture.oss-cn-hangzhou.aliyuncs.com%2Fpod_origin%2F250428%2Fpod-picture_oss-cn-hangzhou_aliyuncs_com_LX_PO-211-1_jpg.InfinityxInfinity.jpg"
                    ],
                    "finish": 1,
                    "customResources": [],
                    "type": 5,
                    "customMessgae": {
                        "podType": 1,
                        "color": {},
                        "zone": {
                            "back": {},
                            "front": {}
                        }
                    },
                    "productionImgList": [
                        "https://pod-picture.oss-cn.aliyuncs.com/LX/PO-211-1.jpg?podThumbnailUrl=https%3A%2F%2Fpod-picture.oss.aliyuncs.com%2Fpod%2F250428%2Fpod-picture_oss-cn-hangzhou_aliyuncs_com_LX_PO-211-12729261699191806-1_jpg.1440x1440.webp&podOriginSize=638820&podOriginPxUrl=https%3A%2F%2Fpod-picture.oss-cn-hangzhou.aliyuncs.com%2Fpod_infinity%2F250428%2Fpod-picture_oss-cn-hangzhou_aliyuncs_com_LX_PO-211-12729261699191806-1_jpg.InfinityxInfinity.webp&podOriginPx=1936_1854&podOriginOss=https%3A%2F%2Fpod-picture.oss-cn-hangzhou.aliyuncs.com%2Fpod_origin%2F250428%2Fpod-picture_oss-cn-hangzhou_aliyuncs_com_LX_PO-211-12729261699191806-1_jpg.InfinityxInfinity.jpg"
                    ],
                    "customDesign": [
                        {
                            "img": "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/180af06e-7b7-4662-b975-070203989480.jpg",
                            "areaNameEn": "",
                            "printWidth": "50",
                            "typeName": "",
                            "type": "1",
                            "scaleX": "1",
                            "backImgList": [
                                {
                                    "color": "1pcs",
                                    "imgSrc": "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/00e2483-b3b2-4873-80ac-e71f4d760e1f.jpg"
                                },
                                {
                                    "color": "4pcs",
                                    "imgSrc": "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/0c42181-d63f-49f9-b6d5-d55574027fcb.jpg"
                                },
                                {
                                    "color": "10pcs",
                                    "imgSrc": "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/1ae2f95-5484-4d30-a93f-64bc740832d2.jpg"
                                },
                                {
                                    "color": "16pcs",
                                    "imgSrc": "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/53ce421-33db-4249-8862-f36ad20083b5.jpg"
                                },
                                {
                                    "color": "18pcs",
                                    "imgSrc": "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/245e348-a87b-4196-a3a4-056f6b391301.jpg"
                                }
                            ],
                            "printHeight": "50",
                            "scaleY": "1",
                            "podType": "4",
                            "top": "297.99999928474426",
                            "areaName": "DIY",
                            "left": "253.99999994039536",
                            "areaType": "1",
                            "imgicon": "",
                            "angle": "0",
                            "fontSize": 12,
                            "fontSpace": 0,
                            "sku": ""
                        }
                    ]
                }
			}
		]
	},
	"requestId": "3adccdcb-d41b-4808-996b-c7c5c833d77d"
}
Field Definition Type Length Note
orderId order id string 200
orderNum order name string 200
platformOrderId Shop order ID string 200
cjOrderId CJ order id string 200
cjOrderCode CJ order code string 200
fromCountryCode shipment country code string 200
shippingCountryCode Recipient country code string 200
shippingProvince Recipient province string 200
shippingCity Recipient city string 200
shippingAddress Recipient address string 200
shippingCustomerName Recipient name string 200
shippingPhone Recipient phone number string 200
remark order remark string 500
logisticName logistic name string 200
trackNumber track number string 200
trackingUrl tracking URL string 200
disputeId CJ dispute ID string 50
orderWeight order weight int 20
orderAmount Order amount BigDecimal (18,2) Unit: $ (USD)
orderStatus Order status string 200 Referer Order Status
createDate Create time string 200 UTC Time
paymentDate Pay time string 200 UTC Time
outWarehouseTime Delivery time DateTime 1 UTC Time, eg: 2025-03-14 13:21:07
storeCreateDate Store order creation time DateTime 1 UTC Time, eg: 2025-03-14 13:21:07
productAmount product amount BigDecimal (18,2) Unit: $ (USD)
isComplete Is the order complete? 1: Complete 0: Incomplete Number 1
isSandbox Is sandbox order integer 1 0-no, 1-yes
storageId storage id string 200 Added on 2025-11-18
storageName storage name string 200 Added on 2025-11-18
productList Product List list 200
- vid Variant Id string 200
- quantity quantity int 20
- sellPrice Sell Price BigDecimal (18,2) unit:$(USA)
- storeLineItemId The lineItemId of your store order string 125
- lineItemId Unique ID of the order item in CJ string 50
- productionOrderStatus Production Status Number 1 1=Pending Order, 2=Pending Production, 3=In Production, 4=Production Completed, 5=Production Abnormality
- abnormalType Abnormal Reason int[] 6= Image link error, 9= Production drawings don't match the renderings, 10= Missing hanging ring, 11= Mismatch between die-cutting diagram and printing diagram, 12= uneven edges, 13= letters not connected, 14= Missing order images
- podPropertiesInfo pod product order return information Object
-- effectImgList Product renderings List 200
-- customResources Finished product information List 200
-- productionImgList Production diagram List 200
logisticsTimeliness Logistics Timeliness Object
- logisticsModes Logistics List List
-- logisticsName Logistics Name string DHL Official
-- arrivalTime Arrival Time (Day) string 3-7 Days

Order Status

Order Status Status remark
CREATED order create create order, wait confirm
IN_CART in cart wait confirm, api merge this state
UNPAID unpaid confirm order, CJ order number create
UNSHIPPED unshipped paid, wait for sending
SHIPPED shipped in transit, get tracking number
DELIVERED delivered clients receving
CANCELLED cancelled

error

{
   "code": 1600100,
   "result": false,
   "message": "Param error",
   "data": null,
   "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# Error code and Message

Error Code Message
1600300 order not found
1600300 orderId must be not empty
1600300 The maximum number of features is 20

# 1.8 Order Delete(DEL)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/deleteOrder?orderId=210711100018655344

# CURL

curl --location --request DELETE 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/deleteOrder?orderId=210711100018655344' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Parameter Definition Type Required Length Note
orderId order id string Y 200 Query

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": "210711100018655344",
    "requestId": "721341bf-abf8-4d8c-b400-1fbdaef79039"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

error

{
   "code": 1600100,
   "result": false,
   "message": "Param error",
   "data": null,
   "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.9 Confirm Order(PATCH)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/confirmOrder

# CURL

curl --location --request PATCH 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/confirmOrder' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "orderId": "210711100018655344"
                }'
Parameter Definition Type Required Length Note
orderId order id string Y 200 Query

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": "210711100018655344",
    "requestId": "721341bf-abf8-4d8c-b400-1fbdaef79039"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

error

{
    "code": 1603001,
    "result": false,
    "message": "order confirm fail",
    "data": null,
    "requestId": "7dc61955-c0e8-4731-bb9b-393b4fffeaaf"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.10 Change Order Warehouse

  • The warehouse of the orders of the platform logistics can be modified through this interface.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/changeWarehouse

# CURL

curl --location 'http://localhost:8081/api2.0/v1/shopping/order/changeWarehouse' \
--header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "orderCode": "123",
    "storageId": "1234"
}'
Parameter Definition Type Required Length Note
orderCode order code string Y 200 Query
storageId storage id string Y 200 Query

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Congratulation! Well done!",
    "data": true,
    "requestId": "c627424a858444ef861484ba8d1bee48",
    "success": true
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

error

{
    "code": 1603001,
    "result": false,
    "message": "order query fail",
    "data": false,
    "requestId": "7dc61955-c0e8-4731-bb9b-393b4fffeaaf"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 1.11 Sandbox Simulate Pay(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/sandbox/simulatePay

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/sandbox/simulatePay' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "orderId": "210711100018655344"
                }'
Parameter Definition Type Required Length Note
orderId CJ order id string N 200 CJ order id of the sandbox order, either this or shipmentOrderId
shipmentOrderId Parent order id string N 200 Batch simulate pay for all sandbox sub-orders, either this or orderId

Parameter Note: At least one of orderId or shipmentOrderId is required. Pass orderId to simulate pay for a single sub-order; pass shipmentOrderId to batch simulate pay for all sandbox sub-orders under the parent order.

Note: When a parent order contains multiple sub-orders, you cannot use orderId to simulate pay for a single sub-order. Please use shipmentOrderId to batch simulate pay for all sub-orders.

Scope: Only supports sandbox orders created with isSandbox=1. This API only simulates payment success and will not generate real charges, real logistics, or fulfillment.

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": true,
    "requestId": "9eddf3f5-bd3d-4fae-a4f2-028cbb90db97"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data simulate pay result boolean true-success
requestId requestId string 48 Flag request for logging errors

# 1.12 Sandbox Update Status(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/sandbox/updateStatus

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/sandbox/updateStatus' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "orderId": "210711100018655344",
                    "targetStatus": 400
                }'
Parameter Definition Type Required Length Note
orderId CJ order id string Y 200 The CJ order id of the sandbox order
targetStatus Target status code integer Y 20 Optional: 400(unshipped), 500(shipped), 600(completed), 700(closed)

Scope: Only supports sandbox orders created with isSandbox=1. Status update only simulates sandbox order status flow and will not trigger real logistics or fulfillment.

Status Flow Rule: Status can only flow in order: 300→400→500→600→700. Cannot skip or revert.

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": true,
    "requestId": "9eddf3f5-bd3d-4fae-a4f2-028cbb90db97"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data update status result boolean true-success
requestId requestId string 48 Flag request for logging errors

# Order Status

Order Status remark
CREATED Order Created
IN_CART Order in cart
UNPAID Order unpaid
UNSHIPPED Order has been paid and is currently pending shipment
SHIPPED Order Shipped and in transit
DELIVERED Package delivered
CANCELLED Order cancelled

# 2 Payment

# 2.1 Get Balance(GET)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/pay/getBalance

# CURL

curl --location --request GET 'https://developers.cjdropshipping.com/api2.0/v1/shopping/pay/getBalance' \
                --header 'CJ-Access-Token: 0580277abfe24bcc9fccdc3ede57d334'

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": {
        "amount": 87247.32,
        "noWithdrawalAmount": null,
        "freezeAmount": null
    },
    "requestId": "36fc030a-a110-4318-bc83-f39f9d3e5484"
}
Field Definition Type Length Note
noWithdrawalAmount Bonus amount BigDecimal (18,2) Unit: $ (USD)
freezeAmount Frozen amount BigDecimal (18,2) Unit: $ (USD)
amount Amount BigDecimal (18,2) Unit: $ (USD)

error

{
   "code": 1600100,
   "result": false,
   "message": "Param error",
   "data": null,
   "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 2.2 Pay Balance(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/pay/payBalance

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/pay/payBalance' \
                --header 'CJ-Access-Token: 0580277abfe24bcc9fccdc3ede57d334' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "orderId": "12"
                }'
Parameter Definition Type Required Length Note
orderId Order id string Y 200

Sandbox Note: If the order is a sandbox order (isSandbox=1), balance payment will use fake/simulated payment without real charges.

Note: When a parent order contains multiple sub-orders, you cannot use this API to pay by a single orderId. Please use the "Pay Balance V2" API with shipmentOrderId instead.

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": null,
    "requestId": "7dbe69b9-dd82-4ee3-907c-a6fca833e3ce"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

error

{
  "code": 1600100,
  "result": false,
  "message": "Param error",
  "data": null,
  "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 2.3 Pay Balance V2(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/pay/payBalanceV2

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/pay/payBalanceV2' \
                --header 'CJ-Access-Token: 0580277abfe24bcc9fccdc3ede57d334' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "shipmentOrderId": "12",
                    "payId": "12"
                }'
Parameter Definition Type Required Length Note
shipmentOrderId Shipment order Id string Y 200
payId PayId String N 200 Optional, system will auto-generate if not provided

Sandbox Note: If all sub-orders under the parent order are sandbox orders (isSandbox=1), payBalanceV2 will automatically use sandbox simulated payment without real charges. Sandbox orders and normal orders are not allowed to be in the same parent order.

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Success",
    "data": null,
    "requestId": "7dbe69b9-dd82-4ee3-907c-a6fca833e3ce"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

error

{
  "code": 1600100,
  "result": false,
  "message": "Param error",
  "data": null,
  "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 3 Shipping Info

# 3.1 Upload Shipping Info(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/uploadWaybillInfo

Tips:

  1. When uploading the waybill file, please submit the request in multipart/form data format.
  2. This interface can only be called after CJ order payment.

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/uploadWaybillInfo' \
                --header 'CJ-Access-Token:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ' \
                --form 'orderId="2511111146000642900"' \
                --form 'waybillFile=@"/C:/Users/Desktop/abcd.pdf"' \
                --form 'cjOrderId="DP2511111145580643400"' \
                --form 'cjShippingCompanyName="USPS"' \
                --form 'trackNumber="123123"'
Parameter Definition Type Required Length Note
orderId Order Id string Y 200
cjOrderId CJ Order Id string Y 200
cjShippingCompanyName CJ Shipping Company Name string Y 200 Referer:Get Storage Info, Get:logisticsBrandList
trackNumber Track Number string Y 200
waybillFile waybill document MultipartFile Y 200

# Return

success

{
  "success": true,
  "message": "",
  "result": true,
  "data": true,
  "requestId": "52f1888a3b4f451d889a84218f2b50dc"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data Boolean interface data return
requestId requestId string 48 Flag request for logging errors

error

{
    "code": 806,
    "result": false,
    "message": "Warehouse “null” does not support logistics carrier “USPS”.",
    "data": null,
    "requestId": "309ad9d884ff4994b34f0da17853b970",
    "success": false
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 3.2 Update Shipping Info(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/updateWaybillInfo

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/updateWaybillInfo' \
                --header 'CJ-Access-Token:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ' \
                --form 'orderId="2511111146000642900"' \
                --form 'waybillFile=@"/C:/Users/Desktop/abcd.pdf"' \
                --form 'cjOrderId="DP2511111145580643400"' \
                --form 'cjShippingCompanyName="USPS"' \
                --form 'trackNumber="123123"'
Parameter Definition Type Required Length Note
orderId Order Id string Y 200
cjOrderId CJ Order Id string Y 200
cjShippingCompanyName CJ Shipping Company Name string Y 200 Referer:Get Storage Info, Get:logisticsBrandList
trackNumber Track Number string Y 200
waybillFile waybill document MultipartFile Y 200

# Return

success

{
  "success": true,
  "message": "",
  "result": true,
  "data": true,
  "requestId": "52f1888a3b4f451d889a84218f2b50dc"
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data Boolean interface data return
requestId requestId string 48 Flag request for logging errors

error

{
    "code": 804,
    "result": false,
    "message": "This order does not use store platform logistics. Label upload not supported.",
    "data": null,
    "requestId": "715937dad5844ec49d51be43541eeb00",
    "success": false
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data object interface data return
requestId requestId string 48 Flag request for logging errors

# 3.3 UPDATE POD Pictures(POST)

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/podProductCustomPicturesEdit

# CURL

curl --location --request POST 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/podProductCustomPicturesEdit' \
                --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'platformToken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
                --header 'Content-Type: application/json' \
                --data-raw '{
                    "podPicturesEditParams": [
                        {
                            "orderCode": "123",
                            "lineItemId": "111",
                            "effectImgList": [
                                "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/245e348-a87b-4196-a3a4-056f6b391301.jpg"
                            ],
                            "productionImgList": [
                                "https://oss-cf.cjdropshipping.com/product/2025/04/22/01/245e348-a87b-4196-a3a4-056f6b391301.jpg"
                            ]
                        }
                    ]
                }'
Parameter Definition Type Required Length Note
podPicturesEditParams List Y
-orderCode CJ order id string Y 200
-lineItemId Unique ID of the order item in CJ string Y 200
-effectImgList Product renderings List Y 200
-productionImgList Production diagram List Y 200

# Return

success

{
    "code": 200,
    "result": true,
    "message": "Congratulation! Well done!",
    "data": {
        "list": [
            {
                "orderCode": "123",
                "lineItemId": "111",
                "result": 2,
                "failedMessage": null
            },
            {
            "orderCode": "456",
            "lineItemId": "666",
            "result": 0,
            "failedMessage": "No matching order number found"
            }
        ]
    },
    "requestId": "fa65ceae2f5740459c3e8dc8cf32124c",
    "success": true
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data Object interface data return
requestId requestId string 48 Flag request for logging errors

data information

Field Definition Type Length Note
list List Y
-orderCode CJ order id string 200
-lineItemId Unique ID of the order item in CJ string 200
-result update result 0:fail, 1: Processing, 2: success int 20
-failedMessage fail reason string 200

Error

{
    "code": 804,
    "result": false,
    "message": "Param error",
    "data": null,
    "requestId": "715937dad5844ec49d51be43541eeb00",
    "success": false
}
Field Definition Type Length Note
code error code int 20 Reference error code
result Whether or not the return is normal boolean 1
message return message string 200
data return data Object interface data return
requestId requestId string 48 Flag request for logging errors

# 4 COGS

# 4.1 Query COGS Basic Data Order Info (POST)

Query basic data order information list based on provided order codes.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/order/queryCogsBasicDataOrderInfoList

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/order/queryCogsBasicDataOrderInfoList' \
     --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
     --header 'Content-Type: application/json' \
     --data '{
         "orderCodesList": ["DP2506140734320969300"]
     }'
Parameter Definition Type Required Length Note
orderCodesList List of CJ order codes List<String> Y - CJ order number list

# Return

success

{
    "code": 200,
    "data": [
        {
            "cogsBasicDataOrderInfoJson": {
                "a": "CJ2506144290356158893",
                "c": null,
                "d": 1,
                "e": 6,
                "f": 0.74,
                "g": 6.58,
                "h": 5.84,
                "i": null,
                "ii": "38",
                "j": "2025-06-14T07:44:31"
            },
            "orderCode": "DP2506140734320969300",
            "originalOrderCode": "",
            "paymentDate": "2025-06-14T07:44:31",
            "userId": "e11a3d3e3230401ab3984c59949be6a9"
        }
    ],
    "message": "",
    "success": true
}
Field Definition Type Length Note
orderCode Order code string 200
originalOrderCode Original order code string 200 For split orders: original code; for merged orders: pre-merge code
paymentDate Payment time LocalDateTime -
userId User ID string 200
cogsBasicDataOrderInfoJson Basic data details object - See CogsBasicDataOrderInfoJson below

# CogsBasicDataOrderInfoJson

Attribute Type JSON Field Definition
shipmentsOrderId String a Parent order ID
merchantNumber String s Customer ID
payFlag Integer d Payment flag (1: paid)
postage BigDecimal f Total postage after discount
totalAmount BigDecimal g Total order amount
orderProductAmount BigDecimal h Total product amount
paymentDate LocalDateTime j Payment time
taxesInfo Object k Tax information
productInfoMap Map z Product data (productCode → ProductInfo)
disputeInfoMap Map x Dispute data (disputeId → DisputeInfo)
diffAmountInfoMap Map c Supplementary payment info (diffCode → DiffAmountInfo)
storeOrderInfo Object n Store order information
isOutOfStockSplit Integer m Out-of-stock split flag
isReissue Integer qq Reissue order flag (0: no, 1: yes)
outStockFee BigDecimal rr Out-stock fee
storeCostFee BigDecimal tt Storage cost fee
resendParcelFeeMap Map yy Re-dispatch fee for problematic parcels
isReOrder Integer uu Re-order flag
store String ii Warehouse number
storeSkuProcessFlag Integer oo Store SKU processing flag
countryCode String pp Receiving country code

# ProductInfo

Attribute Type JSON Field Definition
productCode String pc Product code
groupProductCode String q Group product code (for combined products)
sku String w SKU
isGroupMain Integer e Main product of combination (0: no, 1: yes)
grams BigDecimal r Weight in grams
price BigDecimal t Actual paid unit price
quantity Integer y Product quantity
productType String u Product type (0: normal, 1: service, 3: packaging, 4: supplier, 5: supplier-shipped, 6: virtual)
img String z Product image
isGift Integer h Is gift (0: no, 1: yes)
couponOrderProductAmount BigDecimal j Coupon amount
headPostage BigDecimal n Head-postage per private inventory item

# DisputeInfo

Attribute Type JSON Field Definition
productPriceFinal BigDecimal q Final product refund amount
iossTaxesFinal BigDecimal e Final IOSS tax
iossTaxHandlingFeeFinal BigDecimal r Final IOSS handling fee
ddpHandlingFee BigDecimal t Final DDP handling fee
dutyTaxesFinal BigDecimal y Final duty tax
icmsTaxesFinal BigDecimal u Final circulation tax
postageFinal BigDecimal p Final refunded shipping fee
outboundCostFinal BigDecimal s Final refunded outbound cost
storageCostFinal BigDecimal d Final refunded storage cost

error

{
    "code": 1600100,
    "result": false,
    "message": "Param error",
    "data": null,
    "requestId": "323fda9d-3c94-41dc-a944-5cc1b8baf5b1"
}

# 5 Merge Order

# 5.1 Auto Match Merge Order List (POST)

Get list of automatically matched mergeable orders.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/autoMatchMergeOrderListV3

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/autoMatchMergeOrderListV3' \
     --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
     --header 'Content-Type: application/json' \
     --data '{
         "filterOrder": true,
         "orderStatus": 100
     }'
Parameter Definition Type Required Length Note
filterOrder Filter manually removed orders boolean Y 1
orderStatus Order status int Y 10 100: Complete order page, 101: Shopping cart page

# Return

success

{
    "code": 200,
    "data": [
        {
            "haveMoreShopOrder": true,
            "mergeShopOrderVOList": [
                {
                    "city": "Shanghai",
                    "country": "China",
                    "countryCode": "CN",
                    "customerName": "John",
                    "logisticsInfoList": [
                        {
                            "logisticsName": "PostNL",
                            "postage": 18.00,
                            "arrivalTime": "2023-11-20",
                            "isChecked": true
                        }
                    ]
                }
            ]
        }
    ],
    "message": "success",
    "success": true
}
Field Definition Type Length Note
haveMoreShopOrder Has multiple store orders boolean 1 false: no, true: yes
mergeShopOrderVOList Store order list Array -
- city City string 200
- country Country string 200
- countryCode Country code string 20
- customerName Customer name string 200
- logisticsInfoList Logistics options list Array -
-- logisticsName Logistics name string 200
-- postage Postage decimal -
-- arrivalTime Estimated arrival time string 200
-- isChecked Currently selected logistics boolean 1
-- basePostage Base postage decimal -
-- packPrice Packaging postage decimal -
-- remoteAmount Remote area fee decimal -

# 5.2 Auto Merge Query Progress (POST)

Query the asynchronous processing progress of auto match merge order list.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/autoMergeQueryProgress

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/autoMergeQueryProgress' \
     --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
     --header 'Content-Type: application/json'

# Return

success

{
    "code": 200,
    "data": {
        "noTask": false,
        "step": 2,
        "stepCount": [10, 20, 30, 10, 30],
        "stepPercent": 5000
    },
    "message": "success",
    "success": true
}
Field Definition Type Length Note
noTask No submitted tasks to process boolean 1
step Current step int 10
stepCount Step ratio array Array - Array length = step count, elements = step weight
stepPercent Current step progress int 10 Max 10000

# 5.3 Auto Merge Query Result (POST)

Query asynchronous results of automatically matched merged orders, returning store order information and logistics options.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/autoMergeQueryResult

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/autoMergeQueryResult' \
     --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
     --header 'Content-Type: application/json'

# Return

success

{
    "code": 200,
    "data": [
        {
            "haveMoreShopOrder": true,
            "mergeShopOrderVOList": [
                {
                    "city": "Shanghai",
                    "country": "China",
                    "countryCode": "CN",
                    "customerName": "John",
                    "logisticsInfoList": [
                        {
                            "logisticsName": "PostNL",
                            "postage": 18.00,
                            "arrivalTime": "2023-11-20"
                        }
                    ],
                    "mergeOrderInfoList": [
                        {
                            "orderCode": "CJ123456789",
                            "orderNumber": "ORD987654",
                            "platform": "shopify",
                            "shopName": "My Store"
                        }
                    ],
                    "phone": "13800138000",
                    "shippingAddress": "123 Main St"
                }
            ]
        }
    ],
    "message": "success",
    "success": true
}
Field Definition Type Length Note
haveMoreShopOrder Has multiple store orders boolean 1 false: no, true: yes
mergeShopOrderVOList Store order list Array -
- mergeOrderInfoList Merge order info list Array -
-- orderCode CJ order code string 200
-- orderNumber Customer order number string 200
-- platform Platform string 50
-- shopName Shop name string 200

# 5.4 Submit Merge Order Batch (POST)

Submit merged orders with auto-matched groups, combining multiple eligible orders into one.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/submitMergeOrderBatchV3

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/submitMergeOrderBatchV3' \
     --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
     --header 'Content-Type: application/json' \
     --data '[
         {
             "logisticName": "PostNL",
             "orderCodeList": ["CJ123456789", "CJ987654321"],
             "orderNumber": "ORD123456",
             "orderStatus": 100,
             "packType": 0
         }
     ]'
Parameter Definition Type Required Length Note
logisticName Logistics name string Y 50
orderCodeList CJ order codes to merge List<String> Y -
orderNumber Customer store order number string Y 50
orderStatus Order status int Y 10 100: Complete order page, 101: Shopping cart
packType Packaging type int Y 1 0: SKU, 1: Store

# Return

success

{
    "code": 200,
    "data": {
        "failGroupCount": 0,
        "failOrderCount": 0,
        "mergeFailOrderGroupList": [],
        "newOrderCodeList": ["CJ999888777"],
        "successGroupCount": 1,
        "successOrderCount": 2
    },
    "message": "success",
    "success": true
}
Field Definition Type Length Note
failGroupCount Number of failed groups int 10
failOrderCount Number of failed orders int 10
mergeFailOrderGroupList Failed order list with reasons Array -
- errorCode Error code int 10 200: success, 11001-11007: various errors, 11100: other
- orderCodes Order codes Array -
newOrderCodeList Successfully merged order codes Array -
successGroupCount Number of successful groups int 10
successOrderCount Number of successful orders int 10

# 5.5 Submit Merge Progress (POST)

Query the asynchronous processing progress of submitted merged orders.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/submitProgress

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/submitProgress' \
     --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
     --header 'Content-Type: application/json'

# Return

success

{
    "code": 200,
    "data": {
        "noTask": false,
        "step": 1,
        "stepCount": [10, 20, 30, 10, 30],
        "stepPercent": 8000
    },
    "message": "success",
    "success": true
}
Field Definition Type Length Note
noTask No submission tasks to process boolean 1
step Current step int 10
stepCount Step ratio array Array - Array length = step count
stepPercent Current step progress int 10 Max 10000

# 5.6 Submit Merge Result (POST)

Get asynchronous processing results of submitted merged orders, returning information about successfully merged and failed orders.

# URL

https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/submitResult

# CURL

curl --location 'https://developers.cjdropshipping.com/api2.0/v1/shopping/mergeOrder/submitResult' \
     --header 'CJ-Access-Token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
     --header 'Content-Type: application/json'

# Return

success

{
    "code": 200,
    "data": {
        "failGroupCount": 0,
        "failOrderCount": 0,
        "mergeFailOrderGroupList": [],
        "newOrderCodeList": ["CJ999888777"],
        "successGroupCount": 1,
        "successOrderCount": 2
    },
    "message": "success",
    "success": true
}
Field Definition Type Length Note
failGroupCount Number of failed groups int 10
failOrderCount Number of failed orders int 10
mergeFailOrderGroupList Failed order list with reasons Array -
- errorCode Error code int 10 200: success, 11001: only 1 order selected, 11002: order exception, 11003: empty order, 11004: address mismatch, 11005: no available logistics, 11006: supplier self-shipped order, 11007: order status changed, 11100: other error
- orderCodes Order codes Array -
newOrderCodeList Successfully merged order codes Array -
successGroupCount Number of successful groups int 10
successOrderCount Number of successful orders int 10