用户身份与跨平台识别
用户今天在 A 平台(比如 WorkBuddy 里的 agent)买了东西,三天后又通过 B 平台的 agent 买东西——平台如何知道这是同一个人?
两层身份模型
| 标识 | 谁定义 | 作用域 | 用途 |
|---|---|---|---|
user_ref |
你(agent 开发者)在 create_order 里传 | 仅你的 agent | 你自己的对账、归因、售后对号 |
human_key |
平台计算(收货手机号加盐哈希,不可逆) | 全平台 | 免费取件配额、风控按"自然人"累计 |
user_ref 是可选的,但强烈建议传——售后争议时它帮你快速对上自己体系里的用户。
human_key:被动的自然人锚点
平台不需要用户登录、不需要用户做任何额外动作:下单必须填收货手机号,同一部手机从任何 agent 下单都会归到同一个 human_key。当前生效的能力:
- 免费上门取件月配额(3 次/月)按自然人共享——用户不能靠切换 agent 刷配额(已实测:A 平台下单、B 平台退货,配额同池扣减;第 4 次起
return_freight_payer=user) - 退货率等风控信号按人累计——跨平台的高退货行为会被统一识别
合规边界(平台的自我约束)
human_key是加盐哈希(不可逆),数据库里没有"手机号→human_key"的裸映射对外暴露- human_key 仅用于履约配额与风控,平台不做跨平台营销画像串联、不向 agent 返回其他用户的任何信息
- 手机号明文存储加密;请在你的用户协议中如实转述:"收货信息用于发货与履约"
get_order_status响应中的收货人信息已脱敏(138****0000),且只能看到你自己 key 创建的订单
最佳实践
node
// 推荐:始终传 user_ref(你自己体系的稳定匿名 id)
body: { merchant_id, product_id, qty, receiver, user_ref: myUser.id }
- 用稳定值(同一用户同一值),不要每次随机——否则你自己的售后对账会困难
- 不要传手机号/明文个人信息当 user_ref——那是收货人字段该做的事