跳转至

更新未开通服务的订单

1. 接口描述

接口请求路径:POST /prod-api/acdn/volc/hostAcceleratePackRest/updateHostAcceleratePackOrder

updateHostAcceleratePackOrder 用于更新未开通服务的主播加速服务订单。例如在 2023 年 11 月 1 日 13 时创建完成订单,按服务开通规则将在 2023 年 11 月 2 日 0 时开通服务,因此仅支持在创建当日开通前通过本接口更新订单。

注意事项:单用户请求频率限制为 10 次/秒。

Token 获取方式见 密钥鉴权

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
updateOrders [UpdatePackOrder] 待更新的订单列表

3. 输出参数

参数名称 类型 描述
code Integer 状态码。示例值:200
msg String 提示信息。示例值:操作成功
data Array 更新结果列表
data[].orderId String 订单 ID。示例值:17877898567801546
data[].uid String 抖音 uid。示例值:75116945778
data[].source String 运营商名称。示例值:联通
data[].province String 省份简称。示例值:
data[].isRenew Boolean 是否开启按月自动续订
data[].startTime String 服务开始时间。示例值:2024-01-17
data[].endTime String 服务结束时间。示例值:2024-04-30
data[].status Integer 更新订单状态。取值:1(更新成功)、2(OrderId 和 Uid 不匹配)、3(抖音昵称不规范,如超出长度限制等)、4(EndMonthTime 格式错误)、5(订单生效时间范围错误)、6(订单不存在)、7(订单不可更新)、8(省份简称错误)、9(运营商名称错误)、10(内部服务错误)。示例值:1

4. 示例

示例1 更新未开通服务的订单

输入示例

{
  "updateOrders": [
    {
      "province": "粤",
      "endMonthTime": "2023-11-5",
      "isRenew": true,
      "source": "联通",
      "orderId": "178722568801546",
      "uid": "7515673778",
      "nickname": "范涛"
    }
  ]
}

代码调用

请将 {登录域名}token 替换为实际值。

curl -X POST 'https://{登录域名}/prod-api/acdn/volc/hostAcceleratePackRest/updateHostAcceleratePackOrder' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.xxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "updateOrders": [
    {
      "province": "粤",
      "endMonthTime": "2023-11-5",
      "isRenew": true,
      "source": "联通",
      "orderId": "178722568801546",
      "uid": "7515673778",
      "nickname": "范涛"
    }
  ]
}'
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

public class UpdateHostAcceleratePackOrderTest {

    public static void main(String[] args) throws Exception {
        String url = "https://{登录域名}/prod-api/acdn/volc/hostAcceleratePackRest/updateHostAcceleratePackOrder";
        String token = "eyJhbGciOiJIUzUxMiJ9.xxxxxx";

        String requestBody = "{"
                + "\"updateOrders\":[{"
                + "\"province\":\"粤\","
                + "\"endMonthTime\":\"2023-11-5\","
                + "\"isRenew\":true,"
                + "\"source\":\"联通\","
                + "\"orderId\":\"178722568801546\","
                + "\"uid\":\"7515673778\","
                + "\"nickname\":\"范涛\""
                + "}]"
                + "}";

        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpPost httpPost = new HttpPost(url);
            httpPost.setHeader("Authorization", "Bearer " + token);
            httpPost.setEntity(new StringEntity(requestBody, ContentType.APPLICATION_JSON));

            try (CloseableHttpResponse response = httpClient.execute(httpPost)) {
                int statusCode = response.getStatusLine().getStatusCode();
                String body = EntityUtils.toString(response.getEntity(), "UTF-8");
                System.out.println("Status Code: " + statusCode);
                System.out.println("Body: " + body);
            }
        }
    }
}
package main

import (
    "bytes"
    "fmt"
    "io"
    "net/http"
)

func main() {
    url := "https://{登录域名}/prod-api/acdn/volc/hostAcceleratePackRest/updateHostAcceleratePackOrder"
    token := "eyJhbGciOiJIUzUxMiJ9.xxxxxx"

    requestBody := []byte(`{
  "updateOrders": [
    {
      "province": "粤",
      "endMonthTime": "2023-11-5",
      "isRenew": true,
      "source": "联通",
      "orderId": "178722568801546",
      "uid": "7515673778",
      "nickname": "范涛"
    }
  ]
}`)

    req, err := http.NewRequest(http.MethodPost, url, bytes.NewReader(requestBody))
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer "+token)
    req.Header.Set("Content-Type", "application/json")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, err := io.ReadAll(resp.Body)
    if err != nil {
        panic(err)
    }
    fmt.Println("Status Code:", resp.StatusCode)
    fmt.Println("Body:", string(body))
}

输出示例

{
  "msg": "操作成功",
  "code": 200,
  "data": [
    {
      "startTime": "2024-01-17",
      "source": "联通",
      "uid": "75116945778",
      "status": 1,
      "orderId": "17877898567801546",
      "isRenew": true,
      "province": "粤",
      "endTime": "2024-04-30"
    }
  ]
}

5. 错误码

HTTP 状态码 / 业务提示 描述
200 成功
401 未鉴权或 Token 无效
403 无权限
请输入参数 请求体为空
请输入需要退订的订单 updateOrders 为空
发起失败,存在无效的orderId 存在不属于当前账号或无效的订单 ID

6. 数据模型

UpdatePackOrder

待更新(未开通)的订单项。

参数名称 必选 类型 描述
orderId String 订单 ID。示例值:178722568801546
uid String 抖音 uid。示例值:7515673778
endMonthTime String 结束时间。开启按月自动续订时,须配置任意大于或等于开通服务(非创建订单)的时间;服务开通与结束时间不能为同一天。示例值:2023-11-5
isRenew Boolean 是否开启按月自动续订。取值:true(是)、false(否)。示例值:true
source String 运营商名称。取值:联通移动电信。示例值:联通
nickname String 昵称。示例值:范涛
province String 当前所在省份简称。示例值: