123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- <!DOCTYPE html>
- <html lang="zh-CN">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>开放平台用户手册</title>
- <style>
- body {
- font-family: Arial, sans-serif;
- line-height: 1.6;
- margin: 20px;
- }
- h1, h2, h3, h4 {
- color: #333;
- }
- pre {
- background-color: #f4f4f4;
- padding: 10px;
- border-radius: 5px;
- border: 1px solid #ddd;
- }
- table {
- width: 100%;
- border-collapse: collapse;
- margin: 20px 0;
- }
- th, td {
- padding: 10px;
- border: 1px solid #ddd;
- text-align: left;
- }
- th {
- background-color: #f4f4f4;
- }
- </style>
- </head>
- <body>
- <h1>开放平台用户手册</h1>
- <h2>接入指南</h2>
- <h3>注册用户</h3>
- <ul>
- <li>打开富士行云的开放平台,点击“注册”按钮,填写相关信息,提交注册申请。</li>
- <li>注册成功后可以登录富士行云开放平台。用于后续的应用开通,接口调用等。</li>
- </ul>
- <h3>创建应用</h3>
- <h4>创建应用</h4>
- <ul>
- <li>用户登录后,可以创建应用,创建应用需要填写应用名称、应用描述、应用类型、应用回调地址等。</li>
- <li>创建成功后,等待审批通过。</li>
- </ul>
- <h4>绑定项目</h4>
- <ul>
- <li>应用审批通过,需要工作人员协助绑定项目。</li>
- </ul>
- <h4>开通接口</h4>
- <ul>
- <li>绑定项目成功后,可以开通接口。开通哪些接口也是需要工作人员协助开通的。</li>
- </ul>
- <h3>申请token</h3>
- <ul>
- <li>应用开通接口后,可以申请token。申请token需要填写appId、appSecret、timestamp、sign等信息。</li>
- <li>具体的申请token接口调用方法,请参考接口规范和接口列表。</li>
- </ul>
- <h3>接口调用</h3>
- <ul>
- <li>调用接口在请求头中需要加入token。</li>
- <li>需要对接口的参数进行签名。签名需要用到应用中的signatureKey。</li>
- </ul>
- <h2>接口规范</h2>
- <h3>字符集和编码</h3>
- <ul>
- <li>接口请求和响应的字符集和编码统一为UTF-8。</li>
- <li>接口请求和响应的消息体采用JSON格式。</li>
- </ul>
- <h3>通讯规范</h3>
- <ul>
- <li>接口采用https协议进行通讯。</li>
- <li>所有的开放接口都采用post请求。</li>
- </ul>
- <h3>请求参数</h3>
- <ul>
- <li>所有的请求都需要携带token。token在请求头中加入Authorization字段。</li>
- <li>所有的请求消息体都在http body中。</li>
- <li>所有的上行接口请求都需要携带sign字段,用于验证签名。</li>
- <li>请求中都需要携带timestamp字段,用于验证请求是否超时。</li>
- </ul>
- <p>请求体示例:</p>
- <pre><code>{
- "name": "fujica",
- "type": 1,
- "timestamp": 1610123456789,
- "sign": "12djuhd123fsdas83"
- }</code></pre>
- <h3>响应参数</h3>
- <ul>
- <li>所有的响应都携带code、msg、data字段。</li>
- <li>code为响应状态码,msg为响应消息,data为响应数据。</li>
- <li>code为1000000表示请求成功,其他表示请求失败。</li>
- </ul>
- <p>响应体示例:</p>
- <pre><code>{
- "code": 1000000,
- "msg": "操作成功",
- "data": {
- "name": "fujica",
- "type": 1
- }
- }</code></pre>
- <h3>签名算法</h3>
- <ul>
- <li>接口的请求参数,需要加签的字段,会在接口参数中说明。</li>
- <li>对所有需要加签的参数,按照ASCII码排序,然后拼接成字符串。</li>
- <li>用应用的signatureKey进行AES加密。</li>
- <li>加密后的字符串,作为sign参数的值。</li>
- </ul>
- <p>签名算法示例:</p>
- <p>请求参数:</p>
- <pre><code>{
- "name": "fujica",
- "type": 1,
- "timestamp": 1610123456789,
- "sign": "12djuhd123fsdas83"
- }</code></pre>
- <p>加密字段:name type</p>
- <p>加密后的字符串:fujica1</p>
- <p>加密后的字符串进行AES加密,加密密钥为应用的signatureKey。假设signatureKey为123456</p>
- <p>加密结果:</p>
- <h3>SDK下载与使用</h3>
- <ul>
- <li>富士行云开放平台后续将提供SDK下载,用户可以根据自己的开发语言,下载对应的SDK。</li>
- </ul>
- <h3>错误码</h3>
- <ul>
- <li>富士行云开放平台后续会提供错误码,用于接口调用失败时,提供错误原因。</li>
- </ul>
- <p>错误码表格:</p>
- <table>
- <thead>
- <tr>
- <th>错误码</th>
- <th>错误原因</th>
- <th>解决方案</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>1000000</td>
- <td>操作成功</td>
- <td></td>
- </tr>
- <tr>
- <td>1000001</td>
- <td>系统异常</td>
- <td></td>
- </tr>
- <tr>
- <td>1000002</td>
- <td>参数异常</td>
- <td></td>
- </tr>
- <tr>
- <td>1000003</td>
- <td>签名异常</td>
- <td></td>
- </tr>
- </tbody>
- </table>
- <h2>接口列表</h2>
- <h3>上行接口</h3>
- <h4>获取token</h4>
- <ul>
- <li>接口地址:/open/oauth/token</li>
- <li>请求方式:POST</li>
- <li>请求参数:JSON格式</li>
- </ul>
- <pre><code>{
- "appId": "123456",
- "appSecret": "123456",
- "timestamp": 1610123456789,
- "sign": "123456"
- }</code></pre>
- <ul>
- <li>响应参数:JSON格式</li>
- </ul>
- <p>响应示例:</p>
- <pre><code>{
- "code": 1000000,
- "msg": "操作成功",
- "data": {
- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNjEwMTIzNDU2LCJleHAiOjE2MTA1MjM0NTYsInVzZXJuYW1lIjoiYWRtaW4iLCJpYXQiOjE2MTA1MjM0NTYsImV4cCI6MTYxMDUyMzQ1NiwiaWF0IjoxNjEwMTIzNDU2LCJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
- }
- }</code></pre>
- <h3>下行接口</h3>
- <p>下行接口需要配置了回调地址的应用才能调用。另外下行接口不加签。</p>
- </body>
- </html>
|