分销铺货商品发布
新商品发布,提交商品发布信息。 此接口可能会触发店铺的人脸识别认证。
1.请求参数:
请求URL:
POST https://open.fw199.com/gateway/alibaba/item/publish/distribute/submit
基础参数
参数名 | 类型 | 必须 | 示例值 | 说明 |
---|---|---|---|---|
appid | String | true | uwkahf@jfs92 | 合作伙伴AppId |
timestamp | String | true | 1633618722 | 当前时间戳 |
tb_seller_nick | String | true | kingdo | 淘宝卖家店铺登录账号,非店铺名称 |
sign | String | true | 999de41d862efaa6f1084ead3b3ba480 | 如何计算生成见示例代码 |
业务参数
名称 | 类型 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
biz_type | String | false | taobao/1.0.0/brandAsyncRenderEnable | 业务扩展参数,需与平台约定好 |
market | String | true | taobao | 商品发布的市场。taobao:淘宝,tmall:天猫,litetao:淘宝特价版 |
cat_id | Number | true | 50021288 | 商品类目ID |
spu_id | Number | false | 32323 | 产品ID,天猫市场(market=tmall)时必填 |
barcode | String | false | 6932529211107 | 商品条码 |
schema | String | true | 商品schema信息,通过alibaba.item.publish.props.get获取并补全后提交 | |
source_item_info | SourceItemInfoForDistributionDTO | true | 上游商品信息 ,见下面表格参数 | |
biz_ext | Json | false | {“key”:”value”} | 扩展属性 |
SourceItemInfoForDistributionDTO对象的字段说明
名称 | 类型 | 必须 | 示例值 | 描述 |
---|---|---|---|---|
item_id | String | false | 222222 | 上游商品ID |
item_highest_price | Number | true | 上游商品最高价(分) | |
item_lowest_price | Number | true | 50021288 | 上游商品最低价(分) |
shop_id | String | false | 32323 | 上游商品店铺ID |
type | String | false | 来源不能是淘宝/天猫,必须是外部平台, 如1688,拼多多,抖音,其他网站等。 | 上游商品来源 |
item_url | String | true | https://xxxx.com/ | 上游商品URL |
注意: 淘宝/天猫不允许铺货的宝贝来源是淘宝/天猫,宝贝的来源只能是其他平台,如1688,拼多多,抖音,其他平台/网站等。 注意传入的来源参数等,否则接口会调用失败。
2. 请求示例代码(Java)
@Test
public void AlibabaItemPublishDistributeSubmitRequest() throws Exception {
// 要发布商品schma信息,此xml已上传到附件中。
String schema = Utils.readFile("/Users/fc/working/demodata/mb-item-765275439422.xml");
String tb_seller_nick = Config.TBSellerNick;
//业务参数
JSONObject sourceItemInfo = new JSONObject();
sourceItemInfo.put("item_id", "765275439422"); //上游商品ID
sourceItemInfo.put("shop_id", "839122911"); //上游商品店铺ID
Map<String, Object> data = new HashMap<String, Object>();
data.put("appid", Config.AppId);
data.put("tb_seller_nick", tb_seller_nick);
Long timestamp = System.currentTimeMillis() / 1000;
data.put("timestamp", timestamp.toString());
data.put("market", "taobao");
data.put("cat_id", 201305209);//上游类目ID
data.put("schema", schema);
data.put("source_item_info", sourceItemInfo.toJSONString());
data.put("sign", Utils.SignObject(data, Config.AppSecret));
// 调用服务API
String rsp = Utils.doHttpRequestObject(Config.AlibabaItemPublishDistributeSubmitRequestUrl, data);
String unescapeRsp = StringEscapeUtils.unescapeJavaScript(rsp);
System.out.println(unescapeRsp);
}
3. 返回结果
返回结果如下 ,
{"code":0,"message":"ok","data":"{\"create_time\":\"2024-12-31 19:20:30\",\"item_id\":871115236395,\"market\":\"taobao\"}","trace_id":""}
说明: code为0表示成功,非0为失败,特别返回code返回491和492时,表示触发了人脸识别。见4.人脸核验风控。 message会包含失败原因, 返回字段说明。
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
create_time | String | 2020-12-12 00:00:00 | 商品创建时间 |
item_id | Number | 634830531619 | 商品ID |
market | String | taobao | 商品所属市场 |
4. 人脸核验风控
为了保证商家经营的安全性,平台将检测商家账号安全风险。对于存在风险的商家账号,需在使用进行人脸核验(要用店铺主账号完成核验)。
4.1 当接口返回的code为491时,如下
{"code":491,"message":"需要店铺主账号人脸核验后,才能继续操作,请打开 https://web.m.taobao.com/app/qn/risk-test-module/isv?riskStatus=needs_verification","trace_id":""}
表示触发人脸核验风控, 将上面mesage的文案显示出来,若用户打开上面的链接, 将自动显示下面界面:
点击上图中的“去人脸核验”,出现下图:
店铺主账号使用千牛/淘宝APP完扫码完成身份核验,核验通过后,再尝试调用本铺货接口。
4.2 当接口返回的code为492时,如下
{"code":492,"message":"当日人脸核验次数达到上限,请明天再来","trace_id":""}
表示当前用户人脸识别失败次数超限(一天最多50次)。
4.3 人脸核验相关问题
哪些商家需要做人脸核验?
平台会对风险商家触发人脸核验,正常经营商家不受影响;商家是否需要验证与做哪些操作无关。子账号触发核验时,主账号是否受影响
核验为店铺级别,全店相关接口均需主账号完成核验如何判断核验成功?是否有回调
无回调,接口不再返回错误码即表示成功API参数错误和核身风险错误同时出现时返回哪个?
人脸认证机制优先级更高核验失败次数超限后如何处理?
单日上限50次,超限后全天限制,次日零点重置。触发blocked错误码后,当天的调用都会返回blocked错误码。第二天零点重启发起调用后,会返回needs_verification,人脸认证通过后即可正常调用接口。商家命中风控后能否自动恢复
必须完成人脸核验,无自动恢复机制。核验通过后多长时间会再次需要核验?
平台会根据商家账号安全风险动态调整。