多语言展示
当前在线:1392今日阅读:113今日分享:31

速卖通上产品报错isp.postproduct-服务不可用

做速卖通的API开发是一件很折腾的事。接口时不时的都会有升级或是变动。最近遇见一个问题,就是在做发布产品的api接口的时候,一直提示“Remote service error,isp.postproduct-服务不可用”。店铺不能发布产品,一堆销售来找。然后各种排查,发现都没有什么问题。最后提了个工单,给的工单回复是“请注意检查入参数据是否填错。参数类型是否正确”。我那个纠结啊。然后有了以下的再次排查和测试。
工具/原料
1

自己搭建的速卖通聚石塔系统

2

自己搭建的速卖通奇门系统

3

有自己的产品数据

方法/步骤
1

找一个真实能发布产品的数据,对照api的数据结构,把数据拼好。对照着接口的字段看下每个字段的类型。看自己拼的数据结构类型和接口文档可否一致。

2

关键的一步就是要去聚石塔里根据sdk示例把数据对接上去。速卖通的api请求的流程是,自己的系统---》请求奇门---》聚石塔----》速卖通然后最终才会把你的数据推到速卖通上去,发布成功或失败又按着这个流程反着把数据返回给你。所以你要拼两次数据,一次是你的系统请求奇门到聚石塔,到了聚石塔之后又要拼好数据然后才去请求速卖通。所以问题的关键在后面这一步。

3

如果我们在聚石塔接收到请求的数据之后直接按照api的示例拼装的话会有一个问题。比如我尺码表模版ID字段“sizechart_id“,看到接口的类型是“Number”。如果你这个字段没有传值,不能默认为0或是“0”。如果这样设置默认值,就会报“isp.postproduct-服务不可用”。原来这个报错的问题在这里。

4

找问题之后。不管什么字段,不管什么字段类型,只要没有传值的情况下。他们的默认值都给NULL。这样子拼好之后,你可以再去试下有没有解决掉你的问题。我这样子改好后,产品提示发布成功。这个只针对php语言开发的api,其它语言可以参考。

注意事项

很多时候接口没有说的太详细,很多坑都需要自己去多试试才能解决

推荐信息