运营商信息接口文档


三要素认证详版

<p>[TOC]</p> <h5>简要描述</h5> <ul> <li>对手机号、姓名、身份证三要素进行认证</li> </ul> <h5>请求URL</h5> <ul> <li><code>{BASE_URL}/api/mobile/threeElements/detail</code></li> </ul> <h5>请求方式</h5> <ul> <li>POST </li> </ul> <h5>json参数</h5> <pre><code>{     &amp;quot;clientId&amp;quot;:&amp;quot;xinghe&amp;quot;,     &amp;quot;mobile&amp;quot;:&amp;quot;13800138000&amp;quot;,     &amp;quot;charset&amp;quot;:&amp;quot;UTF-8&amp;quot;, &amp;quot;timestamp&amp;quot;:1699937218637,     &amp;quot;sign&amp;quot;:&amp;quot;aM9vPlG4F37TMrkpRnxMgilvuidDwiqWL1gVsrtCT/xtiVwHRcPLjpKolJQheJhyzjpEZLgekuPqcwsgaEtNiJwK6tFxUSwFOeh0Pq4Dsln+2+P11NqjD3kx1z3KS/MehyRvU1fw/V7Npza/eP1a0S3eL0i0PT7gNnI1o=&amp;quot; }</code></pre> <h5>参数</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必选</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">clientId</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>接入方ID,由星河分配</td> </tr> <tr> <td style="text-align: left;">mobile</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>手机号码</td> </tr> <tr> <td style="text-align: left;">name</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>姓名</td> </tr> <tr> <td style="text-align: left;">idNo</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>身份证</td> </tr> <tr> <td style="text-align: left;">timestamp</td> <td style="text-align: left;">是</td> <td style="text-align: left;">long</td> <td>当前时间戳,单位:毫秒</td> </tr> <tr> <td style="text-align: left;">charset</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>请求和签名使用的字符编码格式,建议使用 UTF-8</td> </tr> <tr> <td style="text-align: left;">sign</td> <td style="text-align: left;">是</td> <td style="text-align: left;">string</td> <td>签名,签名流程请查看文档最下方备注</td> </tr> </tbody> </table> <h5>返回示例</h5> <pre><code> { &amp;quot;code&amp;quot;: 200, &amp;quot;success&amp;quot;:true, &amp;quot;data&amp;quot;: { &amp;quot;result&amp;quot;: 1, &amp;quot;desc&amp;quot;: &amp;quot;三要素验证一致&amp;quot;, &amp;quot;isp&amp;quot;: &amp;quot;CM&amp;quot; , &amp;quot;traceId&amp;quot;: &amp;quot;Y0xrKVuV&amp;quot; }, &amp;quot;msg&amp;quot;: &amp;quot;操作成功&amp;quot; }</code></pre> <h5>返回参数说明</h5> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>状态码,&lt;br/&gt;200:查询成功;&lt;br/&gt;400:参数有误;&lt;br&gt;500:内部错误;</td> </tr> <tr> <td style="text-align: left;">success</td> <td style="text-align: left;">boolean</td> <td>是否响应成功 true:是, false:否</td> </tr> <tr> <td style="text-align: left;">result</td> <td style="text-align: left;">int</td> <td>认证结果代码,详情请查看下方表格</td> </tr> <tr> <td style="text-align: left;">charge</td> <td style="text-align: left;">int</td> <td>是否计费,0-不计费,1-计费</td> </tr> <tr> <td style="text-align: left;">desc</td> <td style="text-align: left;">string</td> <td>认证结果描述</td> </tr> <tr> <td style="text-align: left;">isp</td> <td style="text-align: left;">string</td> <td>所属运营商,CM:移动,CT:电信,CU:联通</td> </tr> <tr> <td style="text-align: left;">traceId</td> <td style="text-align: left;">string</td> <td>本次查询请求的标识</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">string</td> <td>提示信息</td> </tr> </tbody> </table> <h5>认证结果的详细说明</h5> <table> <thead> <tr> <th style="text-align: left;">认证结果代码</th> <th style="text-align: left;">描述</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">1</td> <td style="text-align: left;">三要素验证一致</td> </tr> <tr> <td style="text-align: left;">3</td> <td style="text-align: left;">身份证和姓名均与实名信息不一致</td> </tr> <tr> <td style="text-align: left;">4</td> <td style="text-align: left;">手机号和证件号一致,姓名不一致</td> </tr> <tr> <td style="text-align: left;">5</td> <td style="text-align: left;">手机号和姓名一致,身份证不一致</td> </tr> <tr> <td style="text-align: left;">6</td> <td style="text-align: left;">非实名制</td> </tr> <tr> <td style="text-align: left;">7</td> <td style="text-align: left;">姓名身份证不一致</td> </tr> <tr> <td style="text-align: left;">201</td> <td style="text-align: left;">查无</td> </tr> <tr> <td style="text-align: left;">500</td> <td style="text-align: left;">服务异常</td> </tr> </tbody> </table> <h5>备注</h5> <ul> <li> <p>通过 linux 生成RSA密钥对:</p> <h1>顺序执行以下命令</h1> <p>openssl genrsa -out private#1.pem 1024 openssl pkcs8 -topk8 -inform PEM -in private#1.pem -outform PEM -nocrypt -out private#8.pem openssl rsa -in private#1.pem -pubout -out public#8.pem</p> <h1>私钥在 private#8.pem</h1> <h1>公钥在 public#8.pem</h1> </li> <li>接入方需先生成 RSA 密钥对,私钥请妥善保管,避免遗失,不要泄露,公钥提供给星河数据系统管理员并申请 clientId;</li> <li>签名(sign)原理: <ol> <li>获取所有 post 内容,不包括字节类型参数,如文件、字节流,剔除 sign 字段,剔除值为空的参数;</li> <li>按照第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序,以此类推;</li> <li>将排序后的参数与其对应值,组合成 参数=参数值 的格式,并且把这些参数用 &amp; 字符连接起来,再进行 MD5 编码,此时生成的字符串为待签名字符串</li> </ol></li> </ul>

页面列表

ITEM_HTML