ARNPROXY

订单报价

POST/account/api/v1/quote

授权

AuthorizationBearer YOUR_ARNPROXY_API_KEY
所需权限read
Acceptapplication/json
Content-Typeapplication/json

参数

名称类型说明
product_id
body必填
integerproducts 返回的产品 ID,1–2147483647。
lines
body必填
object[]同一产品的 1–20 条不同位置行;location_id 不可重复,代理总数最多 100000。
lines[].location_id
body必填
integer所选产品目录中的位置 ID。
lines[].time_id
body必填
integer此位置提供的租期 ID。
lines[].quantity
body必填
integer1–100000;同时受 product.minimum_quantity 限制。
promo_code
body可选
string可选优惠码,最多 100 字节。报价与购买/续期时必须保持相同。
默认值: ""

请求体

请用相应目录、报价或范围中的值替换 YOUR_/FROM_。示例中的确认值为 false;只有明确同意真实操作时才确认。

request.json
{
    "product_id": "FROM_PRODUCTS",
    "lines": [
        {
            "location_id": "FROM_CATALOG",
            "time_id": "FROM_CATALOG",
            "quantity": 1
        }
    ],
    "promo_code": ""
}

更多使用示例

ID 和价格仅供示例,请使用目录及同一次报价中的实际值。JSON ID 和 expected_total_minor 必须是数字。示例刻意保留 terms=false;只有客户明确同意实际付费操作后才应发送 terms=true。

同一产品类型的两个国家

quote 的订单行不包含用途,只需 location_id、time_id 和 quantity。用途字段在 purchase 阶段必填。

application/json
{
    "product_id": 5,
    "lines": [
        {
            "location_id": 10,
            "time_id": 101,
            "quantity": 1
        },
        {
            "location_id": 11,
            "time_id": 102,
            "quantity": 1
        }
    ],
    "promo_code": ""
}

请求示例

cURL
printf 'Authorization: Bearer %s\n' "$ARNPROXY_API_KEY" |
  curl --silent --show-error --header @- \
    --header 'Accept: application/json' \
    --connect-timeout 10 --max-time 30 \
    --request POST --header 'Content-Type: application/json' \
    --data-binary @request.json \
    'https://www.arnproxy.com/account/api/v1/quote'

本页不会执行示例。请将 API 密钥保存在服务器环境变量中,不要放入 URL 或浏览器代码。POST 示例需准备 request.json。

响应

200成功响应
application/json
{
    "ok": true,
    "data": {
        "product": {
            "id": 5,
            "name": "IPv4 Proxy",
            "minimum_quantity": 1
        },
        "currency": "TRY",
        "quantity": 1,
        "base_total": "10.00",
        "quantity_discount_amount": "0.00",
        "subtotal": "10.00",
        "promotion": {
            "code": "",
            "rate": "0.00",
            "amount": "0.00"
        },
        "total": "10.00",
        "total_minor": 1000,
        "lines": [
            {
                "location_id": 10,
                "country": "Example country",
                "time_id": 101,
                "period": "7 days",
                "days": 7,
                "quantity": 1,
                "base_unit_price": "10.0000",
                "quantity_discount_rate": "0.00",
                "unit_price": "10.0000",
                "base_total": "10.00",
                "subtotal": "10.00",
                "promotion_amount": "0.00",
                "total": "10.00",
                "total_minor": 1000
            }
        ],
        "discount_scope": "country",
        "estimate_only": true,
        "stock_checked": false,
        "purchase_available": false,
        "calculated_at": "2030-01-01T12:00:00+00:00"
    },
    "meta": {
        "request_id": "000000000000000000000001",
        "phase": "public_v1",
        "source": "arnproxy_records"
    }
}
响应字段与类型
名称类型说明
okboolean成功标志;为 false 时请检查 error.code。
dataobject操作特定结果;示例均为演示用合成数据。
data.productobjectproduct 的操作特定值。请保留返回类型并查阅行为说明。
data.product.idinteger相关 ARNPROXY 记录 ID,请勿替换为上游内部 ID。
data.product.namestringname 的操作特定值。请保留返回类型并查阅行为说明。
data.product.minimum_quantityinteger此产品每条订单行的最小数量。
data.currencystring账户交易币种:TRY 或 USD。
data.quantityinteger所选或订购的代理数量。
data.base_totalstring金额;为避免精度损失,请保留返回的字符串/整数类型。
data.quantity_discount_amountstringquantity discount amount 的操作特定值。请保留返回类型并查阅行为说明。
data.subtotalstring金额;为避免精度损失,请保留返回的字符串/整数类型。
data.promotionobjectpromotion 的操作特定值。请保留返回类型并查阅行为说明。
data.promotion.codestringcode 的操作特定值。请保留返回类型并查阅行为说明。
data.promotion.ratestringrate 的操作特定值。请保留返回类型并查阅行为说明。
data.promotion.amountstring金额;为避免精度损失,请保留返回的字符串/整数类型。
data.totalstring金额;为避免精度损失,请保留返回的字符串/整数类型。
data.total_minorinteger最小货币单位整数:1000 表示 10.00 TRY/USD。
data.linesarraylines 的操作特定值。请保留返回类型并查阅行为说明。
data.lines[]objectlines 的操作特定值。请保留返回类型并查阅行为说明。
data.lines[].location_idinteger本地目录的位置或产品类型 ID。
data.lines[].countrystringcountry 的操作特定值。请保留返回类型并查阅行为说明。
data.lines[].time_idinteger本地租期/GB 方案记录 ID,不是天数或 GB 数量。
data.lines[].periodstring可读的目录租期名称。
data.lines[].daysinteger方案天数,与 GB 方案流量数量分开。
data.lines[].quantityinteger所选或订购的代理数量。
data.lines[].base_unit_pricestringbase unit price 的操作特定值。请保留返回类型并查阅行为说明。
data.lines[].quantity_discount_ratestringquantity discount rate 的操作特定值。请保留返回类型并查阅行为说明。
data.lines[].unit_pricestringunit price 的操作特定值。请保留返回类型并查阅行为说明。
data.lines[].base_totalstring金额;为避免精度损失,请保留返回的字符串/整数类型。
data.lines[].subtotalstring金额;为避免精度损失,请保留返回的字符串/整数类型。
data.lines[].promotion_amountstringpromotion amount 的操作特定值。请保留返回类型并查阅行为说明。
data.lines[].totalstring金额;为避免精度损失,请保留返回的字符串/整数类型。
data.lines[].total_minorinteger最小货币单位整数:1000 表示 10.00 TRY/USD。
data.discount_scopestringdiscount scope 的操作特定值。请保留返回类型并查阅行为说明。
data.estimate_onlybooleanestimate only 的操作特定值。请保留返回类型并查阅行为说明。
data.stock_checkedboolean仅凭价格/本地结果不能保证上游可用性或库存。
data.purchase_availableboolean根据响应条件/权限确定的可用性,不代表库存或上游可用性保证。
data.calculated_atstringAPI 返回格式的时间戳;示例日期为合成数据。
metaobject请求关联与数据来源元信息。
meta.request_idstring此 HTTP 请求的跟踪 ID,不是操作键或订单 ID。
meta.phasestringphase 的操作特定值。请保留返回类型并查阅行为说明。
meta.sourcestring数据来源;本地记录与实时上游查询属于不同证据。

错误响应

HTTP 401 · INVALID_API_KEY
{
  "ok": false,
  "error": { "code": "INVALID_API_KEY" },
  "meta": { "request_id": "000000000000000000000001" }
}

身份验证和参数校验可能在执行前拒绝请求。请查阅错误参考,联系支持时保留 request_id。切勿发送密钥或密码。 错误与限制 →

行为与重要说明

  • 从 products/catalog 获取 ID。quote 行仅含 location_id、time_id、quantity。purchase 行还必须有 purpose_id=201 和所选 subpurpose_id。
  • quote 的订单行不包含用途,只需 location_id、time_id 和 quantity。用途字段在 purchase 阶段必填。
  • 一个 product_id 下最多可包含 20 个不同的 location_id。每个国家生成独立订单,关联结账按一张发票处理。数量折扣按每个国家自己的数量计算。

搜索当前语言。关闭: Esc