# REST API

# 使用 BitCoke 的 REST API

系统 REST API 提供两类数据交互,第一类是行情相关数据的获取,无需申请秘钥(API KEY)就可以使用;第二类是获取交易数据或发送交易请求,需要用户登录系统申请秘钥(API KEY),并将数据按指定格式加密发送。两种方式返回的数据都是基于 Json 格式。

# 接口方式

BitCoke REST API 基于 Swagger 规范开发,行情接口请点击Market (opens new window)(里面交易相关接口会在不久后移除);交易接口请点击Trade (opens new window)。详细介绍请看下文

# 行情 API

行情及报价接口可直接使用,不需要申请 API KEY;请求频率根据发出请求服务器的 IP 限制。

# 获取合约信息

  • 路径: Basic Reference => /api/basic/refData
  • 请求频率限定:1次/秒/IP。
  • 响应结果如下,symbol 为合约名;tick 为价格最小变动单位;lotSize 为合约面值,单位 USD;type 为合约类型,PERP 为永续合约。如:
 {
   "code": 0,
   "message": "OK",
   "result": [
     {
       "symbol": "XBTCUSD",
       "tick": 1,
       "lotSize": 1,
       "type": "PERP"
     },
     {
       "symbol": "XETHUSD",
       "tick": 0.05,
       "lotSize": 1,
       "type": "PERP"
     },
     {
       "symbol": "XEOSUSD",
       "tick": 0.001,
       "lotSize": 1,
       "type": "PERP"
     },
     {
       "symbol": "XLTCUSD",
       "tick": 0.01,
       "lotSize": 1,
       "type": "PERP"
     },
     {
       "symbol": "XBCHUSD",
       "tick": 0.05,
       "lotSize": 1,
       "type": "PERP"
     }
   ]
 }

# 获取合约最新成交价

  • 路径:Basic Reference => /api/basic/lastPrice
  • 请求频率限定:1次/秒/IP。
  • 请求参数:symbols,合约名称,多个标记以逗号分隔,eg: XBTCUSD,XETHUSD,等。参数为空时,返回所有合约成交价
  • 响应结果:
     {
       "code": 0,
       "message": "OK",
       "result": [
         {
           "symbol": "XBTCUSD",
           "price": 42259,
           "time": 1632280154441
         },
         {
           "symbol": "XETHUSD",
           "price": 2877.7,
           "time": 1632280154356
         }
       ]
     }

# 获取指数价

  • 路径:Index Price => /api/basic/indexPrice
  • 请求频率限定:5次/秒/IP。
  • 请求参数:symbols,标记名称,多个标记以逗号分隔,eg: BTCUSD,ETHUSD (注意:和合约名称进行区分,标记名前去掉X
  • 响应结果:
   {
     "code": 0,
     "message": "OK",
     "result": [
       {
         "symbol": "BTCUSD",
         "price": 42236.59225,
         "time": 1632280073988
       }
     ]
   }

# 获取标记价

  • 路径:Index Price => /api/basic/markPrice
  • 请求频率限定:5次/秒/IP。
  • 请求参数:symbols,标记名称,多个标记以逗号分隔,eg: BTCUSD,ETHUSD (注意:和合约名称进行区分,标记名前去掉X
  • 响应结果:
   {
     "code": 0,
     "message": "OK",
     "result": [
       {
         "symbol": "BTCUSD",
         "price": 42169.00833333333,
         "time": 1632280351964
       },
       {
         "symbol": "ETHUSD",
         "price": 2870.4183333333335,
         "time": 1632280352563
       }
     ]
   }

# 获取市场深度

  • 路径:Market Depth & Trade Records => /api/depth/depth
  • 请求频次限定:5次/秒/IP。
  • 请求参数:symbol,合约名称,eg: XBTCUSD。
  • 响应结果:20档深度,如下(篇幅太长,只展示了部分内容):
 {
   "code": 0,
   "message": "OK",
   "result": {
     "buyDepth": [
       {
         "price": 7292,
         "qty": 36303,
         "count": 6,
         "iceCount": 0
       },
       {
         "price": 7291,
         "qty": 34378,
         "count": 8,
         "iceCount": 0
       }
     ],
     "sellDepth": [
       {
         "price": 7293,
         "qty": 42245,
         "count": 6,
         "iceCount": 0
       },
       {
         "price": 7294,
         "qty": 53054,
         "count": 6,
         "iceCount": 0
       }
     ],
     "trades": null
   }
 }

# 获取最新成交记录

  • 路径:Market Depth & Trade Records => /api/depth/trades
  • 请求频次限定:5次/秒/IP。
  • 请求参数:symbol,合约名称,eg: XBTCUSD; sequence,上一次获取成交记录的最新一笔记录的 id;第一次请求传入空值,返回最近50笔成交。
  • 响应结果:指定 sequence 以后最新成交记录,如下(篇幅太长,只展示了部分内容):
 {
   "code": 0,
   "message": "OK",
   "result": [
               {
                 "id": "1577707870474000001",
                 "symbol": "XBTCUSD",
                 "price": 7292,
                 "qty": 484,
                 "buyActive": false,
                 "timestamp": "2019-12-30T12:11:10.476+0000"
               },
               {
                 "id": "1577707869615000003",
                 "symbol": "XBTCUSD",
                 "price": 7294,
                 "qty": 900,
                 "buyActive": true,
                 "timestamp": "2019-12-30T12:11:09.616+0000"
               },
               {
                 "id": "1577707869064000001",
                 "symbol": "XBTCUSD",
                 "price": 7294,
                 "qty": 91,
                 "buyActive": false,
                 "timestamp": "2019-12-30T12:11:09.064+0000"
               },
               {
                 "id": "1577707860030000008",
                 "symbol": "XBTCUSD",
                 "price": 7294,
                 "qty": 1338,
                 "buyActive": false,
                 "timestamp": "2019-12-30T12:11:00.034+0000"
               }
   ]
 }

# 获取历史 K 线以及成交统计相关数据

  • 路径:K Line & Trade Statistics
  1. /api/kLine/byIndex:通过下标索引获取历史 K 线。请求频次限定:15次/分/IP。响应结果:
   {
       "code": 0,
       "message": "OK",
       "result": [
         {
           "source": null,
           "symbol": "XBTCUSD",
           "open": 7301,
           "close": 7302,
           "high": 7304,
           "low": 7301,
           "keyTime": "2019-12-30T12:15:00.000+0000",
           "timeStamp": "2019-12-30T12:15:24.515+0000",
           "volume": 17513,
           "turnover": 2.3984301196547184
         },
         {
           "source": null,
           "symbol": "XBTCUSD",
           "open": 7301,
           "close": 7301,
           "high": 7301,
           "low": 7297,
           "keyTime": "2019-12-30T12:14:00.000+0000",
           "timeStamp": "2019-12-30T12:14:58.729+0000",
           "volume": 41975,
           "turnover": 5.7505751906818965
         },
         {
           "source": null,
           "symbol": "XBTCUSD",
           "open": 7296,
           "close": 7301,
           "high": 7301,
           "low": 7294,
           "keyTime": "2019-1  2-30T12:13:00.000+0000",
           "timeStamp": "2019-12-30T12:13:58.178+0000",
           "volume": 48008,
           "turnover": 6.57901338020993
         }
       ]
     }
  1. /api/kLine/byTime:通过时间索引获取历史 K 线。请求频次限定:15次/分/IP。响应结果:
{
  "code": 0,
  "message": "OK",
  "result": [
    {
      "source": null,
      "symbol": "XBTCUSD",
      "open": 7301,
      "close": 7305,
      "high": 7305,
      "low": 7301,
      "keyTime": "2019-12-30T12:17:00.000+0000",
      "timeStamp": "2019-12-30T12:17:22.071+0000",
      "volume": 24375,
      "turnover": 3.337353658167195
    },
    {
      "source": null,
      "symbol": "XBTCUSD",
      "open": 7304,
      "close": 7301,
      "high": 7308,
      "low": 7300,
      "keyTime": "2019-12-30T12:16:00.000+0000",
      "timeStamp": "2019-12-30T12:16:57.444+0000",
      "volume": 56130,
      "turnover": 7.684110329772189
    },
    {
      "source": null,
      "symbol": "XBTCUSD",
      "open": 7301,
      "close": 7304,
      "high": 7304,
      "low": 7301,
      "keyTime": "2019-12-30T12:15:00.000+0000",
      "timeStamp": "2019-12-30T12:15:53.072+0000",
      "volume": 44210,
      "turnover": 6.054037463066494
    }
  ]
}
  1. /api/kLine/latest:获取最新一根 K 线数据。请求频次限定:75次/分/IP。响应结果:
 {
   "code": 0,
   "message": "OK",
   "result": {
     "source": null,
     "symbol": "XBTCUSD",
     "open": 7306,
     "close": 7308,
     "high": 7311,
     "low": 7306,
     "keyTime": "2019-12-30T12:18:00.000+0000",
     "timeStamp": "2019-12-30T12:18:17.670+0000",
     "volume": 45537,
     "turnover": 6.23014651310752
   }
 }
  1. /api/kLine/latestPeriod:获取上次拉取 K 线后的更新数据。请求频次限定:75次/分/IP。响应结果:
 {
   "code": 0,
   "message": "OK",
   "result": [
     {
       "source": null,
       "symbol": "XBTCUSD",
       "open": 7312,
       "close": 7312,
       "high": 7314,
       "low": 7310,
       "keyTime": "2019-12-30T12:19:00.000+0000",
       "timeStamp": "2019-12-30T12:19:08.377+0000",
       "volume": 35453,
       "turnover": 4.848914726098417
     }
   ]
 }
  1. /api/kLine/fundingRate:获取资金费率。请求频次限定:5次/秒/IP。响应结果:
{
  "code": 0,
  "message": "OK",
  "result": [
    {
      "symbol": "XBTCUSD",
      "rate": 0.000202,
      "date": "Jun 17, 2020 12:00:00 PM"
    }
  ]
}
  1. /api/kLine/tradeStatistics:获取最近24小时的成交统计数据。请求频次限定:5次/秒/IP。响应结果:
     {
       "code": 0,
       "message": "OK",
       "result": [
         {
           "symbol": "XBTCUSD",
           "maxPrice": 7522,
           "minPrice": 7277,
           "priceChange": -18,
           "priceChangeRatio": -0.0024566671216050225,
           "volume": 106729948,
           "turnover": 14465.838637952624,
           "lastPrice": 7309,
           "volumeRatioList": null
         }
       ]
     }
    
  2. /api/kLine/openInterest:获取系统合约持仓量。请求参数:symbol,eg: BTCUSD。请求频次限定:5次/秒/IP。响应结果:
      {
        "code": 0,
        "message": "OK",
        "result": {
          "symbol": "BTCUSD",
          "value": 6323.8854145971545,           
          "date": "Jun 17, 2020 09:42:26 AM",
          "qty": 60000677     
        }
      }
    

# 申请 API KEY

交易 API KEY 分两种类型,一种只读,只允许获取交易数据;另一种可交易,可以获取交易数据以及下单。 申请 API Key 步骤:主页面 -> 资产 -> API 设置;申请成功后,切记要手动复制并保管好秘钥信息。

# 路径及请求频次

路径:Personal Trading Information。 请求频次:目前交易只读 API 根据 API Key 进行请求频率限定,如果请求频次超限,请耐心等待一分钟,再继续请求。

# 请求参数

所有只读 API 和交易 API 都必须有以下三个参数,并且这些参数要放在 Header 中发送:

  • apiKey - 申请 API 时生成的 Key
  • expires - 请求过期时间的秒数,时区为 UTC。如:当前时间:2019-12-30 11:29:20,请求的有效时间为10秒,就把当前时间加10秒,也就是:2019-12-30 11:29:30,转换为秒:1577676570;如果10秒后服务端才收到请求,则回报请求超时
  • signature - 请求密文,加密方式:sha256Hex(secret + 请求方式GET/POST + 请求路径 + expires);如:POST请求获取账号信息,sha256Hex(gJQxkMdaLxq9JdQO5yWoRwtaqlUNtwcFv_vk3FNzs5novWWePOST/api/trade/queryAccounts1577458481)

# 交易只读 API

# /api/trade/queryAccounts

查询用户的交易账号信息。 GET请求。 请求频率限制:60次/分/Key。 响应数据:

参数 类型 描述 样例
currency String 币种
cash Double 总资金
withdrawableCash Double 可提资金
frozenCash Double 冻结资金
urPnl Double 账户浮动盈亏

# /api/trade/queryActiveOrders

查询用户尚未完成的订单列表(包括委托单和条件单)。 GET请求。 请求参数:symbol,为可选参数,根据给定值获取用户下指定合约的订单列表;空则会获取用户所有未完成的订单,按时间倒叙排列。 请求频率限制:60次/分/Key。 响应数据描述:

参数 类型 描述 样例
id String 订单id,eg: O101-20190910-033720-922-1879
currency String 交易币种
symbol String 合约
created Date 订单创建时间
modified Date 订单发生变动时间
side String 订单方向,Buy/Sell
type String 订单类型,Limit/Market
price Double 订单价格
qty Double 订单数量
openPosition Boolean 开仓/平仓单,开仓为 true,平仓为false
cumQty Double 已成交数量
avgPx Double 成交均价
ordStatus String 订单状态,NEW - 新单;PARTIALLY_FILLED - 部分成交;FILLED - 全部成交;CANCELED - 已撤;REJECTED - 已拒;WAITING - 等待(条件单)
iceberg Boolean 是否为冰山单
showQty Double 冰山单显示数量
source String 订单来源,Normal - 正常下单;Conditional - 条件单;StopWin - 止盈单;StopLoss - 止损单;TrailingStop - 追踪止损单;SysRisk - 爆仓单
stopLossPrice Double 止损价
stopWinPrice Double 止盈价
stopWinType Double 止盈类型,Limit/Market
trailingStop Double 追踪止损
triggerPrice Double 条件单触发价
triggerType String 条件单触发价类型,LAST - 最后成交价,INDEX - 标记价

# /api/trade/queryOrders

查询用户订单历史,订单按时间倒叙排列。 GET请求。 请求参数:prevId,最新订单 id,返回更新时间在该订单以后(包含该订单)的订单,空则返回所有记录。 请求频率限制:30次/分/Key。 响应数据描述:

参数 类型 描述 样例
id String 订单id,eg: O101-20190910-033720-922-1879
currency String 交易币种
symbol String 合约名称
created Date 订单创建时间
modified Date 订单发生变动时间
side String 订单方向,Buy/Sell
type String 订单类型,Limit/Market
price Double 订单价格
qty Double 订单数量
openPosition Boolean 开仓/平仓单,开仓为 true,平仓为false
cumQty Double 已成交数量
avgPx Double 成交均价
ordStatus String 订单状态,NEW - 新单;PARTIALLY_FILLED - 部分成交;FILLED - 全部成交;CANCELED - 已撤;REJECTED - 已拒;WAITING - 等待(条件单)
iceberg Boolean 是否为冰山单
showQty Double 冰山单显示数量
source String 订单来源,Normal - 正常下单;Conditional - 条件单;StopWin - 止盈单;StopLoss - 止损单;TrailingStop - 追踪止损单;SysRisk - 爆仓单
stopLossPrice Double 止损价
stopWinPrice Double 止盈价
stopWinType Double 止盈类型,Limit/Market
trailingStop Double 追踪止损
triggerPrice Double 条件单触发价
triggerType String 条件单触发价类型,LAST - 最后成交价,INDEX - 标记价

# /api/trade/queryOrderById

根据订单 Id 查询订单。 请求频率限制:5次/秒/Key。 响应数据描述:

参数 类型 描述 样例
id String 订单id,eg: O101-20190910-033720-922-1879
currency String 交易币种
symbol String 合约名称
created Date 订单创建时间
modified Date 订单发生变动时间
side String 订单方向,Buy/Sell
type String 订单类型,Limit/Market
price Double 订单价格
qty Double 订单数量
openPosition Boolean 开仓/平仓单,开仓为 true,平仓为false
cumQty Double 已成交数量
avgPx Double 成交均价
ordStatus String 订单状态,NEW - 新单;PARTIALLY_FILLED - 部分成交;FILLED - 全部成交;CANCELED - 已撤;REJECTED - 已拒;WAITING - 等待(条件单)
iceberg Boolean 是否为冰山单
showQty Double 冰山单显示数量
source String 订单来源,Normal - 正常下单;Conditional - 条件单;StopWin - 止盈单;StopLoss - 止损单;TrailingStop - 追踪止损单;SysRisk - 爆仓单
stopLossPrice Double 止损价
stopWinPrice Double 止盈价
stopWinType Double 止盈类型,Limit/Market
trailingStop Double 追踪止损
triggerPrice Double 条件单触发价
triggerType String 条件单触发价类型,LAST - 最后成交价,INDEX - 标记价

# /api/trade/queryPosition

查询用户的当前持仓。 GET请求。 请求频率限制:60次/分/Key。 响应数据描述:

参数 类型 描述 样例
currency String 交易币种
symbol String 合约名称
side String 持仓方向,Long - 多仓,Short - 空仓
qty Double 持仓数量
individualPosition Boolean 是否逐仓,true - 逐仓,false - 全仓
price Double 持仓价格
closableQty Double 可平数量
pnlRate Double 浮动盈亏比例
value Double 持仓价值
positionLeverage Double 杠杆
stopLossPrice Double 止损价设定
stopWinPrice Double 止盈价设定
stopWinType String 止盈类型,Limit/Market
trailingStop Double 追踪止损价距
trailingStopPrice Double 根据追踪止损算出的止损价
pnl Double 已实现盈亏
urPnL Double 浮动盈亏
liquidationPrice Double 爆仓价
deposit Double 保证金

# /api/trade/ledger

按币种分页查询用户交易账号的账本记录,首次通过分页获取所有记录,后续则通过传入最新记录ID获取增量记录。 GET请求。 请求频率限制:10次/分/Key。 请求参数:currency,币种;eg: BTC、EOS等;pageNo:分页页数;pageSize:每页记录数;from:最新记录的ID。响应数据描述:

参数 类型 描述 样例
id String 账单ID
currency String 账号币种
balance Double 余额
amount Double 变动数量
transferType String 流水类型
created String 创建时间

# 流水类型(交易账号)

类型 描述
INVITE_RETURN 邀请返佣
TRADE_FEE 交易费用
POSITION_SETTLE 仓位结算
ACCOUNT_TRANSFER_IN 从钱包账户转入到交易账户
ACCOUNT_TRANSFER_OUT 从交易账户转出到钱包账户
BUST_ORDER 爆仓
FUNDING 资金费率
GIFT_CREDIT 赠金

# /api/wallet/list

获取用户的钱包账号列表。 GET请求。 请求频率限制:10次/分/Key。 响应数据描述:

参数 类型 描述 样例
currency String 账号币种
blocked Double 冻结(不可用)
available Double 可用余额
balance Double 余额

# /api/wallet/depositAddress

获取用户的钱包地址列表。 GET请求。 请求频率限制:10次/分/Key。 响应数据描述:

参数 类型 描述 样例
currency String 账号币种
address String 地址
memo String 部分币种需要的标签

# /api/wallet/ledger

按币种分页查询用户钱包账号的账本记录,首次通过分页获取所有记录,后续则通过传入最新记录ID获取增量记录。GET请求。 请求频率限制:10次/分/Key。 请求参数:currency,币种,eg: BTC、EOS等;pageNo:分页页数;pageSize:每页记录数;from:最新记录的ID。响应数据描述:

参数 类型 描述 样例
id String 账单ID
currency String 账号币种
balance Double 余额
amount Double 变动数量
fee Double 费用
transferType String 流水类型
transferState String 流水状态
created String 创建时间

# 流水类型(钱包账号)

类型 描述
DEPOSIT 充值
WITHDRAW 提现
TRANSFER_IN 从交易账户转入到钱包账户
TRANSFER_OUT 从钱包账户转出到交易账户
OTC_BUY OTC买
OTC_SELL OTC卖

# 流水状态

类型 描述
WITHDRAW_REQUEST 提现申请
WITHDRAW_CANCEL 提现撤销
WITHDRAW_REFUSAL 管理员拒绝提现
WITHDRAW_WAITING 提现在等待确认
WITHDRAW_CONFIRMING 提现在确认中
DEPOSIT_WAITING 充值在等待确认
DEPOSIT_CONFIRMING 充值在确认中,此状态当前充值的金额不允许提现
AUDIT_SUCCESS 审核成功
AUDIT_FAIL 审核失败
COMPLETE 已完成

# 交易 API (POST)

# /api/trade/enterOrder

下单接口,通过不同参数的组合,支持下普通单、条件单、高级单以及平仓单。POST请求。接口请求频率设在10次/秒/Key。请求参数描述:

参数 类型 描述 样例
currency String 账号币种
hidden boolean 是否为隐藏单 true/false
showQty double 隐藏单显示数量 当 hidden 为 true 时设置
openPosition boolean 开、平仓单 true 为开仓,false 为平仓
orderType String 订单类型 Limit 为限价单;Market 为市价单
price Double 订单价格 市价单价格可以为 null
qty Double 订单数量 正整数
side String 订单方向 Buy 买入,Sell 卖出
symbol String 合约名称 XBTCUSD,XEOSUSD,XBCHUSD 等
stopLossPrice Double 止损价格 不能和追踪止损(trailingStop)同时设置
trailingStop Double 追踪止损 不能和止损价格(stopLossPrice)同时设置
stopWinPrice Double 止盈价格
stopWinType String 止盈类型 Limit为限价止盈,Market为市价止盈
triggerPrice Double 条件单触发价
triggerType String 条件单触发价类型 LAST 为最后成交价触发,INDEX 为标记价触发
tif String 订单生效设定 GOOD_TILL_CANCEL: 一直有效至消失;IMMEDIATE_OR_CANCEL: 立即成交或取消;FILL_OR_KILL:完全成交或取消;QUEUE_OR_CANCEL: 被动委托

# /api/trade/cancelOrder

根据订单Id进行撤单。POST请求。接口请求频率设在20次/秒/Key。请求参数描述:

参数 类型 描述 样例
orderId String 订单 Id

# /api/trade/amendOrder

修改订单信息。POST请求。接口请求频率设在5次/秒/Key。请求参数描述:

参数 类型 描述 样例
orderId String 订单 Id
price Double 订单价格 订单价格修改成功后,系统可能会生产一条新的订单
qty Double 订单数量 订单数量增加修改成功后,系统可能会生产一条新的订单
stopLossPrice Double 止损价格 不能和追踪止损(trailingStop)同时设置
trailingStop Double 追踪止损 追踪止损,不能和止损价格(stopLossPrice)同时设置
stopWinPrice Double 止盈价格
stopWinType String 止盈类型 Limit为限价止盈,Market为市价止盈
triggerPrice Double 条件单触发价

# /api/trade/closePosition

市价全部平仓。POST请求。接口请求频率设在4次/秒/Key。请求参数描述:

参数 类型 描述 样例
currency String 账号币种
symbol String 合约名称 XBTCUSD,XEOSUSD,XBCHUSD 等
side String 所平仓位的方向 Long 为多仓,Short 为空仓

# /api/trade/changePosLeverage

修改仓位杠杆设定。POST请求。接口请求频率设在4次/秒/Key。请求参数描述:

参数 类型 描述 样例
currency String 账号币种
symbol String 合约名称 XBTCUSD,XEOSUSD,XBCHUSD 等
leverage Double 仓位杠杆

# /api/trade/riskSetting

修改仓位风控设定。POST请求。接口请求频率设在5次/秒/Key。请求参数描述:

参数 类型 描述 样例
currency String 账号币种
symbol String 合约名称 XBTCUSD,XEOSUSD,XBCHUSD 等
side String 仓位方向 Long为多仓,Short为空仓
addDeposit Double 追加/减少保证金,只对逐仓模式 备注:追加/减少保证金不能与其他设定一起发送
stopLossPrice Double 止损价格 不能和追踪止损(trailingStop)同时设置
trailingStop Double 追踪止损 不能和止损价格(stopLossPrice)同时设置
stopWinPrice Double 止盈价格
stopWinType String 止盈类型 Limit为限价止盈,Market为市价止盈

# /api/trade/switchPosSide

切换账号单双向持仓模式。POST请求。接口请求频率设在4次/秒/Key。请求参数描述:

参数 类型 描述 样例
currency String 账号币种
twoSidePosition boolean 切换为双向持仓 true 为双向持仓;false 为单向持仓

# /api/trade/changePosMode

将账号持仓模式从逐仓切换为全仓,或从全仓切换为逐仓。POST请求。接口请求频率设在4次/秒/Key。请求参数描述:

参数 类型 描述 样例
currency String 账号币种
individual Boolean true -> 切换为逐仓模式; false -> 切换为全仓模式

# 错误代码列表

错误码 描述
29000 创建 API KEY 的数量超出上限
29001 无效 API KEY
29002 API KEY 被禁用
29003 API KEY 无权限
29004 密文有误
29005 请求超时
29006 无效 IP 地址
20041 IP 地址被限制