适用业务场景: * 1) 租户用户资产数据注册租户会员后的资产整合(原用户ID转变为租户会员ID) * 2) 租户会员手机号变更的资产整合,包括多手机号到指定手机号的资产整合(多次调用即可) * 3) 虚拟租户会员(外部会员ID)与真实租户会员间的资产同步
为了保证接口安全性,本接口使用JWT令牌处理进行请求校验,合法JWT令牌方可调用此接口校验依据为原始手机号/原始租户会员ID(二选一) 令牌换取接口详见:https://book.e-buy.com/books/e-buy-paas-api/page/jwt* 资产迁移的对接应用ID必须和查询应用ID保持一致(appId不一致会导致查询无结果,实际资产已迁移成功)
业务场景概述:1)手机号变更场景【三方会员ID不变更】:仅上送原始手机号(orgPhoneNumber)与新手机号(tarPhoneNumber)即可、此时可视为orgThirdOpenId=tarThirdOpenId(可选上送)2)手机号变更场景【三方会员ID也变更】:需同时上送原始手机号(orgPhoneNumber)与新手机号(tarPhoneNumber)、原始三方会员ID(orgThirdOpenId)与新三方会员ID(tarThirdOpenId)
内部逻辑概述:1)处理三方会员ID与租户会员ID关系(手机号关系),orgThirdOpenId不等于tarThirdOpenId场景,调用内部关系更新,更新后新老三方会员ID都将指向最新的租户会员ID(最新手机号)2)处理卡券码明细与租户会员ID关系(卡券码关系),每张卡券码分表记录迁移成功将更新为最新的租户会员ID(最新手机号)3)处理卡包记录关系(资产关系),原始数据将逻辑标记资产迁移状态(status=9),整合后的数据将会包含原始资产数据(并记录迁移来源相关信息到备注字段中)* 以上处理逻辑保证事务一致性原则,如有失败则全部回滚
请求报文示例:
{ "uuid": "20211224-kecwygdsipokqstbqtbwmqlpxijewfbf", "appId": "ebuytes100100100", "action": "apiMergeMemberAssets", "timestamp": 1640331603, "signType": "sha256", "sign": "1289147634148182", "content": { "orgPhoneNumber": "139xxxx2507", "tarPhoneNumber": "176xxxx3651", "originalMemberId": "3af2d2e1060d399c5ec5592fbfa87828", "targetMemberId": "d042e844e561a075aa2e1c6444638906" }, "lang": "zh_CN" }
响应报文示例:
{ "uuid": "20211224-kecwygdsipokqstbqtbwmqlpxijewfbf", "action": "apiMergeMemberAssets", "content": { "ts": 1652424343684 }, "success": true, "errorCode": "", "errorMessage": "", "timestamp": 1640332092481, "signType": "sha256", "sign": "f94ddcbf0ab5bc28ad0fb018a4365b7164c9dbfb46de458e704813d7757b4bd7" }
注意:为保证签名的一致性,返回报文中的content字段将以string形式的进行返回,例如:
{ "content": { "userId": 1, "userName": "Trump" } }
将返回为:
{ "content": "{\"userId\":1,\"userName\":\"Trump\"}" }
No Comments