聚美智数


人脸身份证比对V2

<h3>接口描述</h3> <ul> <li>输入姓名、身份证号和人脸照片,和公安库照片比较,返回比较结果</li> <li>人像比对结果范围为0-1000,详见:data返回字段说明</li> <li>照片要求:格式为jpg或png,宽和高大于15px, 小于4000px,图片大小不能超过1Mb,保证五官清晰可见,背光不能太强</li> </ul> <h3>请求地址</h3> <p><code>https://api.jumdata.com/face-idcard/compare/ys</code></p> <h3>请求方式</h3> <ul> <li>POST</li> </ul> <h3>请求格式</h3> <ul> <li>form-data</li> </ul> <h3>请求参数</h3> <table> <thead> <tr> <th>名称</th> <th>类型</th> <th>是否必填</th> <th>&lt;div style=&quot;width:400px&quot;&gt;说明&lt;/div&gt;</th> </tr> </thead> <tbody> <tr> <td>appId</td> <td>String</td> <td>是</td> <td>服务商分配的唯一标识</td> </tr> <tr> <td>timestamp</td> <td>Long</td> <td>是</td> <td>当前时间的毫秒数</td> </tr> <tr> <td>sign</td> <td>String</td> <td>是</td> <td>签名,见签名算法说明</td> </tr> <tr> <td>encryption</td> <td>String</td> <td>否</td> <td>参数加密算法,可选值:AES256、AES128、SM4、SM2。默认不加密。&lt;br&gt;详见参数加密说明</td> </tr> <tr> <td>name</td> <td>String</td> <td>是</td> <td>姓名</td> </tr> <tr> <td>idcard</td> <td>String</td> <td>是</td> <td>身份证号码</td> </tr> <tr> <td>image</td> <td>String</td> <td>否</td> <td>图片base64字符串,file、image、url三选一</td> </tr> <tr> <td>url</td> <td>String</td> <td>否</td> <td>图片url,file、image、url三选一</td> </tr> <tr> <td>file</td> <td>file</td> <td>否</td> <td>人脸图片,文件类型,file、image、url三选一</td> </tr> </tbody> </table> <p>优先级:base64 &gt; url &gt; file</p> <h3>签名算法</h3> <pre><code>sign = sha256(appId + appSecret + timestamp)</code></pre> <p>用服务商分配的 <strong>appId</strong>、服务商分配的 <strong>appSecret</strong>,当前时间毫秒数 <strong>timestamp</strong>,按上述顺序拼接成字符串,再进行 <strong>sha256</strong> 哈希得到。如下:</p> <pre><code class="language-java">String appId = &amp;quot;xyzxy2121zxyz&amp;quot;; String timestamp = &amp;quot;1555378976238&amp;quot;; String appSecret = &amp;quot;efcefcef1121cefcefc1212121&amp;quot;; String str = appId + appSecret + timestamp; String sign = sha256(str);</code></pre> <h3>参数加密说明</h3> <p>如果参数需要加密,则通过参数encryption指定加密算法 file和url参数不支持加密,如果人像照片需要加密,请用image参数</p> <ul> <li> <p>AES128 加密key为appSecret,加密算法/分组加密模式/分组填充方式为:AES/ECB/PKCS5Padding</p> </li> <li> <p>AES256 加密key为appSecret [AES256Util.java](<a href="https://file.jumdata.com/support/AES256Util.java">https://file.jumdata.com/support/AES256Util.java</a> &quot;AES256Util.java&quot;)</p> </li> <li> <p>SM4 加密key请联系服务商分配 [SM4Util.java](<a href="https://file.jumdata.com/support/SM4Util.java">https://file.jumdata.com/support/SM4Util.java</a> &quot;SM4Util.java&quot;)</p> </li> <li>SM2 加密公钥请联系服务商分配 [SM2Util.java](<a href="https://file.jumdata.com/support/SM2Util.java">https://file.jumdata.com/support/SM2Util.java</a> &quot;SM2Util.java&quot;)</li> </ul> <h3>正确返回</h3> <pre><code class="language-json">{ &amp;quot;code&amp;quot;: 200, &amp;quot;message&amp;quot;: &amp;quot;成功&amp;quot;, &amp;quot;charge&amp;quot;: true, &amp;quot;taskNo&amp;quot;: &amp;quot;69564903663951243279&amp;quot;, &amp;quot;data&amp;quot;: { &amp;quot;incorrect&amp;quot;: 100, &amp;quot;score&amp;quot;: 860.27, &amp;quot;result&amp;quot;: 1, &amp;quot;msg&amp;quot;: &amp;quot;系统判断为同一人&amp;quot;, &amp;quot;sex&amp;quot;: &amp;quot;男&amp;quot;, &amp;quot;birthday&amp;quot;: &amp;quot;19900105&amp;quot;, &amp;quot;address&amp;quot;: &amp;quot;浙江省杭州市余杭区&amp;quot; } }</code></pre> <h3>错误返回</h3> <pre><code class="language-json">{ &amp;quot;msg&amp;quot;: &amp;quot;身份证号[idcard]格式错误&amp;quot;, &amp;quot;charge&amp;quot;: false, &amp;quot;code&amp;quot;: 400 }</code></pre> <h3>返回字段说明</h3> <table> <thead> <tr> <th>字段名</th> <th>&lt;div style=&quot;width:420px&quot;&gt;说明&lt;/div&gt;</th> </tr> </thead> <tbody> <tr> <td>code</td> <td>返回码,详见返回码说明(非http返回状态码)</td> </tr> <tr> <td>msg</td> <td>code对应的描述</td> </tr> <tr> <td>charge</td> <td>计费标志</td> </tr> <tr> <td>taskNo</td> <td>本次请求号</td> </tr> <tr> <td>data</td> <td>返回具体结果,object类型,详见data返回字段描述</td> </tr> </tbody> </table> <h3>data返回字段说明</h3> <table> <thead> <tr> <th>字段名</th> <th>&lt;div style=&quot;width:420px&quot;&gt;说明&lt;/div&gt;</th> </tr> </thead> <tbody> <tr> <td>incorrect</td> <td>比较结果返回码,详见:incorrect字段详解</td> </tr> <tr> <td>msg</td> <td>比较结果的描述</td> </tr> <tr> <td>score</td> <td>两张照片的相似度,0-1000之间的数字,值越大相似度越高。 &lt;br&gt;incorrect为100时,才会返回该字段。判断依据:&lt;br&gt;score &lt; 600: 系统判断为不同人;&lt;br&gt;600 ≤ score &lt; 700: 不能确定是否为同一人 ; &lt;br&gt; score &gt;= 700: 系统判断为同一人</td> </tr> <tr> <td>result</td> <td>人像比较结果,incorrect为100时,返回该字段,1-同一人,2-不同人,3-不确定是否同一人</td> </tr> <tr> <td>sex</td> <td>性别</td> </tr> <tr> <td>birthday</td> <td>生日</td> </tr> <tr> <td>address</td> <td>籍贯</td> </tr> </tbody> </table> <h3>incorrect字段详解</h3> <table> <thead> <tr> <th>返回码</th> <th>&lt;div style=&quot;width:420px&quot;&gt;说明&lt;/div&gt;</th> </tr> </thead> <tbody> <tr> <td>100</td> <td>身份证号码姓名一致</td> </tr> <tr> <td>101</td> <td>身份证号码姓名不一致</td> </tr> <tr> <td>103</td> <td>身份核验成功,照片检测失败</td> </tr> <tr> <td>109</td> <td>库中无照片</td> </tr> <tr> <td>111</td> <td>未检测到人脸或检测到多张人脸</td> </tr> </tbody> </table> <h3>code返回码说明</h3> <table> <thead> <tr> <th>code</th> <th>&lt;div style=&quot;width:420px&quot;&gt;说明&lt;/div&gt;</th> </tr> </thead> <tbody> <tr> <td>200</td> <td>成功 (计费)</td> </tr> <tr> <td>400</td> <td>参数错误</td> </tr> <tr> <td>404</td> <td>请求地址不正确</td> </tr> <tr> <td>500</td> <td>服务商维护,请稍候再试</td> </tr> <tr> <td>501</td> <td>数据源维护,请稍候再试</td> </tr> <tr> <td>601</td> <td>接口未开通</td> </tr> <tr> <td>602</td> <td>账号停用</td> </tr> <tr> <td>603</td> <td>余额不足请充值</td> </tr> <tr> <td>604</td> <td>接口停用</td> </tr> <tr> <td>606</td> <td>调用超限,请稍候再试</td> </tr> <tr> <td>607</td> <td>ip不在白名单</td> </tr> <tr> <td>609</td> <td>请求过于频繁,请稍候再试</td> </tr> <tr> <td>610</td> <td>请求超时</td> </tr> <tr> <td>999</td> <td>其他,以实际返回为准</td> </tr> </tbody> </table>

页面列表

ITEM_HTML