要使用长期固定的静态住宅 IP,需要先选定产品、地区和时长,再创建静态订单。官方静态订单文档写明:静态代理订单用于购买固定 IP 资源,需要指定产品、地区、时长和 IP 数量。本页讲首次购买和如何确认已经开通,不重复续费与释放。
下单前先做两件事:核对账户余额,以及按查询产品拿到最新的 productId、地区代码、时长和价格。不要手写过期产品号。仅限授权目标。不支持中国大陆使用。
开始前备齐什么
| 准备项 | 从哪里来 |
|---|---|
| 产品查询结果 | productId(下单时作 poolId)、countryCode、cityCode、时长、价格、库存 |
| 共享或独享判断 | 以 product_type / productType 和项目列表为准;共享静态还要准备 projectId |
| 足够的余额 | 控制台或余额接口;不够先充值 |
| 若走 API:令牌与用户 ID | 令牌见登录;userId 必须是 ZTProxy 系统用户 ID |
控制台为本人购买时,按页面选择产品和时长即可,不必把接口里的 userId 理解成外部会员号。若走 POST /open/app/static/order/create-standard/v2,文档要求 userId 为 ZTProxy 用户 ID:它不是调用方系统的会员编号;只有先完成映射后才能写入。缺少该字段时,请求会在进入库存、开通和扣款前返回 HTTP 422,原样重试不会成功。
时长规则与开通方式
文档中的时长单位如下。具体可选的 duration 以产品查询结果为准,不要把下表理解成每个产品都开放全部档位。
unit | 含义 | 文档中的常见 duration |
|---|---|---|
| 1 | 天 | 普通静态产品通常为 30;部分静态资源产品支持 30、90、365 |
| 3 | 月 | 1、3、6、12;部分静态资源产品支持 1、3、12 |
| 4 | 年 | 1 |
标准静态订单创建接口采用异步受理:参数、权限、余额和基础价格校验通过后,会先返回本系统订单号。文档示例里的 queued: true 和 async: true 只表示订单已进入后台处理,不代表资源已经开通。实例 IP、端口、账号密码和最终状态,以后续 GET /open/app/static/order/list/v2 为准。列表里若仍是 processing,实例信息可能暂时为空,应稍后重查,直到进入成功或失败等最终状态。
创建静态订单示例
先按产品查询填写 poolId、地区和时长。下面的产品号、城市代码和金额只是格式示例,不是现网库存或成交价。本示例故意不写 staticType:文档说明该字段不用于判别共享或独享,也不得当成 ISP 套餐。
export ZTPROXY_BASE="https://backend.ztproxy.net/api"
export ZTPROXY_TOKEN="TOKEN_EXAMPLE_NOT_REAL"
# Official userId is an integer ZTProxy user id, not an external member id.
# 1001 appears in official docs as a sample only; it is not a live account.
USER_ID=1001
curl -X POST "$ZTPROXY_BASE/open/app/static/order/create-standard/v2" \
-H "Authorization: Bearer $ZTPROXY_TOKEN" \
-H "Content-Type: application/json" \
-d "{
\"orderType\": \"static_proxy\",
\"poolId\": \"YOUR_PRODUCT_ID_FROM_QUERY\",
\"countryCode\": \"US\",
\"cityCode\": \"NEW_YORK\",
\"ipCount\": 1,
\"cycleTimes\": 1,
\"duration\": 30,
\"unit\": 1,
\"unitPrice\": 0,
\"totalAmount\": 0,
\"remark\": \"API static order example\",
\"userId\": ${USER_ID}
}"
把 YOUR_PRODUCT_ID_FROM_QUERY 换成产品查询返回的 productId。unitPrice 和 totalAmount 请按最近一次产品查询填写,示例里的 0 只是占位,不是免费或官方报价;动态订单才要求把这两个兼容字段传 0。若产品是共享静态,还要在请求体中增加所选项目的 projectId。受理成功后,优先保存返回的 orderNo / order_no,后续查询、续费或释放都用它。需要指定 IP、CIDR 或其他可选字段时,以官方可选字段说明为准,不要在未核实时自行发挥。
下单后怎么确认,以及常见坑
| 情况 | 建议 |
|---|---|
返回已受理,且 queued 为 true | 用订单号查询列表,等待最终状态和 instances,不要以为已经拿到可用 IP |
仍为 processing,暂时没有实例 | 稍后重查,不要立即重复提交同一笔订单 |
| 网络超时,不确定有没有下成功 | 先按请求时间、目标用户和产品查列表,确认是否已生成订单,再决定是否重试 |
HTTP 422,提示缺少 userId | 补上正确的 ZTProxy 用户 ID,不要原样重试 |
| 余额不足 | 先充值或减少本次购买,再提交 |
| 开通成功,以后要延期或停用 | 见续费与释放 |
| 要把 IP 交给合作方做白名单 | 见白名单说明;不宣称对方一定接受住宅出口 |
实例里的主机、端口、用户名和密码要分字段保存和使用,不要写成 用户名:密码@主机。测通步骤见用 curl 测通。粘性会话不能代替静态 IP,见粘性会话对照。
合规与范围
只用于授权目标。不要把本页写成绕过限制或养号的教程。价格以控制台与价格方案为准(动态约 $0.40/GB,100 TB 整包约 $0.20/GB;静态共享约 $1.50、独享约 $5 /IP/月)。USDT/USDC 可用;Visa/Mastercard 申请中。不支持中国大陆使用。
FAQ
返回 queued 为 true 是不是已经开通?
不是。它只表示订单已进入后台处理。要以订单列表里的最终状态和实例为准。
控制台购买也要传 userId 吗?
控制台为本人开通时按页面操作即可。userId 是官方创建接口上的必填系统用户 ID,不是每位控制台买家都要填写的外部会员号。
共享静态为什么还要 projectId?
文档要求:当产品形态为共享,或项目列表非空时,必须选择项目代码并传入。独享静态且项目列表为空时不需要传。
示例里的美国纽约和 0 元是报价吗?
不是。城市代码只说明格式;金额必须改成产品查询返回的价格。库存和成交价以查询结果和控制台为准。
为什么示例不写 staticType?
文档写明 staticType 不用于判别共享或独享。本站也不把它当成 ISP 套餐销售。共享或独享只看产品形态字段。
422 之后可以直接重试吗?
不可以原样重试。应按 detail[].loc 修正字段后再提交。
静态 IP 不用了怎么释放?会不会自动退款?
按续费与释放处理。是否退款或如何处理剩余时长,以产品配置为准,本页不编造比例。
价格以哪里为准?
以控制台、产品查询和价格方案为准。文档示例金额不是成交价。
下一步
- 查询产品并确认共享或独享、库存和价格。
- 创建订单后保存订单号,再查列表确认实例已开通。
- 测通后,如需延期或释放,再看续费说明。