电子合同API开发文档 v5

创建合同

请求地址:/v5/Contracts/create.json

请求方式:POST

接口版本: 5.1.6

接口描述:

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
import net.sf.json.JSONArray;  
import net.sf.json.JSONObject;

//用户请使用UTF-8作为源码文件的保存格式,避免出现乱码问题
public class APIStore {
    /**
     * HTTP的Post请求方式
     * @param strUrl 访问地址
     * @param param 参数字符串
     * */
    public static String doPost(String strUrl, String param) {
        String returnStr = null; // 返回结果定义
        URL url = null;
        HttpURLConnection httpURLConnection = null;
 
        try {
            url = new URL(strUrl);
            httpURLConnection = (HttpURLConnection) url.openConnection();
            httpURLConnection.setRequestProperty("Accept-Charset", "utf-8");
            httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setDoInput(true);
            httpURLConnection.setRequestMethod("POST"); // post方式
            httpURLConnection.connect();
            //System.out.println("ResponseCode:" + httpURLConnection.getResponseCode());
            //POST方法时使用
            byte[] byteParam = param.getBytes("UTF-8");
            DataOutputStream out = new DataOutputStream(httpURLConnection.getOutputStream());
            out.write(byteParam);
            out.flush();
            out.close();
            BufferedReader reader = new BufferedReader(
                    new InputStreamReader(httpURLConnection.getInputStream(), "utf-8"));
            StringBuffer buffer = new StringBuffer();
            String line = "";
            while ((line = reader.readLine()) != null) {
                buffer.append(line);
            }
 
            reader.close();
            returnStr = buffer.toString();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            if (httpURLConnection != null) {
                httpURLConnection.disconnect();
            }
        }
        return returnStr;
    }

    
    //将map型转为请求参数型
    public static String urlencode(Map<String,Object>data) {
        StringBuilder apistore = new StringBuilder();
        for (Map.Entry i : data.entrySet()) {
            try {
                apistore.append(i.getKey()).append("=").append(URLEncoder.encode(i.getValue()+"","UTF-8")).append("&");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
        return apistore.toString();
    }
    
    // 发起请求,获取内容
    public static void main(String[] args) {
    	//请求地址
    	String url="https://api-v2.1dq.com/v5/Contracts/create.json";
       
        //请求参数
        Map params = new HashMap();
                params.put("file_id","signed-ce5858499044c9b8fbbaa272754c145a-108d9e29-0001");
        params.put("name","项目合同协议");
        params.put("open_id","e4c9cf96-a815-11ea-95b6-0242ac110003");
        params.put("signed_data","[ { "open_id": "e4c9cf96-a815-11ea-95b6-0242ac110003", "org_id": "de9beeae-a817-11ea-89a2-0242ac110003" } ]");
        params.put("attachment","[ { "file_id" : "signed-efb2124360fb5f8b109220e27f99ae35-73ff845c-0006", "file_name" : "附件1" }, { "file_id" : "signed-efb2124360fb5f8b109220e27f99ae35-73ff845c-0006", "file_name" : "附件2" } ]");
        params.put("ca_type","1");
        params.put("channel","api");
        params.put("copy_custom_user","[
    {
        "sign_role":"甲方",
        "sign_name":"姓名",
        "sign_number":"电话",
        "sign_company":"选填项,公司名",
        "sign_seal_hand":1,
        "sign_seal_tpl":1,
        "sign_class":1
    }
]");
        params.put("copy_data","");
        params.put("deposit_certificate_type","1");
        params.put("file_end_date","");
        params.put("notice_signed","");
        params.put("org_id","de9beeae-a817-11ea-89a2-0242ac110003");
        params.put("pdf_password","");
        params.put("sign_end_date","");
        params.put("signed_custom_user","[
    {
        "sign_role":"甲方",
        "sign_name":"姓名",
        "sign_number":"电话",
        "sign_company":"选填项,公司名",
        "seal_require":["印章要求"],
        "sign_class":1
    }
]");
        params.put("tpl_data","{
    "自定义参数": "需要替换的内容1",
    "自定义参数2": "需要替换的内容2"
}");
        params.put("tpl_id","");

        String result = doPost(url, urlencode(params));
        //输出结果
        System.out.println(result);
        //JSON
        JSONObject object = JSONObject.fromObject(result);
        //输出状态码
	    System.out.println(object.getInt("code")) ;
	    //输出返回结果
	    System.out.println(object.get("msg")) ;
    }
 
}