与第三方Api接口对接需要注意的点
一、非技术对接
- 【重要】画出流程时序图
- 查看对方文档,积极沟通
- 本公司接口文档和图发对方确认,一定要对方明确答复
- 【重要】每天查看进度,不能没人管,至少本公司必须有专一团队负责人!
- 团队成员稳定专一
二、技术对接
-
网络协议方面
确认接口对接的网络协议:https/http 端口号 或 tcp 端口号 Webservice -
接口请求方面
尽量全部约定 数据传参+响应格式为:application/json
数据访问方式 POST请求 -
接口安全方面
考虑是否需要安全考虑,比如内网,外网一定要有认证机制 -
【重要】幂等校验方面
确保 本公司接口和三方公司接口都有唯一校验功能,防止重复提交 -
【重要】重试机制方面
一定要确认是否需要接口调用失败后的重试机制,保证数据传输的最终一致性。
重试机制包括 实时重试调用指定次数 + 调用失败持久化数据库定时任务重试 -
接口地址不要写成localhost 或 127.0.0.1
双机热备情况下可能导致死循环调用
三、必要措施
-
完善的文档归档,防止后面对方扯皮和给新同事查看
-
需要自己有对接模拟接口,防止三方公司接口迟迟未完成,影响整个项目进度
-
尽量最小数量系统对接,至少本公司一套程序(每增加一个系统对接成本翻倍)
-
日志记录 接口接收到的数据,以及解析之后的参数值,都要用日志记录下来,方便查看原因。
四、常见错误解决
看到常见的错误不发呆,常见经验记住。
- http 404 响应
查看ip地址端口后,接口名称大小写,另外注意特殊字符、全角模式下的字符(将URL字符串复制到 doc命令行可以看出特殊字符)
2.== http 400 响应==
请求的数据和接受的数据无法匹配,提示 METHOD 错误
查看传输的参数是否格式正确, 需要date 却传递string
将对方发送的完整的参数拷贝进行测试,不要只测试一点点参数
-
http 415 响应
查看 contentType 是否正确,前后台媒体类型不一致 -
http 320 响应
临时重定向, 看看是否配置了https 强制跳转导致的问题 -
http 401 响应
一般是未登录,用户名密码错误 -
http 403 响应
无权限操作,用户登录了但该用户没有权限操作该功能