PRODUCT_OOS)| HTTP status | Business error code | Description |
|---|---|---|
| 400 | PRODUCT_OOS | Insufficient inventory. The purchase cannot be completed. Retry later or reduce the requested quantity. |
code for PRODUCT_OOS. The PRODUCT_OOS response example is illustrative; the msg text may vary. This business error code is separate from the order lifecycle status (data.status).data.status)| Value | Name | Meaning |
|---|---|---|
| 0 | Idle | Not activated. This is not a payment or purchase-failure status. |
| 1 | Activated | The order is activated. |
| 2 | Expired | The order has expired. Expired orders cannot be renewed; purchase a new order. |
| 3 | Deleted | The order has been soft-deleted. |
data.status = 1, including when only part of the requested purchase succeeds. Inspect both data.proxies and data.errProxies: an empty errProxies array means no purchase items were reported as failed; a non-empty array identifies the failed items in a partially successful purchase. proxies contains the successfully purchased proxies. There is no separate numeric order status for partial success.code is the response code; it is not the order lifecycle status.curl --location '/api/v1/service/purchase/ip' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"type": "ISP",
"products": [
{
"productId": "product_xxx",
"quantity": 10
}
],
"name": "service-isp-order",
"channelName": "service-isp-order",
"tag": "crawler"
}'{
"data": {
"errProxies": [],
"orderId": "22222222-2222-4222-8222-222222222222",
"totalPrice": 6,
"discount": 1,
"number": 2,
"period": 30,
"expireAt": "2026-10-15T02:00:00.000Z",
"status": 1,
"name": "Example ISP Order",
"proxies": [
{
"subOrderId": "11111111-1111-4111-8111-111111111111",
"productId": "product_example_us_001",
"basePrice": 3,
"region": "US",
"scene": "general",
"proxy": "192.0.2.10:8000:exampleuser:ExamplePass001",
"city": "New York",
"expireAt": "2026-10-15T02:00:00.000Z"
},
{
"subOrderId": "11111111-1111-4111-8111-111111111111",
"productId": "product_example_us_001",
"basePrice": 3,
"region": "US",
"scene": "general",
"proxy": "192.0.2.11:8000:exampleuser:ExamplePass001",
"city": "New York",
"expireAt": "2026-10-15T02:00:00.000Z"
}
]
},
"err": false,
"msg": "SUCCESS",
"code": 200
}