一、 商家店铺授权给开发者
1688授权与淘宝授权整体流程类似, 主要出入参有所不同。
一般情况下,为避免权限问题,建议商家直接用1688主账号授权给蜂巢开发者,
一、 授权流程
商家使用店铺账号登录后,打开应用软件首页即可,蜂巢将自动将授权信息推送到您的网站/系统。
说明: 授权推送通知的URL有效性测试和保存,可在蜂巢后台后台操作。 操作路径:个人信息 -> 授权推送通知设置。
可以使用postman或是curl模拟蜂巢后台推送的请求,代码如下:
curl --location 'http://youdomain.com/pushorder' \
--header 'Content-Type: application/json' \
--data '{"action":"seller_1688_grant","sys_id":"105","seller_nick":"b2b-661153176","dead_line":"2024-08-28","user_id":"661153176","shop_name":"明珠在线","state_id":"mybk007"}'
1. 发起授权
订购完成以后,在你系统展示下面授权链接,供商家点击打开,链接中的xxx对应的appid你自己的 appid, state_id为自定义参数,注意:url中的参数前后不要有空格。
https://kf.fw199.com/partner/1688grant?appid=xxx&state_id=xxx
上述链接入参说明:
- appid: 您的蜂巢appid
- sysid: 应用标识, 联系客服获取,1688千里马为105
- state_id: 自定义参数值,此参数很重要,必填! 商家授权完成后,在异步通知原样返回,一般用于标识用户关系或业务关联等。
商家打开上面的链接, 显示应用软件首页就可以了
2. 授权回调
在商家通过上述链接打开,打应用首页后, 蜂巢会异步通知指定的授权URL , 蜂巢将授权信息推送给第三方系统, 使用http POST,Content-Type:application/json 方式接收请求,在http body中会收到如下json内容 , 因此取值时请求体内容字符串处理,再手动字符串转成json对象,否则可能取不到值。收到授权信息后,需要返回纯文本success给蜂巢。 下面给出Java和PHP示例,其他语言类似。
@RequestMapping("/grant/back")
@ResponseBody
public String fcGrantCallBack(@RequestBody String jsonData) throws IOException {
System.out.println("收到数据:" + jsonData);
// 处理业务逻辑....
// 返回success字符串给蜂巢
return "success";
}
PHP的示例
<?php
$tmpfile = 'fc.txt'; // 临时文件,用于保存接收到的文件流
$content = file_get_contents('php://input');
file_put_contents($tmpfile, $content, true);
echo 'success';
?>
蜂巢推送的JSON数据格式如下:
{
"action": "seller_1688_grant",
"sys_id": "105",
"seller_nick": "b2b-661153122",
"dead_line": "2024-06-04",
"user_id": "661153122",
"shop_name": "上海xx科技",
"state_id": "mybk1000"
}
文档更新时间: 2024-05-23 16:47 作者:admin