• API请求流程示例
    1.MD5单重签名请求流程
    Long current = System.currentTimeMillis();
    Map<String,String> params =  new HashMap<String, String>() ;
    params.put("apiKey", apiKey) ;    // API_KEY
    params.put("a", a);               //业务参数。。。
    params.put("b", b);
    ......
    params.put("tonce", current.toString());
    a.参数进行字典排序
    Collection<String> keyset= params.keySet();  
    List<String> list=new ArrayList<String>(keyset); 
    Collections.sort(list);
    b.参数k-v字符串生成
    String signString = "" ;     
    for( String key : list ){
    	String split = "".equals(signString)?"":"&" ;
    	signString += split+ key+"="+params.get(key) ;
    }
    signString = signString+"&secretKey="+apiSecret;   // API_SECRET
    c.基于UTF-8编码的MD5加密,生成校验字符串sign
    String sign = "";
    try {
        MessageDigest md = MessageDigest.getInstance("MD5");
        byte[] bytes = md.digest(signString.getBytes("utf-8"));
        final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();
    	StringBuilder ret = new StringBuilder(bytes.length * 2);
    	for (int i=0; i<bytes.length; i++) {
    		ret.append(HEX_DIGITS[(bytes[i] >> 4) & 0x0f]);
    		ret.append(HEX_DIGITS[bytes[i] & 0x0f]);
    	}
    	sign =  ret.toString();
    }
    d. 封装参数发起POST请求
    Map<String,String> reqParams =  new HashMap<String, String>() ;
    reqParams.put("apiKey", apiKey) ;    // API_KEY
    reqParams.put("a", a) ;              //业务参数。。。
    reqParams.put("b", b) ; 
    ...... 
    reqParams.put("tonce", current.toString());
    reqParams.put("sign",sign) ;         //MD5签名
    String result = send(url,reqParams, "UTF-8");
    2. ETH私钥签名请求流程
    a.参数字典排序
    Long current = System.currentTimeMillis();
    Map<String,String> params =  new HashMap<String, String>() ;
    params.put("apiKey", apiKey) ;    // API_KEY
    params.put("a", a);               //业务参数。。。
    params.put("b", b);
    ......
    params.put("tonce", current.toString());
    Collection<String> keyset= params.keySet();  
    List<String> list=new ArrayList<String>(keyset); 
    Collections.sort(list);
    b.参数字符串生成
    String signString = "" ;     
    for( String key : list ){
    	String split = "".equals(signString)?"":"&" ;
    	signString += split+ key+"="+params.get(key) ;
    }
    c.基于eth私钥加密,生成私钥加密串,并设置到参数map中
    String presign = ethSign(password, keystore, signString) ;    //具体方法在后面列出
    param.put("presign", presign);
    d.对照步骤a、b,对param再次进行字典序排列并生成字符串
    Collection<String> keyset1= params.keySet();  
    List<String> list1=new ArrayList<String>(keyset1); 
    Collections.sort(list1); 
    String signString1 = "" ;     
    for( String key : list1 ){
    	String split = "".equals(signString1)?"":"&" ;
    	signString1 += split+ key+"="+params.get(key) ;
    }
    signString1 = signString1+"&secretKey="+apiSecret;   // API_SECRET
    e. 基于UTF-8编码的MD5
    String sign = "";
    try {
      MessageDigest md = MessageDigest.getInstance("MD5");
      byte[] bytes = md.digest(signString1.getBytes("utf-8"));
      final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();
    	StringBuilder ret = new StringBuilder(bytes.length * 2);
    	for (int i=0; i<bytes.length; i++) {
    		ret.append(HEX_DIGITS[(bytes[i] >> 4) & 0x0f]);
    		ret.append(HEX_DIGITS[bytes[i] & 0x0f]);
    	}
    	sign =  ret.toString();
    }
    f. 封装参数发起POST请求
    Map<String,String> reqParams =  new HashMap<String, String>() ;
    reqParams.put("apiKey", apiKey) ;    // API_KEY
    reqParams.put("a", a) ;              //业务参数。。。
    reqParams.put("b", b) ; 
    ...... 
    reqParams.put("tonce", current.toString());
    reqParams.put("presign",presign);     //ETH私钥签名
    reqParams.put("sign",sign) ;          //MD5签名
    String result = send(url,reqParams, "UTF-8");
    
    // ETH私钥验证,需要用到web3j包
    public  static String  ethSign(String passPhrase,String keystore,String signString){
    	try {
    		ObjectMapper objectMapper = ObjectMapperFactory.getObjectMapper();
    		JsonParser parser = objectMapper.getFactory().createParser(keystore);
    		WalletFile walletFile = objectMapper.readValue(parser, WalletFile.class);
    		Credentials cred = Credentials.create(Wallet.decrypt(passPhrase, walletFile));
    		ECKeyPair ecKeyPair = cred.getEcKeyPair() ;
    		SignatureData sd = Sign.signMessage( signString.getBytes() , ecKeyPair ) ;
    		byte[] bytes = new byte[1+32+32];
    		bytes[0] = sd.getV();
    		System.arraycopy( sd.getR() , 0, bytes, 1, 32);
    		System.arraycopy(sd.getS(), 0, bytes, 33, 32);
    		String sign = Hex.toHexString(bytes);
    		return sign ;
    	} catch (IOException e) {
    		e.printStackTrace();
    	} catch (CipherException e) {
    		e.printStackTrace();
    	}
    	return null ;
    }
    
    // 发起HTTP POST请求
    public static String send(String url, Map<String, String> map, String encoding){
    		String body = "";
    		CloseableHttpResponse response = null;
    		try {
    			CloseableHttpClient client = HttpClients.createDefault();
    			HttpPost httpPost = new HttpPost(url);
    			List<NameValuePair> nvps = new ArrayList<NameValuePair>();
    			if (map != null) {
    				for (Entry<String, String> entry : map.entrySet()) {
    					nvps.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
    				}
    			}
    			httpPost.setEntity(new UrlEncodedFormEntity(nvps, encoding));
    			httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
    			httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
    
    			response = client.execute(httpPost);
    			HttpEntity entity = response.getEntity();
    			if (entity != null) {
    				body = EntityUtils.toString(entity, encoding);
    			}
    			EntityUtils.consume(entity);
    		} catch (IOException e) {
    
    		} finally {
    			if (response != null) {
    				try {
    					response.close();
    				} catch (IOException e) {
    					e.printStackTrace();
    				}
    			}
    		}
    		return body;
    }  
    Stop
  • 签名数据示例
    示例keystore{"version":3,"id":"1e185a08-59b0-4556-8d71-a5cbfe76ffe9","address":"0769e7028983a48ac407d378b4c8a2549e1a9208","crypto":{"ciphertext":"53433a0483fda22a7488b302892a57dc32ed7f1e23927fb69f7dba43c493dbcc","cipherparams":{"iv":"a0045536d758b295c36f71631d74b82c"},"cipher":"aes-128-ctr","kdf":"scrypt","kdfparams":{"dklen":32,"salt":"a792c36368c0b7862a329d6d45163ef957d5d206247fa9c1b1029ce416bf36fa","n":262144,"r":8,"p":1},"mac":"1678ff371eb84303cddab2e7bedcbc7cf94e2b881279562774c0027720f06c92"}}
    示例keystore密码 123456
    ETH私钥签名串apiKey=hello&num=1&price=1&side=buy&symbol=DEW.ETH&tonce=1532060010152
    ETH私钥签名结果1ceaac0d609f22e73305c57a17797b17a84bc35fcf9daa7ebb0ac2bfa651b5e519748f1500490f178a548ac8e13405b99e2bd23c71f3a4586ce578bdc5252290dc
    MD5签名串apiKey=hello&num=1&price=1&presign=1ceaac0d609f22e73305c57a17797b17a84bc35fcf9daa7ebb0ac2bfa651b5e519748f1500490f178a548ac8e13405b99e2bd23c71f3a4586ce578bdc5252290dc&side=buy&symbol=DEW.ETH&tonce=1532060010152&secretKey=hello
    MD5签名结果9f8a1bd0052a7bfcd43d5f3d9161b4b5
    Stop
  • ETH私钥签名
    API采用两重混合签名机制(ETH私钥签名,MD5签名)。交易下单相关接口采用两重签名机制,其他交易查询接口采用MD5单重签名机制。
    1.General
    签名步骤 签名示例
    对请求参数进行字典排序 排序后的字符串: apiKey=xxxxxxxxx&num=1&price=1&side=buy &symbol=DEW.ETH&tonce=1532060010152
    使用ETH私钥对以上字符串进行签名 签名得到V,R,S
    对VRS进行处理 Java示例代码
    //生成65位字节数组
    byte[] bytes = new byte[1+32+32];
    //V赋值给第一个字节
    bytes[0] = sd.getV();
    //R赋值到第2-33个字节
    System.arraycopy( sd.getR() , 0, bytes, 1, 32);
    //S赋值到第34-65个字节
    System.arraycopy(sd.getS(), 0, bytes, 33, 32);
    //转化为十六进制字符串
    String sign = Hex.toHexString(bytes);
    将签名结果添加到参数中 参数名称为presign
    2.MD5签名
    签名步骤 签名示例
    对请求参数进行字典排序 如果为两重签名,参数中应该包括ETH签名结果,即在参数中添加presgin=xxxxxx
    在排序后的签名串最后添加MD5签名私钥 签名字符串=签名字符串+”&”+secretKey=xxxxxx
    MD5签名 MD5(签名字符串)
    将签名结果添加到参数 参数名称为sign
    Stop
  • 获取服务器时间
    1.基本信息
    功能描述 获取服务器时间戳
    访问地址 http://api.dew.one/api/v1/tonce
    method GET
    签名方式
    2.Reference
    3.Response
    long类型的时间(1970-1-01 00:00:00.000 到当前的时间距离,类型为long )
    Stop
  • 获取账户资金情况
    1.基本信息
    功能描述 获取账户资金信息
    访问地址 http://api.dew.one/api/v1/accounts
    method POST
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{“currency”:”DEW”,”avaliable”:10000, ”freeze”:0,”total”:10000},…]
    currency:币种名称
    available:可用数量
    freeze:冻结数量
    total:总量
    收起
  • 可交易现货交易对(币币对)接口
    1.基本信息
    功能描述 查询当前API可交易的现货交易对
    访问地址 http://api.dew.one/api/v1/spot/symbols
    method GET
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{“symbol”:”DEW.ETH”,”name”:”DEW/ETH”, ”numScale”:3,”priceScale”:6},…]
    numScale:下单数量小数位
    priceScale:下单价格小数位
    收起
  • 可交易期货标的接口
    1.基本信息
    功能描述 查询当前API可交易的期货标的列表
    访问地址 http://api.dew.one/api/v1/fut/symbols
    method GET
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{“symbol”:”BTC-YX”, ”name”:”比特币永续”, ”unit”:”张”, ”type”:”PERM”, ”deposit”:5, ”evenupDeposit”:1, ”currency”:”DEW”, “ratio”:20, “numScale”:0, “priceScale”:1, “lastTradeTime”:””, “deliveryTime”:””},…]
    symbol:期货标的标识
    type:PERM(永续期货)/DAILY(日交割期货)
    deposit: 单位数量保证金
    evenupDeposit:单位数量最低保证金
    currency:保证金币种
    ratio:杠杆,仅仅针对永续期货
    numScale:购买数量小数位,下单数量必须遵循小数位规则
    priceScale:价格小数位,下单价格必须遵循小数位规则
    lastTradeTime:最后交易时间,仅仅针对日期货
    deliveryTime:交割时间,仅仅针对日期货
    收起
  • 实时行情接口
    1.基本信息
    功能描述 查询现货交易对/期货标的的实时行情
    访问地址 http://api.dew.one/api/v1/ticker
    method GET
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y String 期货标的标识/现货交易对标识
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {“symbol”:”BTC-YX”, ”date”:20180728, ”time”:010025, ”price”:6400, “lastPrice”:6220, “highestPrice”:6500, “lowestPrice”:6100, “volume”:123123, “amount”:1231300, “change”:200, “percent”:”0.005”, “timestamp”:1532776712, “feeRatio”:”0.005”, “nextSettleTime”:”2018-08-14 14:00:00”, “nextFeeRatio”:“0.006” }
    symbol:期货或现货标识
    date:最新行情日期
    time:最新行情时间
    price:最新行情价
    timestamp:服务端响应时间戳
    feeRatio:当前资金费率,仅仅针对期货的永续合约
    nextSettleTime:下一个资金费用结算点,仅仅针对期货的永续合约
    nextFeeRatio:下一期预估资金费率,仅仅针对期货的永续合约
    收起
  • 买卖档接口
    1.基本信息
    功能描述 查询现货交易对/期货标的的买卖档
    访问地址 http://api.dew.one/api/v1/depth
    method GET
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y String 期货标的标识或者现货交易对标识
    size Y Int 买卖档的深度,比如size=5代表查询5档
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {"nextFeeRatio":"0.000193", "asks":["7225:1214","7227.7:21"], "bids":["7217.1:10","7217:4"], "nextSettleTime":"2018-09-03 14:00:00", "feeRatio":"0.000054"}}
    bids: 买档数字
    asks: 卖档数组
    feeRatio: 当前资金费率,仅仅针对期货的永续合约
    nextSettleTime:下一个资金费用结算点,仅仅针对期货的永续合约
    nextFeeRatio:下一期预估资金费率,仅仅针对期货的永续合约
    收起
  • 现货委托下单接口
    1.基本信息
    功能描述 现货单个委托下单接口
    访问地址 http://api.dew.one/api/v1/spot/trade
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y string 现货交易对代码,如DEW.ETH
    num Y decimal 下单数量
    price Y decimal 下单价格
    side Y string 下单方向(buy|sell)
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {“order_id”:1}
    请求委托编号(委托为异步处理,委托是否成功需要通过查询接口来获取)
    收起
  • 现货委托批量下单接口
    1.基本信息
    功能描述 现货批量下单接口
    访问地址 http://api.dew.one/api/v1/spot/trade_batch
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    orders Y string [ {“symbol”:””,num:1,price:1,side:’buy’,index:1}, {“symbol”:””,num:1,price:1,side:’buy’,index:2} ]
    index:单次批量下单中唯一
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{“index”:1,”order_id”:123},{”index”:2,”order_id”:124},{”index”:2,”msg”:“Error”}]
    index:与委托保持一致
    msg:处理失败返回错误信息
    收起
  • 现货委托撤单接口
    1.基本信息
    功能描述 根据委托编号撤单
    访问地址 http://api.dew.one/api/v1/spot/cancel
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    orderId Y string 多个委托编号逗号分隔(英文逗号)
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {“order_id”:123}
    撤单为异步撤单,响应不代表撤单成功
    收起
  • 现货委托批量撤单接口
    1.基本信息
    功能描述 对指定交易对相关的委托进行批量撤单
    访问地址 http://api.dew.one/api/v1/spot/cancel_all
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y string 现货交易对代码,如DEW.ETH
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {“order_ids”:”order_id1,order_id2,order_id3”}
    撤单为异步撤单,响应不代表撤单成功
    收起
  • 现货委托查询接口
    1.基本信息
    功能描述 根据委托编号查询单个委托
    访问地址 http://api.dew.one/api/v1/spot/order
    method POST
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    orderId Y long 委托编号
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {“id”:123,”symbol”:”DEW.ETH”,”side”:”buy”,”price”:1, ”num”:1.123,”remaining”:1,”doneNum”:0.123,”revokeNum”:0,”status”:”BFCJ” }
    id:委托编号
    num : 委托数量
    remaining :未完成数量
    doneNum: 成交数量
    revokeNum: 撤单数量
    status: 状态(见附录1)
    收起
  • 现货委托批量查询接口
    1.基本信息
    功能描述 查询指定交易对未完成的委托单
    访问地址 http://api.dew.one/api/v1/spot/orders
    method POST
    签名方式MD5
    2.请求参数说明
    参数必须 类型 说明
    symbolYstring现货交易对代码,如DEW.ETH
    sizeYlong查询记录数(最大允许查询50条,默认30条)
    tonceYlong时间戳
    apiKeyYstringMD5签名的ApiKey
    signYstringMD5私钥签名
    3.响应结果说明
    响应字段类型说明
    successbool请求是否成功
    messagestring请求失败返回的原因
    result响应结果 [{“id”:123,”symbol”:”DEW.ETH”,”side”:”buy”,”price”:1, ”num”:1.123,”remaining”:1,”doneNum”:0.123,”revokeNum”:0,”status”:”BFCJ” },……]
    num : 委托数量
    remaining :未完成数量
    doneNum: 成交数量
    revokeNum: 撤单数量
    status: 状态(见附录1)
    收起
  • 现货成交批量查询接口
    1.基本信息
    功能描述 根据指定条件查询成交单
    访问地址 http://api.dew.one/api/v1/spot/dones
    method POST
    签名方式 MD5
    2.请求参数说明
    参数必须类型 说明
    symbolNstring现货交易对代码,如DEW.ETH
    orderIdNstring多个委托编号逗号分隔,和symbol不能同时为空
    startTimeNstring开始时间(yyyy-MM-dd HH:mm:ss)
    endTimeNstring结束时间(yyyy-MM-dd HH:mm:ss)
    start Ylong开始记录数,从0开始
    limit Ylong最大查询记录数,最大50
    tonce Ylong时间戳
    apiKey YstringMD5签名的ApiKey
    signYstringMD5私钥签名

    查询记录按照时间倒叙排列
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{“id”:123,”symbol”:”DEW.ETH”,”side”:”buy”,”price”:1, ”num”:1.123,”time”:”20180728121111” },……]
    id :成交编号
    num :成交数量
    time:成交时间
    收起
  • 期货下单接口
    1.基本信息
    功能描述 对期货标的进行建仓或者平仓委托
    访问地址 http://api.dew.one/api/v1/fut/trade
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    type Y string 操作类型(open|close)分别代表建仓|平仓
    symbol Y string 期货标的标识,如BTC-YX,BTCI-20180729
    num Y decimal 下单数量(大于0)
    price Y decimal 下单价格
    side Y string 下单方向(buy|sell)分别代表看多|看空
    tonce Y long 时间戳
    apiKey Y string MD5签名的apiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {"order_id":"6045473"}或{"msg":"Symbol Error"}
    order_id:委托编号(委托为异步处理,委托是否成功需要通过返回的order_id查询来获取),在success为true的时候返回,可以基于委托编号order_id查询委托的具体状态
    msg:委托失败原因,在success为false的时候返回
    收起
  • 期货批量下单
    1.基本信息
    功能描述 对期货标的进行批量的建仓或平仓
    访问地址 http://api.dew.one/api/v1/fut/trade_batch
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y String 期货标的标识,批量下单只能针对单一期货标的,否则会下单失败
    orders Y string [{'symbol':'BTC-YX','num':1,'price':8180,'side':'buy','type':'open','index':'1'},{'symbol':'BTC-YX','num':2,'price':8170,'side':'buy','type':'open','index':'2'}]
    批量下单只能针对单一期货标的(symbol)
    index为期货批量下单记录下标
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{"index":"1","order_id":"6045474"},{"index":"2","order_id":"6045475"},{"index":"3","msg":"Symbol Error"}]
    index:为期货批量下单记录下标
    order_id:委托编号
    msg:对应编号委托失败的原因
    收起
  • 期货委托查询接口
    1.基本信息
    功能描述 基于委托编号查询期货订单的委托信息
    访问地址 http://api.dew.one/api/v1/fut/order
    method POST
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y string 期货标的标识
    orderId Y string 委托编号,多个委托编号英文”,”逗号分隔
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{"id":"6045474","type":"OPEN","symbol":"BTC-YX","side":"BUY","price":7980.000000,"num":1.000000,"successNum":0.000000,"failNum":0.000000,"cancelNum":0.000000,"remaining":1.000000,"revokable":true,status:"YB"},{}...]
    id: 委托编号
    type: open/close 开仓/平仓
    symbol:期货标的标识
    side: buy/sell 看多/看空
    num:委托数量
    successNum:成交数量
    failNum:失败数量
    cancelNum:撤销数量
    remaining:可撤销数量
    revokable:当前委托是否可以撤销
    status:委托状态,见附录1
    收起
  • 期货委托批量查询接口
    1.基本信息
    功能描述 基于期货标的标识查询所有未完成的委托
    访问地址 http://api.dew.one/api/v1/fut/orders
    method POST
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y String 期货标的标识
    size Y Int 查询记录数(最大允许查询50条,默认30条)
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{"id":"6045467","type":"OPEN","symbol":"BTC-YX","side":"BUY","price":7980.000000,"num":1.000000,"successNum":0.000000,"failNum":0.000000,"cancelNum":0.000000,"remaining":1.000000,"revokable":true,status:"YCJ"},{}...]
    id: 委托编号
    type: open/close开仓/平仓
    symbol:期货标的标识
    side: buy/sell 看多/看空
    num:委托数量
    successNum:成交数量
    failNum:失败数量
    cancelNum:撤销数量
    remaining:可撤销数量
    revokable:当前委托是否可以撤销
    status:委托状态,见附录1
    收起
  • 期货委托的成交明细查询接口
    1.基本信息
    功能描述 基于期货标的标识查询成交明细信息
    访问地址 http://api.dew.one/api/v1/fut/dones
    method POST
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y String 期货标的标识
    orderId N string 多个委托编号逗号分隔
    startTime N string 开始时间(yyyy-MM-dd HH:mm:ss)
    endTime N string 结束时间(yyyy-MM-dd HH:mm:ss)
    start Y long 开始记录数,从0开始
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{"id":12313,"type":"OPEN","symbol":"BTC-YX","side":"BUY","price":7980.000000,"num":1.0000,"time":"2017-12-09 21:12:20"},{}...]
    id: 委托编号
    type: open/close 开仓/平仓
    symbol: 期货标的标识
    side: buy/sell 看多/看空
    price: 成交价格
    num: 委托数量
    time:成交时间
    收起
  • 期货委托撤单接口
    1.基本信息
    功能描述 撤销期货建仓或平仓委托单
    访问地址 http://api.dew.one/api/v1/fut/cancel
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y String 期货标的标识
    orderId Y long 委托编号,多个之间英文逗号”,”分隔
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {"order_ids":["1234","1235"]}
    order_ids返回撤销指令发送成功的委托编号数组 撤单为异步撤单,响应不代表撤单成功
    收起
  • 期货委托批量撤单接口
    1.基本信息
    功能描述 撤销期货标的下的所有未完成委托
    访问地址 http://api.dew.one/api/v1/fut/cancel_all
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y string 现货交易对代码,如DEW.ETH
    positionType N String pbull/pbear,分别代表多持仓和空持仓
    当期货类型type为PERM(永续合约)时,必须传递,因为永续合约同时支持多仓和空仓; 为DAILY时,可以不传递
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {"order_ids":["6045469","6045473","6045474","6045475"]}
    撤单为异步撤单,响应不代表撤单成功
    收起
  • 期货持仓接口
    1.基本信息
    功能描述 查询期货标的的当前持仓
    访问地址 http://api.dew.one/api/v1/fut/positions
    method POST
    签名方式 MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y string 期货标的标识
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 [{"id":226,"symbol":"BTC-YX","num":1.000000,"tradableNum":1.000000,"costPrice":7980.000000,"evenupPrice":7656.012000,"profit":0.060000},{}...]
    id:持仓标识
    symbol:交易对标志
    num:持仓数量,正数表示多仓,负数表示空仓
    tradableNum: 可交易数量,正数表示多持仓可交易数,负数表示空持仓可交易数
    costPrice:成本价
    evenupPrice:强制平仓价
    profit:浮动收益
    收起
  • 追加保证金接口
    1.基本信息
    功能描述 对期货持仓增加保证金
    访问地址 http://api.dew.one/api/v1/fut/margin_call
    method POST
    签名方式 ETH+MD5
    2.请求参数说明
    参数 必须 类型 说明
    symbol Y string 期货标的标识
    positionId Y long 期货持仓标识,通过持仓查询api返回(对应id)
    deposit Y decimal 追加保证金金额,不能为负
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    presign Y string ETH私钥签名
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {"order_id":"6200722"}
    order_id:追加保证金订单id
    保证金的追加处理是异步的,需要通过订单id去查询是否追加成功
    收起
  • 期货持仓保证金追加结果查询接口
    1.基本信息
    功能描述 查询期货持仓的保证金追加是否成功
    访问地址 http://api.dew.one/api/v1/fut/margin_call_result
    method POST
    签名方式 MD5
    2.请求参数说明
    参数 必须类型 说明
    symbol Y string 期货标的标识
    orderId Y long 追加保证金订单order_id
    tonce Y long 时间戳
    apiKey Y string MD5签名的ApiKey
    sign Y string MD5私钥签名
    3.响应结果说明
    响应字段 类型 说明
    success bool 请求是否成功
    message string 请求失败返回的原因
    result 响应结果 {“status”:”SUCCESS”}
    status:值可能为SUCCESS/FAIL/CONFIRM,分别表示保证金追加成功、失败和确认中
    收起
  • 附录
    1.附录1-委托单状态
    状态 描述
    JJSL 拒绝受理用户提交的委托请求(完结状态)
    SLZ 受理中,系统正在处理中,不可撤单
    YB 委托单受理成功
    DC 等待撤单,提交撤单后可能的状态
    BCDC 部成待撤,交易部分成功部分待撤
    BFCJ 部分成交
    BCBC 部成部撤(完结状态)
    CD 撤单状态(完结状态)
    YCJ 已成交(完结状态)
    收起