开放平台用户手册.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>开放平台用户手册</title>
  7. <style>
  8. body {
  9. font-family: Arial, sans-serif;
  10. line-height: 1.6;
  11. margin: 20px;
  12. }
  13. h1, h2, h3, h4 {
  14. color: #333;
  15. }
  16. pre {
  17. background: #f4f4f4;
  18. padding: 10px;
  19. border-radius: 5px;
  20. overflow: auto;
  21. }
  22. table {
  23. width: 100%;
  24. border-collapse: collapse;
  25. margin: 20px 0;
  26. }
  27. th, td {
  28. border: 1px solid #ddd;
  29. padding: 8px;
  30. }
  31. th {
  32. background-color: #f2f2f2;
  33. }
  34. </style>
  35. </head>
  36. <body>
  37. <h1>开放平台用户手册</h1>
  38. <h2>接入指南</h2>
  39. <h3>注册用户</h3>
  40. <ul>
  41. <li>打开富士行云的开放平台,点击“注册”按钮,填写相关信息,提交注册申请。</li>
  42. <li>注册成功后可以登录富士行云开放平台。用于后续的应用开通,接口调用等。</li>
  43. </ul>
  44. <h3>创建应用</h3>
  45. <h4>创建应用</h4>
  46. <ul>
  47. <li>用户登录后,可以创建应用,创建应用需要填写应用名称、应用描述、应用类型、应用回调地址等。</li>
  48. <li>创建成功后,等待审批通过。</li>
  49. </ul>
  50. <h4>绑定项目</h4>
  51. <ul>
  52. <li>应用审批通过,需要工作人员协助绑定项目。</li>
  53. </ul>
  54. <h4>开通接口</h4>
  55. <ul>
  56. <li>绑定项目成功后,可以开通接口。开通哪些接口也是需要工作人员协助开通的。</li>
  57. </ul>
  58. <h3>申请token</h3>
  59. <ul>
  60. <li>应用开通接口后,可以申请token。申请token需要填写appId、appSecret、timestamp、sign等信息。</li>
  61. <li>具体的申请token接口调用方法,请参考接口规范和接口列表。</li>
  62. </ul>
  63. <h3>接口调用</h3>
  64. <ul>
  65. <li>调用接口在请求头中需要加入token。</li>
  66. <li>需要对接口的参数进行签名。签名需要用到应用中的signatureKey。</li>
  67. </ul>
  68. <h2>接口规范</h2>
  69. <h3>字符集和编码</h3>
  70. <ul>
  71. <li>接口请求和响应的字符集和编码统一为UTF-8。</li>
  72. <li>接口请求和响应的消息体采用JSON格式。</li>
  73. </ul>
  74. <h3>通讯规范</h3>
  75. <ul>
  76. <li>接口采用https协议进行通讯。</li>
  77. <li>所有的开放接口都采用post请求。</li>
  78. </ul>
  79. <h3>请求参数</h3>
  80. <ul>
  81. <li>所有的请求都需要携带token。token在请求头中加入Authorization字段。</li>
  82. <li>所有的请求消息体都在http body中。</li>
  83. <li>所有的上行接口请求都需要携带sign字段,用户验证签名。</li>
  84. <li>请求中都需要携带timestamp字段,用于验证请求是否超时。</li>
  85. </ul>
  86. <p>请求体示例:</p>
  87. <pre><code>{
  88. "name": "fujica",
  89. "type": 1,
  90. "timestamp": 1610123456789,
  91. "sign": "12djuhd123fsdas83"
  92. }</code></pre>
  93. <h3>响应参数</h3>
  94. <ul>
  95. <li>所有的响应都携带code、msg、data字段。</li>
  96. <li>code为响应状态码,msg为响应消息,data为响应数据。</li>
  97. <li>code为1000000表示请求成功,其他表示请求失败。</li>
  98. </ul>
  99. <p>响应体示例:</p>
  100. <pre><code>{
  101. "code": 1000000,
  102. "msg": "操作成功",
  103. "data": {
  104. "name": "fujica",
  105. "type": 1
  106. }
  107. }</code></pre>
  108. <h3>签名算法</h3>
  109. <ul>
  110. <li>接口的请求参数,需要加签的字段,会在接口参数中说明。</li>
  111. <li>对所有需要加签的参数,按照ASCII码排序,然后拼接成字符串。</li>
  112. <li>用应用的signatureKey进行AES加密。</li>
  113. <li>加密后的字符串,作为sign参数的值。</li>
  114. </ul>
  115. <p>签名算法示例:</p>
  116. <p>请求参数:</p>
  117. <pre><code>{
  118. "name": "fujica",
  119. "type": 1,
  120. "timestamp": 1610123456789,
  121. "sign": "12djuhd123fsdas83"
  122. }</code></pre>
  123. <p>加密字段:name type</p>
  124. <p>加密后的字符串:fujica1</p>
  125. <p>加密后的字符串进行AES加密,加密密钥为应用的signatureKey。假设signatureKey为123456</p>
  126. <p>加密结果:</p>
  127. <h3>SDK下载与使用</h3>
  128. <ul>
  129. <li>富士行云开放平台后续将提供SDK下载,用户可以根据自己的开发语言,下载对应的SDK。</li>
  130. </ul>
  131. <h3>错误码</h3>
  132. <p>富士行云开放平台后续会提供错误码,用于接口调用失败时,提供错误原因。</p>
  133. <p>错误码表格:</p>
  134. <table>
  135. <thead>
  136. <tr>
  137. <th>错误码</th>
  138. <th>错误原因</th>
  139. <th>解决方案</th>
  140. </tr>
  141. </thead>
  142. <tbody>
  143. <tr>
  144. <td>1000000</td>
  145. <td>操作成功</td>
  146. <td></td>
  147. </tr>
  148. <tr>
  149. <td>1000001</td>
  150. <td>系统异常</td>
  151. <td></td>
  152. </tr>
  153. <tr>
  154. <td>1000002</td>
  155. <td>参数异常</td>
  156. <td></td>
  157. </tr>
  158. <tr>
  159. <td>1000003</td>
  160. <td>签名异常</td>
  161. <td></td>
  162. </tr>
  163. </tbody>
  164. </table>
  165. <h2>接口列表</h2>
  166. <h3>上行接口</h3>
  167. <h4>获取token</h4>
  168. <ul>
  169. <li>接口地址:/open/oauth/token</li>
  170. <li>请求方式:POST</li>
  171. <li>请求参数:JSON格式</li>
  172. </ul>
  173. <pre><code>{
  174. "appId": "123456",
  175. "appSecret": "123456",
  176. "timestamp": 1610123456789,
  177. "sign": "123456"
  178. }</code></pre>
  179. <ul>
  180. <li>响应参数:JSON格式</li>
  181. </ul>
  182. <p>响应示例:</p>
  183. <pre><code>{
  184. "code": 1000000,
  185. "msg": "操作成功",
  186. "data": {
  187. "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNjEwMTIzNDU2LCJleHAiOjE2MTA1MjM0NTYsInVzZXJuYW1lIjoiYWRtaW4iLCJpYXQiOjE2MTA1MjM0NTYsImV4cCI6MTYxMDUyMzQ1NiwiaWF0IjoxNjEwMTIzNDU2LCJzdWIiOiIxMjM0NTY3ODkwIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
  188. }
  189. }</code></pre>
  190. <h3>下行接口</h3>
  191. <p>下行接口需要配置了回调地址的应用才能调用。另外下行接口不加签。</p>
  192. </body>
  193. </html>