在微信卡券会员卡2.2 领取事件推送中,会直接推送UnionId,,即使在未创建开放平台(接口或开放平台页面注册)的情况下。以下为未创建开放平台时的领取事件推送👇
2018-09-13 18:27:32
< xml >< ToUserName > <![CDATA[gh_371181e99e38]]> </ ToUserName > < FromUserName > <![CDATA[oaJF2jtfpLFfUjlBD8ARrbJ2ezyk]]> </ FromUserName > < CreateTime >1536834453</ CreateTime > < MsgType > <![CDATA[event]]> </ MsgType > < Event > <![CDATA[user_get_card]]> </ Event > < CardId > <![CDATA[paJF2juIwvmTAxPPWZYPWghyfi8U]]> </ CardId > < IsGiveByFriend >0</ IsGiveByFriend > < UserCardCode > <![CDATA[102258986467]]> </ UserCardCode > < FriendUserName > <![CDATA[]]> </ FriendUserName > < OuterId >0</ OuterId > < OldUserCardCode > <![CDATA[]]> </ OldUserCardCode > < IsRestoreMemberCard >1</ IsRestoreMemberCard > < IsRecommendByFriend >0</ IsRecommendByFriend > < SourceScene > <![CDATA[SOURCE_SCENE_QRCODE]]> </ SourceScene > < UnionId > <![CDATA[oAAAAADfRZ-_mgBrrEvPqFfMRu1I]]> </ UnionId > </ xml > |
今天发现部分用户在领取事件推送中获取到的UnionID和小程序获取到的UnionID不一致,遂通过获取用户基本信息(包括UnionID机制)中的接口获取用户信息,发现响应信息中没有UnionID字段,,后来发现原因为『只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。』。于是,邀请客户授权公众号『微信开放平台帐号管理权限』给我们(第三方平台),然后通过接口创建开放平台,然后重新通过获取用户基本信息接口获取用户信息,得到如下结果👇
2018-12-14 14:32:44
{ "status" :1, "data" : "{" subscribe ":1," openid ":" oaJF2jtfpLFfUjlBD8ARrbJ2ezyk "," nickname ":" Forever_尧 "," sex ":1," language ":" zh_CN "," city ":" 石家庄 "," province ":" 河北 "," country ":" 中国 "," headimgurl ":" http:\/\/thirdwx.qlogo.cn\/mmopen\/SCug0ESSOHicefQkibCXZLqcib4TlkkjMSWeF6opL70KU32xZlYnAmsibgFZHLeCSsg8Lf04o6dN26QROkVLXic9PSg\/132 "," subscribe_time ":1536835370," unionid ":" ooobh0qS1ytRUUL3Pre2Ep62szXg "," remark ":" "," groupid ":0," tagid_list ":[]," subscribe_scene ":" ADD_SCENE_PROFILE_CARD "," qr_scene ":0," qr_scene_str ":" "}" , "code" :1, "success" : true , "msg" : "成功" } |
我们发现同一个公众号下的用户openid相同,皆为 oaJF2jtfpLFfUjlBD8ARrbJ2ezyk ,但是前后两次获取到的UnionId却不一样:
未创建开放平台的情况下,微信卡券中会员卡领取事件推送中获得的UnionId为 oAAAAADfRZ-_mgBrrEvPqFfMRu1I
创建开放平台后,通过获取用户基本信息接口得到的UnionId为 ooobh0qS1ytRUUL3Pre2Ep62szXg 。
另外,,我们还发现,所有未创建开放平台情况下,领取事件推送中的UnionId都 ‘恰好’ 以『oAAAAA』开头,不晓得是巧合还是官方的某种机制。
我想问下,,未创建开放平台情况下,领取事件推送中的UnionId是什么情况,为什么跟创建开放平台后获取到的UnionId不一样呢???还请官方大大解惑。。