卜数开放平台API

API

下单

接口地址:http://open.boudata.com/tss/api/order/push

请求参数:

名称说明备注
paramsJson字符串Json字符串,具体见下面params参数说明
uName对接账号
uSign签名MD5(uToken + timestamp)
timestamp时间戳格式:2018-12-12 12:12:12

params参数:

名称编码类型必填示例
客户单号ccodeStringErp0000001
寄件人send_manStringTRUE张三
寄件人电话send_phoneStringTRUE18767166222
寄件省份send_provinceStringTRUE浙江省
寄件市send_cityStringTRUE杭州市
寄件区县send_districtString江干区
寄件乡镇send_townString
寄件具体地址send_street_noStringTRUE
收件人receive_manStringTRUE李四
收件人电话receive_phoneStringTRUE18767166333
收件省份receive_provinceStringTRUE江苏省
收件市receive_cityStringTRUE扬州市
收件区县receive_districtStringTRUE高邮市
收件乡镇receive_townString
收件具体地址receive_street_noStringTRUExx小区x幢
件数amountIntegerTRUE
体积volumeDoubleTRUE
下单重量weightDoubleTRUE
服务方式service_modeString派送, 站点自提, 中心自提, 自提
保价额insurance_limitDouble
支付方式pay_typeStringTRUE寄付, 到付
代收货款金额codDouble
需要网点上门提货if_visitBooleanTRUE
快件if_fastBooleanDefault=false
备注remarkString

响应参数:

名称编码类型示例
结果resultBoolean
错误信息errorMsgStringresult=false时会有该属性
订单dataObject{ccode:Erp0000001,ocode:BB1812120001 ...}
ccode:客户单号,ocode:E8单号 ...

查轨迹

接口地址:http://open.boudata.com/tss/api/order/trace

请求参数:

名称说明备注
paramsJson字符串Json字符串,具体见下面params参数说明
uName对接账号
uSign签名MD5(uToken + timestamp)
timestamp时间戳格式:2018-12-12 12:12:12

params参数:

名称编码类型必填示例
E8单号ocodeStringTRUE
客户单号ccodeStringTRUE

响应参数:

名称编码类型示例
轨迹dataString2018-12-26 20:34:16 已签收,签收人是:【请见电子面单】\n2018-12-26 20:34:10 快件已到达【黄岩北城】\n2018-12-25 12:06:20 快件已到达【台州黄岩一部】\n2018-12-25 06:57:30 快件由【台州分拨 】发往【台州黄岩一部】\n2018-12-25 02:48:45 快件已到达【台州分拨】\n2018-12-24 22:37:05 快件由【宁波分拨 】发往【台州分拨】\n2018-12-24 22:27:01 快件已到达【宁波分拨】\n2018-12-24 20:24:41快件在【XX网点】已揽件
结果resultBoolean
错误信息errorMsgStringResult=false时会有该属性

取消订单

接口地址:http://open.boudata.com/tss/api/order/cancel

请求参数:

名称说明备注
paramsJson字符串Json字符串,具体见下面params参数说明
uName对接账号
uSign签名MD5(uToken + timestamp)
timestamp时间戳格式:2018-12-12 12:12:12

params参数:

名称编码类型必填示例
E8单号ocodeStringE8单号和客户单号必传一个
客户单号ccodeString

响应参数:

名称编码类型示例
结果resultBoolean
错误信息errorMsgStringResult=false时会有该属性

Java调用

  public void xiadan() {
    String myCode = "ERP000004";
    JSONObject ov = new JSONObject();
    ov.put("ccode", myCode);
    ov.put("send_man", "张三");
    ov.put("send_phone", "18767166222");
    ov.put("send_province", "浙江省");
    ov.put("send_city", "杭州市");
    ov.put("send_district", "江干区");
    ov.put("send_street_no", "一号大街华媒科创园");
    ov.put("receive_man", "李四");
    ov.put("receive_phone", "18767166333");
    ov.put("receive_province", "北京市");
    ov.put("receive_city", "北京市");
    ov.put("receive_district", "东城区");
    ov.put("receive_street_no", "中关村");
    ov.put("amount", 3);
    ov.put("volume", 1.11);
    ov.put("weight", 100.5);
    ov.put("service_mode", "派送");
    ov.put("insurance_limit", 3000D);
    ov.put("pay_type", "寄付");
    ov.put("cod", 8999D);
    ov.put("if_visit", true);
    ov.put("remark", "请尽快上门取货");
    executePost(origin + "/tss/api/order/push", ov);
  }

  private void executePost(String url, JSONObject ov) {
    PostMethod postMethod = new PostMethod(url);
    postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");

    postMethod.setParameter("params", ov.toString());
    postMethod.setParameter("uName", uName);
    String time = DateUtil.formatCare2Second(new Date());
    postMethod.setParameter("timestamp", time);
    postMethod.setParameter("uSign", InfoEncoder.string2MD5(uToken + time));

    HttpClient httpClient = new HttpClient();
    try {
      httpClient.executeMethod(postMethod);
      String responseBody = postMethod.getResponseBodyAsString();
      System.out.println(responseBody);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }