我们在自己的小程序里接入京东联盟,实际上模式是用户点击商品详情页下单,然后跳转到“京东购物”小程序领券下单(像下面那样),但是这个接口是需要申请的,且自有小程序日均访问人数>1万。
今天主要聊的问题是,在调用
jd.union.open.goods.query 关键词商品查询接口,
传入skuIds(商品id),获取商品信息时,link(优惠券链接)字段可能有两种格式
第1种格式:
https://coupon.m.jd.com/coupons/show.action?linkKey=AAROH_xIpeffAs_-naABEFoeGo4CzIIBSm6OZ-iHBsef1Ulb7oP2B8_HnnMO2GVLOSXu__IVMkUavrjQafq41lR7imQEaQ
拿着这种格式的couponUrl作为参数来调用
jd.union.open.promotion.bysubunionid.get 社交媒体获取推广链接接口,获取shortURL字段值用来跳转到“京东购物小程序”,没有问题。
第2种格式:
拿着这种格式的couponUrl作为参数来调用
jd.union.open.promotion.bysubunionid.get 社交媒体获取推广链接接口,获取shortURL字段值,就会报如下的错,因为实际上传给couponUrl的值是长这样的,也就是&被转义成了&
{
"jd_union_open_promotion_bysubunionid_get_response":{
"result":"{"code":2001904,"message":"优惠券接口异常,请稍后重试","requestId":"o_0b28dd34_kh0q1j4u_17008509"}",
"code":"0"
}
}
解决方法:在
通过jd.union.open.goods.query
获取到link的值后,将值encodeURIComponent编码再传给
jd.union.open.promotion.bysubunionid.get
这个接口就可以解决。
山水有相逢,来日皆可期,谢谢阅读,我们再会
我手中的金箍棒,上能通天,下能探海