- [API说明](##1) - [授权认证](##2) - [IP白名单](##3) <a name = "#1"></a> ## API说明 1. 授权认证,调用接口需要将 Appid,CurTime, Param 和 CheckSum 信息放在 HTTP 请求头中; 2. 接口统一为 UTF-8 编码; 3. 接口支持 http 和 https; 4. 请求方式为POST。 <a name = "#2"></a> ## 授权认证 在调用所有业务接口时,都需要在<span style="color:red"> Http Request Header </span>中配置以下参数用于授权认证: |参数|格式|说明|必须| |:-------|:---------|:--------|:---------| |X-Appid|string|讯飞开放平台注册申请应用的应用ID(appid)|是| |X-CurTime|string|当前UTC时间戳,从1970年1月1日0点0 分0 秒开始到现在的秒数|是| |X-Param|string|相关参数JSON串经Base64编码后的字符串,见各接口详细说明|是| |X-CheckSum|string|令牌,计算方法:MD5(apiKey + curTime + param),三个值拼接的字符串,进行MD5哈希计算(32位小写),其中apiKey由讯飞提供,调用方管理。 |是| *注:* * apiKey:接口密钥,由讯飞开放平台提供,调用方注意保管,如泄露,可联系讯飞技术人员重置; * checkSum 有效期:出于安全性考虑,每个 checkSum 的有效期为 5 分钟(用 curTime 计算),同时 curTime 要与标准时间同步,否则,时间相差太大,服务端会直接认为 curTime 无效; * BASE64 编码采用 MIME 格式,字符包括大小写字母各26个,加上10个数字,和加号 + ,斜杠 / ,一共64个字符。 *checkSum *生成示例: ~~~ String apiKey="abcd1234"; String curTime="1502607694"; String param="eyAiYXVmIjogImF1ZGlvL0wxNjtyYXR..."; String checkSum=MD5(apiKey+curTime+param); ~~~ <a name = "#3"></a> ## IP白名单 在调用所有业务接口时,授权认证通过后,检查调用方 ip 是否在讯飞开放平台配置的 ip白名单 中。存在通过,否则拒绝提供服务。 *注:* * IP白名单 可联系讯飞技术人员设置; * 拒绝提供服务返回值: ~~~ { "code":"10105", "desc":"illegal access|illegal client_ip", "data":"", "sid":"xxxxxx" } ~~~