完整生成一個雲合同例項
阿新 • • 發佈:2019-01-28
<?php header("Content-Type: text/html;charset=utf-8"); ////獲取長效令牌 $appId="20185454500018";//應用APPID $appKey="qvegfhgfhG0qDei"; $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => "https://api.yunhetong.com/api/auth/login", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HEADER => true,//false時,取得code CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n\"appId\":\"$appId\",\n\"appKey\":\"$appKey\"\n}", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json" ), )); $response = curl_exec($curl); $err = curl_error($curl); curl_close($curl); if ($err) { echo "cURL Error #:" . $err.die; } else { //echo $response; $headArr = explode("\r\n", $response); foreach ($headArr as $loop) { if(strpos($loop, "token") !== false){ $token = trim(substr($loop, 6)); //$token = trim($loop); } if(strpos($loop, "code") !== false){ //$code = trim(substr($loop, 6)); $rp = trim($loop); } } } $arr = json_decode($rp, true); $code = $arr['code'];//code=200 說明成功 $msg = $arr['msg']; //不成功 if($code!="200" || !$token){ print_r( "獲取長效令牌,原因:".$msg).die; } ////$token="eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE1MjQ0NzI5MjEsImp0aSI6ImcxSlJHdDJzeHRNMXFMOU9ta2hVUVFkdXVsSzh4Sk5NcUlIbkE5eUgvYkJwbk5yeHEvYVY4TDVia0VQY051QzQyTlZicWhzKzByUjVHeDV6WGZ3N2d3PT0ifQ.NQd0ujuYk5ZrBHmmMvgx9JaVPH3qSXxcxlMNvkkp7zq3-d67wo5lubT_wkGqRukNmii7IoWM-vjxx8ax681abg"; //print_r($code).die; //建立個人使用者 $userName = "鍾安志";////使用者姓名(最長 15 字元)成採南 $identityRegion = 0;////身份地區:0 大陸,1 香港,2 臺灣,3 澳門 $certifyNum = "422827199911149418";////身份證號碼,應用內唯一 520181198002175907 $phoneRegion = 0;////手機號地區:0 大陸,1 香港、澳門,2 臺灣 $phoneNo = "13640550035";//手機號:1.大陸,首位為 1,長度 11 位純數字;2.香港、澳門,長度為 8 的純數字;3.臺灣,長度為 10 的純數字 $caType = "B1";//證書型別:A1 CFCA 場景,A2 CFCA 長效,B1 ZJCA 場景,B2 ZJCA 長效 $curl2 = curl_init(); curl_setopt_array($curl2, array( CURLOPT_URL => "https://api.yunhetong.com/api/user/person", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n\"caType\": \"$caType\",\n\"certifyNum\": \"$certifyNum\",\n\"identityRegion\": \"$identityRegion\",\n\"phoneNo\": \"$phoneNo\",\n\"phoneRegion\": \"$phoneRegion\",\n\"userName\": \"$userName\"\n}", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "token: $token" ), )); $response2 = curl_exec($curl2); $err2 = curl_error($curl2); curl_close($curl2); if ($err2) { echo "cURL Error #:" . $err2.die; } else { //echo $response2; $arr2 = json_decode($response2, true); $code2 = $arr2['code'];//code=200 說明成功 $msg2 = $arr2['msg']; //不成功 if($code2!=200){ print_r( "建立個人使用者失敗,原因:".$msg2).die; } $signerId = $arr2['data']['signerId']; } // $signerId=60; // echo $signerId; //建立個人印模 $curl3 = curl_init(); curl_setopt_array($curl3, array( CURLOPT_URL => "https://api.yunhetong.com/api/user/personMoulage", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n\"signerId\": \"$signerId\",\n\"borderType\": \"B2\",\n\"fontFamily\": \"F1\"\n}", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "token: $token" ), )); $response3 = curl_exec($curl3); $err3 = curl_error($curl3); curl_close($curl3); if ($err3) { echo "cURL Error #:" . $err3.die; } else { // echo $response3; $arr3 = json_decode($response3, true); $code3 = $arr3['code'];//code=200 說明成功 $msg3 = $arr3['msg']; //不成功 if($code3!=200){ print_r( "建立個人印模失敗,原因:".$msg3).die; } $moulageId = $arr3['data']['moulageId']; } //$moulageId=82; ////print_r($moulageId); //根據模版生成合同 $contractTitle="測試合同標題"; $templateId="TEM1001231"; $curl4 = curl_init(); curl_setopt_array($curl4, array( CURLOPT_URL => "https://api.yunhetong.com/api/contract/templateContract", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n\"contractTitle\": \"$contractTitle\",\n\"templateId\": \"$templateId\"\n}", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "token: $token" ), )); $response4 = curl_exec($curl4); $err4 = curl_error($curl4); curl_close($curl4); if ($err4) { echo "cURL Error #:" . $err4.die; } else { // echo $response4; $arr4 = json_decode($response4, true); $code4 = $arr4['code'];//code=200 說明成功 $msg4 = $arr4['msg']; //不成功 if($code4!=200){ print_r( "建立個人印模失敗,原因:".$msg4).die; } $contractId = $arr4['data']['contractId']; $contractId=str_replace(",","",number_format($contractId)); } print_r($contractId); //$contractId="1804232025535010"; //添加簽署者 $curl5 = curl_init(); curl_setopt_array($curl5, array( CURLOPT_URL => "https://api.yunhetong.com/api/contract/signer", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", //CURLOPT_POSTFIELDS => "{\n\"contractTitle\": \"$contractTitle\",\n\"templateId\": \"$templateId\"\n}", CURLOPT_POSTFIELDS => "{\"idType\": \"0\",\n\"idContent\": \"$contractId\",\n\"signers\": [{\"signerId\": \"$signerId\",\n\"signPositionType\": \"1\",\n\"positionContent\": \"88046\",\n\"signValidateType\": \"0\"}\n]\n}", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "token: $token" ), )); $response5 = curl_exec($curl5); $err5 = curl_error($curl5); curl_close($curl5); if ($err5) { echo "cURL Error #:" . $err5.die; } else { //echo $response5; $arr5 = json_decode($response5, true); $code5 = $arr5['code'];//code=200 說明成功 $msg5 = $arr5['msg']; } //不成功 if($code5!=200){ print_r( "建立個人印模失敗,原因:".$msg5).die; } // print_r($code5); //合同簽署 $curl6 = curl_init(); curl_setopt_array($curl6, array( CURLOPT_URL => "https://api.yunhetong.com/api/contract/sign", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => "{\n\"idType\": \"0\",\n\"idContent\": \"$contractId\",\n\"signerId\": \"$signerId\",\n\"moulageId\": \"$moulageId\"\n}", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "token: $token" ), )); $response6 = curl_exec($curl6); $err6 = curl_error($curl6); curl_close($curl6); if ($err6) { echo "cURL Error #:" . $err6.die; } else { echo $response6; $arr6 = json_decode($response6, true); $code6 = $arr6['code'];//code=200 說明成功 $msg6 = $arr6['msg']; } //不成功 if($code6!=200){ print_r( "合同簽署失敗,原因:".$msg6).die; } // print_r($code6); ?>
//合同下載 //$contractId="1804241101415029"; $curl7 = curl_init(); curl_setopt_array($curl7, array( CURLOPT_URL => "https://api.yunhetong.com/api/contract/download/0/$contractId", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "GET", //CURLOPT_POSTFIELDS => "{\n\"idType\": \"0\",\n\"idContent\": \"$contractId\",\n\"signerId\": \"$signerId\",\n\"moulageId\": \"$moulageId\"\n}", CURLOPT_HTTPHEADER => array( "cache-control: no-cache", "content-type: application/json", "token: $token" ), )); $response7 = curl_exec($curl7); $err7 = curl_error($curl7); curl_close($curl7); if ($err7) { echo "cURL Error #:" . $err7.die; } else { echo $response7; $arr7 = json_decode($response7, true); $code7 = $arr7['code'];//code=200 說明成功 $msg7 = $arr7['msg']; $data7 = $arr7['data']; //不成功 if($code7!=200){ print_r( "合同下載失敗,原因:".$msg7).die; }else{ print_r("合同下載成功!"); header("Location: https://api.yunhetong.com/api/auth/download/$data7"); } }