使用场景:
线下用户在pos机结算时,出示会员实体卡,或者报手机号,在pos机查询当前会员身份,若是会员,则返回与当前会员绑定的uid(绑了真实淘宝会员的会给淘系会员UID,没有绑定的会给对应于当前卡号的唯一一个UID)。使用此UID进行下单支付。
若不是会员,由pos调用会员拿取虚拟的UID(虚拟UID池中随机一个)
使用场景:
用户在pos结算时,想要与自身淘宝账号关联,则将自己的线下会员卡与淘宝账号做关联操作,由于是当面绑卡,不需要校验用户的手机号。
使用场景:
用户在会员码页面可以选择绑卡或开卡(具体由商家需求确定),选择绑卡则优先使用用户的淘系默认手机号(用户可修改)查询用户是否有会员卡,如果查询的会员卡有效,且与用户当前手机号一致,则将用户淘宝UID与当前会员卡进行绑定。(会员身份完成一笔手淘订单至少有4次查询会员请求。请商家务必保证会员服务端运行正常)
使用场景:
用户在会员码页面可选择开卡,手机号校验流程同绑卡,若商家使用此手机号开卡成功,则将当前淘宝UID与会员卡进行绑定。
线上app使用范例:
会员身份完成一笔手淘订单至少有4次查询会员请求。请商家务必保证会员服务端运行正常
请求字段名 | 类型 | 是否必须 | 示例值 | 描述 |
memberParamDO | MemberParamDO | 是 | ||
└ accountId | String | 是 | 620100993 | 根据类型,如果是cardNum,则是卡号,phoneNum对应手机号,mageticCard对应的磁卡的二轨信息。由POS获取 |
└ accountType | String | 是 | cardNum | 会员卡的支持的查询方式,如卡号 则类型为 cardNum;如果是手机号,则是phoneNum;如果是磁卡,则是magneticCard。如果要支持绑卡,需要短信验证卡的归属,所以需要支持用手机号查询卡的信息。具体规则由POS确定 |
└ attributes | String | 否 | {"shopId": "188020336", "storeId": "123"} | shopId:必传,当前渠道店ID,为ReX渠道店唯一标识 |
storeId:线下pos场景有,线上场景没有。为商家在线下pos场景下配置的店铺ID,由各商家自行定义 | ||||
应答字段名 | 类型 | 是否必须 | 示例值 | 描述 |
memberResultDO | MemberResultDO | 是 | 会员信息获取结果 | |
└ desAccount | DesAccount | 否 | 储值账户 | |
└ currency | String | 否 | CNY | 币种,需符合ISO-4217标准 |
└ balance | Number | 是 | 1000 | 余额,单位 分(若不返回,影响绑卡和解绑) |
└ scoreAccount | ScoreAccount | 否 | 积分账户 | |
└ score | 否 | 100 | 总积分 | |
└ cardInfo | CardInfo | 是 | 卡信息 | |
└ createTime | String | 是 | 2017-08-15 12:30:12 | 发卡时间,格式:yyyy-MM-dd HH:mm:ss |
└ endTime | String | 是(forever为true可不填) | 2017-08-15 12:30:12 | 卡有效期截止日期,格式:yyyy-MM-dd HH:mm:ss;特别注意,如果有效期包含当前,则时分秒到当前的23时59分59s,如:2017-08-15 23:59:59 |
└ state | String | 是 | 使用中 | 卡状态,只有“使用中”的可以正常使用,其他状态均视为不可用 |
└ cardLevel | Number | 是 | 1 | 卡的等级,从1开始,每增一级加1,高等级的会员意味着包含所有低等级的会员的权益,同一个商家的会员等级务必保证连续性。默认值填1 |
└ cardName | String | 是 | XXX会员卡 | 卡片名称 |
└ cardNum | String | 是 | 3344556 | 卡号,唯一标识 |
└ forever | Boolean | 是 | TRUE | 如果卡长期有效,值为true,为true时,默认不校验endTime |
└ member | Member | 是 | 会员基础信息,包含的字段内容不能都为null,建议尽可能返回详细,这样后续新功能的开发可以减少工作量 | |
└ name | String | 否 | 张三 | 姓名 |
└ gender | String | 否 | female | 性别,['male' or 'female' or 'unknown']: 性别 |
└ address | String | 否 | 文一西路969号 | 家庭常住地址 |
└ cellphone | String | 否 | 13888886666 | 手机号,后续帮卡会做验证,尽可能保证正确性 |
String | 否 | xxx@qq.com | 邮件地址 | |
└ birthday | String | 否 | 2017-08-15:12:30:12 | 生日,格式:yyyy-MM-dd HH:mm:ss |
└ province | String | 否 | 浙江省 | 会员注册省份 |
└ city | String | 否 | 杭州市 | 城市 |
└ district | String | 否 | 西湖区 | 区 |
└ lastUpdateTime | String | 否 | 2017-08-15:12:30:12 | 最后更新时间,格式 yyyy-MM-dd HH:mm:ss |
└ grade | String | 否 | 高级会员 | 会员等级描述 |
└ idCard | IdCard | 否 | 证件信息 | |
└ type | String | 否 | idCard | 证件类型,身份证:idCard;护照:passport;军人证:militaryCard; 其他:others |
└ id | String | 否 | 330088199901012222 | 证件号 |
└ id | String | 否 | 1 | 商家自有数据库id |
└ attributes | String | 否 | {"key": "value"} | 其他可选自定义参数,可用来包装不同人群供商家运营。固话(fixedPhone),卡类型(cardType),当前卡是否能被绑定(canBound:"0"/"1"),联名卡(cobrand),会员收银状态(memCashierType) |
errorCode | String | 否 | 1001 | 错误码,商家自定义 |
errorMessage | String | 否 | 会员卡不存在 | 错误信息,会最终返回到POS,方便问题排查,所以务必描述清楚 |
success | Boolean | 是 | FALSE | 请求是否成功 |
=============================================================================================
注: 此接口商家在实现时一定要保证接口的幂等性。
Eg1: XX商家要求有线下实体的卡的必须通过输入线下实体卡号进行绑卡。那么在开卡实现时:
Eg2: XX商家要求线上仅有一个开卡入口。那么:
请求字段名 | 类型 | 是否必须 | 示例值 | 描述 |
cardCreateParamDO | CardCreateParamDO | 是 | 开卡所需的DO | |
└ cellphoneNumber | String | 是 | 13600001111 | 用户的淘系手机号 |
└ outUserId | String | 是 | 12345665 | 淘系用户ID |
└ attributes | String | 否 | {"shopId":"185292081"} | 扩展字段,非开卡必须,map json 格式 |
shopId:淘鲜达渠道店ID | ||||
└ amount | Number | 否 | 3000 | 购卡费用,单位分 |
└ currency | String | 否 | CNY、USD | 币种,需符合ISO-4217标准 |
应答字段名 | 类型 | 是否必须 | 示例值 | 描述 |
└ accountType | String | 是 | MOBILE/CARD_NUM/ | 开卡成功后,开卡的账户类型,如卡号CARD_NUM,手机号 MOBILE,主要用于会员识别。建议返回CARD_NUM |
└ accountId | String | 是 | 2233 3334 4455 5555 | 根据accountType,返回卡号,或者手机号 |
└ startTime | String | 否 | 2017-08-15:12:30:12 | 开卡后有效期开始时间,格式 yyyy-MM-dd HH:mm:ss |
└ endTime | String | 否 | 2017-08-15:12:30:12 | 开卡后有效期结束时间,格式 yyyy-MM-dd HH:mm:ss |
└ attributes | String | 否 | {"key":"value"} | 扩展字段,非开卡必须,map json 格式 |
└ cardTypeName | String | 否 | SANJIANG_V1 | 会员卡等级描述,淘鲜达定义 |
success | Boolean | 否 | TRUE | 本次请求操作是否成功,成功比然有返回值 |
errorCode | String | 否 | 1001 | 错误码,如出错 |
errorMessage | String | 否 | 参数出错 | 错误信息,如出错,尽可能详细,以能定位问题为准 |