近期在对接科大讯飞的接口,看了下几个大厂,腾讯、阿里、华为,其实不外乎由几个部件构成,后期若要设计API平台可参考。
API平台
作为互联网公司,对外暴露接口能力,比如科大讯飞的语音识别、图像识别。华为云也提供了类似的AI服务。一般的流程就是
注册账号,绑定公司 -- > 充值 --> 申请APPID --> 调用接口 --> 计费。 so 可以分为几个模块
- 用户模块
- 钱包OR计费模块
- API管理模块
授权认证
Header
- X-APPID 在平台注册的APPID
- X-Time 时间戳,用于判断是否超过限定时间
- X-Para Json串的base64
- X-Auth MD5(APIKey + X-CurTime + X-Param),看公司的不同,可以使用HMacSHA256或者SHA256,来校验完整性
APIKey为用户注册时,系统颁发的key。
白名单
- IP, 限制入口IP,只有限定IP才可调用,从IP层面过滤请求。
计费
- 根据接口的调用量计费
- 包月包年