发现有人吐槽对接的第三方接口烂的,我也说一下之前对接的接口,我相信应该没有几个能比我对接的这个烂的了。
准备
之前要给我们这边的客户对接一个做税盘的公司的接口,然后拉了个群,对面首先发了个ppt过来和接口文档说明,对照着ppt在他们网站上注册账户拿到秘钥等的信息,然后恶心的就来了。
对照着文档第一步肯定是看需要那些配置信息,先配置好等着到时候直接使用。然后就发现接口文档中需要的几个必要的参数信息有些在网站上始终找不到,询问他们的技术,说这几个不填也没事。
签名
然后就开始生成签名。文档中给出了生成签名的dome,但是是Java的代码。因为我是PHP对接的,怕出现问题,还特意把他们的dome跑起来看返回结果是一样的,才敢跟他们提问题。然后人家就说我这个参数不对要用小写字母,那个要用下划线,这个参数不需要等等,反正最后改的基本也就还有文档上50%的字段是重合的。还是不对,再把签名前拼接的字符串发过去,说这个参数要去掉。改了再发过去,对面:这里需要新加一个参数。来来回回持续了三四天,终于签名是对了。
正式的接口对接
接来就是正式请求他们的接口,参数不对之类的问题就不提了。我看着又返回报错信息,人家说给我们开的是测试账号。但是现在测试环境还没搭好需要等一下。那就等呗,这一等一个多星期就过去了。
正式开始对接了,发现我发送过去的数据他们老是接受不到。然后又是持续性的对战,我说我这边数据发送没问题。他们就说别人请求的都可以,这我就又怀疑是我的问题了,反复查看了好几遍代码,根本没发现错误,完全按文档来的,为此我还特地写了个接口看看能不能接收到自己的数据。对线了两三天,他们终于发现是他们的问题了,开始等着他们修改后再测试。
接口终于是通了,看看请求的数据是不是正常。要输入身份证号等的信息,随便编了一个还不通过。告诉我只能用真实的信息,我总不能为了对个接口把自己也搭进去吧。然后给客户反应了一下,还是我们的甲方猛啊,上线直接开骂,终于是给找了个信息让我们测试用。
正常是调用之后,返回一个第三方接口那边的链接给用户,然后用户填写相关信息。填写完成后,我们这边能够通过其他接口查询到。然后用测试信息试了好几遍之后发现,他返回给我的数据是数据,而且顺序要不确定,也不能唯一对应到,是不是本次的请求。他们那边解释说只能这么弄,因为他们也是对接的其他方的接口,人家就是这么返回的,也就只能这么返回给我们。没办法,好歹还有个时间字段,只能大概的判断一下。
状态码
到这本来就算是基本完活了,然后交付给客户测试。过了三五天,我一看后台日志有好多请求错误,而且错误类型错误码都没见过。又问他们要了一套状态码说明文档,对照着处理了一下。结果过几天又冒出来几个错误代码。
总结
上述的问题很多都是重复多次出现,本来预计3-5天差不多就能对接完了的。断断续续对接了快一个月。
这种的接口还对接了好几家,每家都会出现各种问题。然后在联想到以前对接过的Java的接口,发现他们好像都会有各种各样的问题。80%会出现的就是大小写参数或者数据类型问题。让我传字符串过去,结果你却用整形去处理,然后跟我返回报错。或者只能传一般的数据过去等等。