美文网首页
物流可视化API

物流可视化API

作者: 富阳溪西 | 来源:发表于2016-06-16 15:53 被阅读0次

    函数设计

    帐号及密码

    • app_key: 请联系开发人员,进行配置
    • AppSecret: 请联系开发人员,进行配置

    sign生成调用

    • java
     public static String SignTopRequest(Map<string, string> appParams, String secret) 
    throws IOException {
        // 第一步:把字典按Key的字母顺序排序
        Map<string, string> sortedParams = new TreeMap<string, string>();
        if (appParams != null && appParams.size() > 0) {
           sortedParams.putAll(appParams);
        }
        Set<entry <string, string>> paramSet = sortedParams.entrySet();
        // 第二步:把所有参数名和参数值串在一起
        StringBuilder query = new StringBuilder(secret);
        for (Entry<string, string> param : paramSet) {
           if ((!param.getKey().equals("")) && (!param.getValue().equals(""))) 
           {
               query.append(param.getKey()).append(param.getValue());
           }
        }
        // 第三步:使用MD5加密
        byte[] bytes = encryptMD5(query.toString());
        // 第四步:把二进制转化为大写的十六进制
        return byte2hex(bytes);
    }
    private static byte[] encryptMD5(String data) 
    throws IOException {
         byte[] bytes = null;
         try {
             MessageDigest md = MessageDigest.getInstance("MD5");
             bytes = md.digest(data.getBytes("UTF-8"));
         } catch (GeneralSecurityException gse) {
             throw new IOException(gse);
       }
       return bytes;
     }
     private static String byte2hex(byte[] bytes) {
        StringBuilder sign = new StringBuilder();
        for (int i = 0; i < bytes.length; i++) {
           String hex = Integer.toHexString(bytes[i] & 0xFF);
           if (hex.length() == 1) {
              sign.append("0");
           }
           sign.append(hex.toUpperCase());
         }
         return sign.toString();
    }
    
    • net
    public static string SignApiRequest(IDictionary<string, string> parameters, string secret)
        { 
         IDictionary<string, string> dictionary = new SortedDictionary<string, string>(parameters);
    StringBuilder builder = new StringBuilder(secret);
    foreach (var key in dictionary.Keys)
     {
         if (!string.IsNullOrEmpty(key) && !string.IsNullOrEmpty(dictionary[key]))
         {builder.Append(key).Append(dictionary[key]);}
    }
    byte[] buffer = MD5.Create().ComputeHash(Encoding.UTF8.GetBytes(builder.ToString()));Console.WriteLine(builder.ToString());
    StringBuilder builder2 = new StringBuilder();
    for (int i = 0; i < buffer.Length; i++)
    {
      builder2.Append(buffer[i].ToString("X2"));
    }
    return builder2.ToString();
    }
    

    回执节点描述

    序号 字段名 中文名称
    1 StatusGuid GUID
    2 VesselName 船名
    3 VoyageNo 航次
    4 BillNo 提单号
    5 DivBillNo 分提单号
    6 SatusType 状态类型
    7 ContainerNo 箱号
    8 YardName 堆场
    9 StatusDate 状态时间
    10 Pier 码头
    11 PierResponse 码头放行回执
    12 SealNo 封号
    13 CustomsNo 报关单号
    14 CargoName 英文品名
    15 Pkgs 件数
    16 GrossWeight 毛重
    17 Measurement 体积
    18 CustomsResponse 海关预配回执
    19 BarCode 条型码
    20 SpareDate 备用时间字段
    21 Spare1 备用字段1
    22 Spare2 备用字段2
    23 Spare3 备用字段3
    24 Spare4 备用字段4
    25 Spare5 备用字段5
    26 CreateDate 创建日期
    27 UpdateDate 更新日期
    28 VesselCode 船舶UN代码
    29 IEFlag 进出口标记
    30 CtnOperator 箱经营人
    31 PlaceCode 地点代码
    32 Place 地点,对应地点代码中的中文

    相关文章

      网友评论

          本文标题:物流可视化API

          本文链接:https://www.haomeiwen.com/subject/rgmmdttx.html