schm-shuyun-crm-papi
中文文档
schm-shuyun-crm-papi
接口描述: 数云 CRM 拟通过开放数据服务 API 接口的方式,处理各子系统的业务数据读写请求。
UAT地址(测试环境): https://schm-api-test.shiseido.cn/schm-shuyun-crm-papi
PROD地址(生产环境): https://schm-api.shiseido.cn/schm-shuyun-crm-papi
1.身份认证
所有请求头必须包含以下键值参数作为身份验证信息。您需要向管理员申请这些信息。
client_id: fa98****3452
client_secret: 108b****41f2
appKey、partyId、time、sign等原有的系统参数不需要客户端手工传递,它们由mulesoft自动添加。
测试环境自动灌装系统参数:
partyId: 65653
appKey: oms-server-client
2.接口总览:
请求接口 | 描述 |
---|---|
/member/register | 用于注册会员 |
/member/query | 查询会员信息 |
/member/extQuery | 查询会员信息(外部) |
/member/loyalty/point | 用于查询会员积分 |
/member/loyalty/grade | 用于查询会员等级 |
/member/point/records | 用于查询会员积分变更记录 |
/member/grade/record | 用于查询会员等级变更记录 |
/member/point | 用于变更会员积分 |
/member/freezePoint | 用于冻结会员积分 |
/member/unfreezePoint | 用于解冻会员积分 |
/member/freezeDeductPoint | 用于消耗会员已冻结积分 |
/member/update | 用于修改会员 |
/member/modify/mobile | 用于修改会员手机号 |
/member/modify/policy | 更新会员隐私条款装填以及隐私条款时间 |
/member/getAttributs/page | 查询会员属性接口,可查询联名会员信息 |
/member/updateMemberStatus | 修改会员状态 |
/member/purchase/channel | 查询会员消费渠道接口 |
/member/loyalty/grade/nextGradeAmount | 查询会员下一等级所需金额 |
/customer/queryByChannelId | 根据渠道 Id 查询会员基础信息。 |
/customer/extQueryByChannelId | 根据渠道 Id 查询会员基础信息,只返回MemberId |
/customer/refresh/mobile | 天猫会员明文手机完善接口(定制) |
/member/cancellation | 用于注销会员 |
/member/loyalty/accountGrade | 用于查询指定账户会员等级 |
/member/accountGrade/record | 用于查询指定账户会员等级变更记录 |
/member/past/point | 用于查询会员往期积分 |
/member/past/point/records | 用于查询会员往期积分变更记录 |
/member/past/pointchange | 用于变更会员往期积分 |
/order/{memberType}/page | 用于查询会员订单信息 |
/order/{memberType}/{orderId} | 用于查询主订单以及子订单详情 |
/order/save | 用于订单保存或者更新 |
/offer/project/list | 用于查询卡券项目列表信息 |
/offer/project/detail | 用于查询卡券项目明细信息 |
/offer/instance/grant | 用于卡券发放带幂等(单个会员单张) |
/offer/coupon/writeoff | 用于已冻结的卡券核销(单张卡券) |
/offer/coupon/anticounting | 用于卡券反核销 |
/offer/coupon/frozen | 用于卡券冻结(单张卡券) |
/offer/coupon/thaw | 用于卡券解冻(单张卡券) |
/offer/coupon/use | 用于卡券核销(单张卡券) |
/offer/instance/list | 用于查询卡券实例列表信息 |
/offer/coupon/detail | 用于查询卡券实例明细信息 |
/offer/coupon/invalid | 用于卡券失效 |
/offer/coupon/effective | 用于卡券生效 |
/offer/coupon/{couponCode}/{memberType}/extension | 用于卡券延期 |
/wechat/member/register | 用于注册微信会员 |
/wechat/member/queryByUnionId | 根据 unionId 查询会员信息以及微信渠道信息,查询不到将抛异常 |
/wechat/member/queryByOpenId | 根据 appId 和 openId 查询会员基本信息 |
目录
- 3.1 会员注册
- 3.2 查询会员信息
- 3.2E 查询会员信息(外部)
- 3.3 查询会员积分
- 3.4 查询会员等级
- 3.5 查询会员积分变更记录
- 3.6 查询会员等级变更记录
- 3.7 变更会员积分
- 3.8 冻结会员积分
- 3.9 解冻会员积分
- 3.10 消耗会员已冻结积分
- 3.11 修改会员信息
- 3.12 修改会员手机号
- 3.13 更新会员隐私条款(定制)
- 3.14 查询会员属性接口(定制)
- 3.15 修改会员状态接口(定制)
- 3.16 查询会员消费渠道接口(定制)
- 3.17 查询会员下一等级所需金额接口(CPB定制)
- 3.18 根据渠道id查询会员信息(定制)
- 3.18E 根据渠道id查询会员信息(定制),只返回MemberId
- 3.19 天猫会员明文手机完善接口(定制)
- 3.20 注销会员(定制)
- 4.1 查询会员集雅荟等级
- 4.2 查询会员集雅荟等级变更记录
- 5.1 查询会员往期积分
- 5.2 查询会员往期积分变更记录
- 5.3 变更会员往期积分
- 6.1 查询会员订单列表
- 6.2 查询会员订单详情
- 6.3 订单保存或者更新
- 7.1 查询卡券项目列表信息
- 7.2 查询卡券项目明细信息
- 7.3 卡券发放带幂等(单个会员单张)
- 7.4 已冻结卡券核销(单张卡券)
- 7.5 卡券反核销(单张卡券)
- 7.6 卡券冻结(单张卡券)
- 7.7 卡券解冻(单张卡券)
- 7.8 卡券核销(单张卡券)
- 7.9 查询人券关系列表
- 7.10 查询会员券信息
- 7.11 卡券失效
- 7.12 卡券生效
- 7.13 卡券延期
- 8.1 注册微信会员
- 8.2 根据unionId查询会员信息
- 8.3 根据appId和openId查询会员基本信息
3.会员 API
3.1. 会员注册
请求接口: /member/register
接口描述: 用于注册会员
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
RegisterMember | Object | |||
–address | String | 255 | 联系地址(中文) | |
-appTypeCode | String | 64 | 应用类型 code:EBRAND: 会员通, WISDOM: 智慧门店, INTERACT: 互动赢家, WECHAT_OFFICIAL_ACCOUNT: 微信公众号, WECHAT_MINI_PROGRAM: 微信小程序 | |
-appTypeName | String | 255 | 应用类型名称 | |
-birthDay | String | 会员生日-月日:格式: MM-dd 例:07-05 | ||
-birthYear | String | 会员生日-年:格式: yyyy 例:1988 | ||
-cardNo | String | 64 | 会员卡号 | |
-channelType | String | 是 | 20 | 渠道类型 |
-cityCode | String | 32 | 市 code | |
-cityName | String | 100 | 城市名称 | |
-country | String | 20 | 国籍 | |
-customerNo | String | 是 | 64 | 渠道 ID:渠道唯一标识,用于区分渠道会员。 |
-districtCode | String | 32 | 区 code | |
-districtName | String | 100 | 区名称 | |
String | 255 | 邮箱地址 | ||
-gender | String | 性别:F:女 M:男 O:其他 | ||
-identityCard | String | 20 | 身份证号码 | |
-job | String | 100 | 职业名称 | |
-memberName | String | 255 | 会员姓名 | |
-memberType | String | 是 | 20 | 会员类型 |
-mobile | String | 20 | 手机号码 | |
-provinceCode | String | 32 | 省 code | |
-provinceName | String | 100 | 省份名称 | |
-registerTime | String | 注册时间,不传则默认为当前时间格式: yyyy-MM-dd HH:mm:ss | ||
-shopCode | String | 32 | 注册门店 code | |
-shopName | String | 255 | 注册门店名称 | |
-shopTypeCode | String | 32 | 注册门店类型 code | |
-customizedProperties{} | Object(Map) | 会员扩展字段:数据结构见下方 | ||
-bindingExtProperties{} | Object(Map) | 会员拓展属性扩展字段:数据结构见下方 |
会员扩展字段结构
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
registerSource | String | 100 | 注册来源 | |
customizedTag | String | 1000 | 个性标签:传入 json 字符串 | |
checkPolicyStatus | String | 10 | 会员是否同意隐私授权 1:同意;0:不同意 | |
referrerMobile | String | 20 | 推荐人手机号 | |
isGetInfoByEmail | String | 10 | 是否同意接收邮件 1:同意;0:不同意 | |
isGetInfoBySMS | String | 10 | 是否同意接收短信 1:同意;0:不同意 | |
isGetInfoByServiceSMS | String | 10 | 是否同意接收服务类短信 1:同意;0:不同意 | |
unionId | String | 64 | 微信 unionid,ECMP调用传入 | |
memberSalutation | String | 100 | 会员称谓:bs 品牌需求新增 | |
memberStatus | String | 20 | 会员状态:bs 品牌需求新增 | |
sportsPreference | String | 100 | 运动偏好 | |
makeUpPreference | String | 100 | 美妆偏好 |
会员拓展属性扩展字段结构
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
unionId | String | 64 | 微信 unionid,ECMP调用传入 |
请求参数示例
{
"memberType": "shuyun",
"memberName": "会员1",
"gender": "F",
"cardNo": "132156",
"identityCard": "165465",
"birthYear": "1998",
"birthDay": "01-01",
"country": "china",
"provinceCode": "310000",
"provinceName": "上海",
"cityCode": "310100",
"cityName": "上海市",
"districtCode": "310107",
"districtName": "普陀区",
"address": "上海市徐汇区天钥桥路1001号",
"job": "teacher",
"shopCode": "shuyun",
"shopName": "数云",
"shopTypeCode": "shuyun",
"registerTime": "2021-07-13 08:36:03",
"customizedProperties": {
"registerSource": "线下活动",
"customizedTag": "{“爱好”:”篮球”}",
"checkPolicyStatus": "1",
"referrerMobile": "15021228866",
"isGetInfoByEmail": "1",
"isGetInfoBySMS": "1",
"isGetInfoByServiceSMS": "1",
"memberSalutation": "王女士",
"memberStatus": "FREEZE",
"sportsPreference": "篮球",
"makeUpPreference": "口红",
"desc": "备注",
"customerSouce": "123",
"metabolism": "11",
"resistance": "11"
},
"bindingExtProperties": {
"unionId": "unionId28154751841"
},
"mobile": "15021228866",
"email": "1001@shuyun.com",
"nick": "shuyun001",
"channelType": "TAOBAO",
"appTypeCode": "EBRAND",
"appTypeName": "会员通",
"customerNo": "string"
}
响应参数:
字段名称 | 类型 | 字段描述 |
---|---|---|
memberId | String | 会员 ID |
cardNo | String | 会员卡号 |
status | String | 注册状态:NEW: 新注册 , BINDING: 添加绑定, REGISTERED: 已注册 |
返回状态码:
200:请求成功
201:注册会员成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
返回结果示例
响应成功示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"cardNo": "0040a85608844820900558fc2671cb7c",
"status": "NEW"
}
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.2. 查询会员信息
请求接口: /member/query
接口描述: 应用场景及说明: memberId,mobile,cardNo 参数查询顺序. memberId 优先,其次 mobile, 最后 cardNo
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
cardNo | String | 64 | 会员卡号, memberId,mobile,cardNo 三种参数至少输入一 | |
channelType | String | 20 | 渠道来源 | |
memberId | String | 32 | 会员 ID , memberId,mobile,cardNo 三种参数至少输入一 | |
memberType | String | 是 | 20 | 会员类型 |
mobile | String | 20 | 手机号码 , memberId,mobile,cardNo 三种参数至少输入一 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
address | string | 联系地址(中文) |
age | String | 年龄 |
birthDay | string | 会员生日-月日 如:07-05 |
birthYear | string | 会员生日-年 1988 |
cardNo | string | 会员卡号 |
cityCode | string | 市 code |
cityName | string | 城市名称 |
country | string | 国籍 |
districtCode | string | 区 code |
districtName | boolean | 区名称 |
string | 邮箱地址 | |
firstRegisterChannelType | string | 首次注册渠道 |
firstRegisterChannelTypeDesc | string | 首次注册渠道描述 |
gender | string | 性别 F:女 M:男 O:其他 |
headImgUrl | String | 头像 URL |
identityCard | String | 身份证号码 |
job | String | 职业名称 |
memberId | String | 会员 ID |
memberName | String | 会员姓名 |
memberType | String | 会员类型 |
mobile | String | 手机号码 |
provinceCode | String | 省 code |
provinceName | String | 省份名称 |
registerTime | String | 注册时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 |
shopCode | String | 注册门店 code |
shopName | String | 注册门店名称 |
shopTypeCode | String | 注册门店类型 code |
unionId | String | unionId |
wechatNick | String | 微信昵称 |
memberBinding | Array | |
customizedProperties{} | Object(Map) | 会员扩展属性 |
MemberBinding:
参数名 | 数据类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
appId | String | 64 | 公众号 appId | |
appTypeCode | String | 64 | 应用类型 code EBRAND: 会员通, WISDOM: 智慧门店, INTERACT: 互动赢家, | |
appTypeName | String | 255 | 应用类型名称 | |
channelType | String | 20 | 渠道类型 | |
customerNo | String | 64 | 客户编号 若创建时未传系统自动生成 | |
memberType | String | 20 | 会员类型 | |
mixMobile | String | 64 | 混淆手机号 格式: yyyy-MM-dd’T’HH:mm:ss.SSSXXX | |
openId | String | 64 | 客户 openid | |
relType | Integer | 关系类型 0: 注册, 1: 绑定,2: 解绑 | ||
shopCode | String | 32 | 绑定/解绑门店 code | |
shopName | String | 255 | 绑定/解绑门店名称 | |
shopTypeCode | String | 32 | 绑定/解绑门店类型code | |
unionId | String | 64 | 微信 union_id(微信专用) |
扩展字段结构 :
字段名称 | 类型 | 字段描述 |
---|---|---|
registerSource | String | 注册来源 |
customizedTag | String | 个性标签,传入 JSON 字符串 |
belongBC | String | 所属 BC 工号 |
belongShop | String | 所属店铺 ID |
checkPolicyStatus | String | 会员是否同意隐私授权,1:同意;0:不同意 |
referrerMobile | String | 推荐人手机号 |
isGetInfoByEmail | String | 是否同意接收邮件,1:同意;0:不同意 |
isGetInfoBySMS | String | 是否同意接收短信,1:同意;0:不同意 |
isGetInfoByServiceSMS | String | 是否同意接收服务类短信,1:同意;0:不同意 |
wxOpenId | String | 公众号 openid |
isSubscribe | String | 是否关注公众号,1:已关注;2:已取关 |
memberSalutation | String | 会员称谓,bs 品牌需求新增 |
memberStatus | String | 会员状态,bs 品牌需求新增 |
desc | String | 备注 tg 品牌需求新增 |
customerSouce | String | 顾客的了解产品的来源 tg 品牌需求新增 |
metabolism | String | 顾客的代谢力 tg 品牌需求新增 |
resistance | String | 顾客的抵抗力 tg 品牌需求新增 |
返回结果示例
{
"memberType": "shuyun",
"memberName": "会员 1",
"gender": "F",
"cardNo": "132156",
"identityCard": "165465",
"birthYear": "1998",
"birthDay": "01-01",
"country": "china",
"provinceCode": "310000",
"provinceName": "上海",
"cityCode": "310100",
"cityName": "上海市",
"districtCode": "310107",
"districtName": "普陀区",
"address": "上海市徐汇区天钥桥路 1001 号",
"job": "teacher",
"shopCode": "shuyun",
"shopName": "数云",
"shopTypeCode": "shuyun",
"registerTime": "2021-10-13T12:26:58.386+08:00",
"customizedProperties": {
"registerSource": "线下活动",
"customizedTag": "{“爱好”:”篮球”}",
"belongBC": "10001",
"belongShop": "10001",
"checkPolicyStatus": "1",
"referrerMobile": "15021228866",
"isGetInfoByEmail": "1",
"isGetInfoBySMS": "1",
"isGetInfoByServiceSMS": "1",
"wxOpenId": "NJkoIOJNBUOh",
"isSubscribe": "1"
"memberSalutation": "王女士",
"memberStatus": "FREEZE",
"sportsPreference": "篮球",
"makeUpPreference": "口红"
},
"mobile": "15021228866",
"email": "1001@shuyun.com",
"memberId": "0040a85608844820900558fc2671cb7c",
"memberBinding": [
{
"memberType": "shuyun",
"customerNo": "1001",
"mixMobile": "5608844820900558fc2671cb7c",
"appId": "appId28154751841",
"openId": "o3_wb5J_b7llpR5sWiDmRWZZnWes",
"shopCode": "shopcode1001",
"shopName": "01 门店",
"shopTypeCode": "01shop",
"appTypeCode": "EBRAND",
"appTypeName": "会员通",
"channelType": "TAOBAO",
"relType": 0,
"unionId": "string"
}
],
"firstRegisterChannelType": "POS",
"firstRegisterChannelTypeDesc": "线下",
"age": 18,
"wechatNick": "清风",
"headImgUrl": "http://111xx",
"unionId": "o-shjxsjidsdih"
}
返回状态码:
200:请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.2E. 查询会员信息(外部)
请求接口: /member/extQuery
接口描述: 与查询会员信息相同,只返回特定字段,通过hasMobile返回是否绑定手机
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
cardNo | String | 64 | 会员卡号, memberId,mobile,cardNo 三种参数至少输入一 | |
channelType | String | 20 | 渠道来源 | |
memberId | String | 32 | 会员 ID , memberId,mobile,cardNo 三种参数至少输入一 | |
memberType | String | 是 | 20 | 会员类型 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
memberId | String | 会员 ID |
memberName | String | 会员姓名 |
birthDay | string | 会员生日-月日 如:07-05 |
birthYear | string | 会员生日-年 1988 |
registerTime | String | 注册时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 |
firstRegisterChannelType | string | 首次注册渠道 |
belongShop | String | 所属门店编码 |
返回结果示例
{
"memberName": "会员 1",
"birthYear": "1998",
"birthDay": "01-01",
"memberId": "0040a85608844820900558fc2671cb7c",
"registerTime": "2021-10-13T12:26:58.386+08:00"
}
返回状态码:
200:请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.3. 查询会员积分
请求接口: /member/loyalty/point
接口描述: 用于查询会员积分
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 渠道来源 | |
memberId | String | 32 | memberId, mobile 二者必须传入一个 | |
memberType | String | 是 | 20 | 会员类型 |
mobile | String | 20 | memberId, mobile 二者必须传入一个 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
point | Integer | 积分 |
返回结果示例
{
"point": 100
}
返回状态码:
200:请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.4. 查询会员等级
请求接口: /member/loyalty/grade
接口描述: 用于查询会员等级
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 渠道来源 | |
memberId | String | 32 | memberId, mobile 二者必须传入一个 | |
memberType | String | 是 | 20 | 会员类型 |
mobile | String | 20 | memberId, mobile 二者必须传入一个 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
effectiveTime | String | 等级生效时间格式: yyyy-MMdd'T'HH:mm:ss.SSSXXX 时区:GMT+8 ,2021-10-13T12:26:58.386+08:00 |
expiredTime | String | 等级过期时间格式: yyyy-MMdd'T'HH:mm:ss.SSSXXX 时区:GMT+8 ,2021-10-13T12:26:58.386+08:00 |
id | String | 等级 ID |
name | String | 等级名称 |
返回结果示例
{
"effectiveTime": "2021-10-13T12:26:58.386+08:00",
"expiredTime": "2021-10-13T12:26:58.386+08:00",
"id": 0,
"name": "string"
}
返回状态码:
200:请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.5. 查询会员积分变更记录
请求接口: /member/point/records
接口描述: 用于查询会员积分变更记录
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 变更渠道 | |
endTime | String | 结束时间 格式:yyyy-MM-dd HH:mm:ss | ||
memberId | String | 32 | 会员ID,memberId,mobile两种参数至少输入一个 | |
memberType | String | 是 | 20 | 会员类型 |
mobile | String | 20 | 手机号码,memberId,mobile两种参数至少输入一个 | |
page | Integer | 当前页码,默认:1 | ||
pageSize | Integer | 当页数量,默认:20,上限:100 | ||
recordType | String | 20 | 积分变更类型,可选值:SEND(立即发放)、DELAY_SEND(延迟发放)、EXPIRE(过期)、FREEZE(冻结)、UNFREEZE(取消冻结)、DEDUCT(扣减)、LOCK(预扣)、UNLOCK(解锁)、ABOLISH(作废)、TIMER(定时)、RECALCULATE(废弃重算)、SPECIAL_DEDUCT(特殊扣除)、SPECIAL_FREEZE(特殊冻结)、SPECIAL_UNFREEZE(特殊解冻)、SPECIAL_ABOLISH(特殊废弃)、MANUAL_ABOLISH(手动废弃) | |
startTime | String | 起始时间 格式:yyyy-MM-dd HH:mm:ss |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
PointRecord | Array | 结构体如下 |
PointRecord:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
changeMode | String | 50 | 变更方式 | |
changeTime | String | 积分变更时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 | ||
changeType | String | 20 | 积分变更类型,可选值:END(立即发放)、DELAY_SEND(延迟发放)、EXPIRE(过期)、FREEZE(冻结)、UNFREEZE(取消冻结)、DEDUCT(扣减)、LOCK(预扣)、UNLOCK(解锁)、ABOLISH(作废)、TIMER(定时)、RECALCULATE(废弃重算)、SPECIAL_DEDUCT(特殊扣除)、SPECIAL_FREEZE(特殊冻结)、SPECIAL_UNFREEZE(特殊解冻)、SPECIAL_ABOLISH(特殊废弃)、MANUAL_ABOLISH(手动废弃) | |
channel | String | 20 | 渠道类型 | |
description | String | 255 | 备注 | |
effectiveTime | String | 积分生效时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 | ||
expiredTime | String | 积分过期时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 | ||
memberId | string | 32 | 会员ID | |
point | Integer | 变更积分 | ||
totalPoint | String | 历史总积分 | ||
traceId | String | 255 | 追溯id | |
KZZD1 | String | 255 | 积分类型 | |
KZZD2 | String | 255 | 积分来源 | |
KZZD3 | String | 255 | 变更事件类型code |
返回结果示例
[
{
"memberId": "string",
"point": 0,
"totalPoint": "string",
"changeType": "SEND",
"description": "备注",
"effectiveTime": "2021-10-13T12:26:58.386+08:00",
"expiredTime": "2021-10-13T12:26:58.386+08:00",
"changeTime": "2021-10-13T12:26:58.386+08:00",
"changeMode": "MANUAL",
"id": "12dwdw",
"traceId": "12dwdw",
"channel": "TAOBAO",
"KZZD1": "活动积分",
"KZZD2": " 线下活动",
"KZZD3": " E0001"
}
]
返回状态码:
200:请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.6. 查询会员等级变更记录
请求接口: /member/grade/record
接口描述: 用于查询会员等级变更记录
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 变更渠道 | |
endTime | String | 结束时间 格式:yyyy-MM-dd HH:mm:ss | ||
memberId | String | 32 | 会员ID,memberId,mobile两种参数至少输入一个 | |
memberType | String | 是 | 20 | 会员类型 |
mobile | String | 20 | 手机号码,memberId,mobile两种参数至少输入一个 | |
page | Integer | 当前页码,默认:1 | ||
pageSize | Integer | 当页数量,默认:20,上限:100 | ||
startTime | String | 起始时间 格式:yyyy-MM-dd HH:mm:ss |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
GradeRecord | Array | 结构体如下 |
GradeRecord:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
changeTime | String | 等级变更时间 | ||
changeType | String | 20 | 等级变更类型,可选值:UPGRADE(升级)、DEGRADE(降级)、HOLD_BACK_GRADE(保级) | |
effectiveTime | String | 变更后等级生效时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 | ||
expiredTime | String | 变更后等级过期时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 | ||
gradeId | String | 64 | 变更后等级ID | |
gradeName | String | 255 | 变更后等级名称 | |
memberId | String | 32 | 会员ID | |
originEffectiveTime | String | 变更前等级生效时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 | ||
originExpiredTime | string | 变更前等级过期时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 | ||
originalGradeId | Integer | 64 | 变更前等级ID | |
originalGradeName | String | 255 | 变更前等级名称 |
返回结果示例
[
{
"changeTime": "2021-10-13T12:26:58.386+08:00",
"changeType": "UPGRADE",
"effectiveTime": "2021-10-13T12:26:58.386+08:00",
"expiredTime": "2021-10-13T12:26:58.386+08:00",
"gradeId": 0,
"gradeName": "string",
"memberId": "0040a85608844820900558fc2671cb7c",
"originEffectiveTime": "2021-10-13T12:26:58.386+08:00",
"originExpiredTime": "2021-10-13T12:26:58.386+08:00",
"originalGradeId": 0,
"originalGradeName": "string"
}
]
返回状态码:
200:请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.7. 变更会员积分
请求接口: /member/point
接口描述: 用于变更会员积分
请求类型: HTTP PUT
请求参数:
header:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
X-Business-Token | String | 是 | 请求头(request header)里需要传:X-BusinessToken, 不同请求对应 X-Business-Token 值确保唯一;若同一请求,请求多次,确保 X-Business-Token 值是一样,如兑礼订单,需要在此字段传入兑礼订单号。 |
Body:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
changeType | String | 是 | 积分变更类型,可选值:SEND(立即发放)、DEDUCT(扣减) | |
channelType | String | 是 | 20 | 渠道类型 |
description | String | 是 | 255 | 备注,包括事件类型、事件等信息,JSON字符串 |
effectTime | String | 积分生效时间,为空时立即生效,格式: yyyy-MM-dd HH:mm:ss | ||
expiredTime | String | 积分过期时间,格式: yyyy-MM-dd HH:mm:ss | ||
memberId | String | 是 | 32 | 会员ID |
memberType | String | 是 | 20 | 会员类型 |
point | Number | 是 | 积分 | |
shopCode | String | 32 | 店铺code | |
KZZD1 | String | 255 | 积分类型 | |
KZZD2 | String | 255 | 积分来源 | |
KZZD3 | String | 是 | 255 | 变更事件类型code |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"point": 20,
"effectTime": "2021-07-13 08:36:03",
"expiredTime": "2021-07-13 08:36:03",
"changeType": "SEND",
"description": "备注",
"channelType": "POS",
"memberType": "shuyun",
"shopCode": "10001",
"KZZD1": "活动积分",
"KZZD2": ”线下活动",
"KZZD3": "E0001"
}
返回状态码:
200:请求成功
201: Created
204: 修改会员积分成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.8. 冻结会员积分
请求接口: /member/freezePoint
接口描述: 用于冻结会员积分
请求类型: HTTP POST
请求参数:
header:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
X-Business-Token | String | 是 | 请求头(request header)里需要传:X-BusinessToken, 不同请求对应 X-Business-Token 值确保唯一;若同一请求,请求多次,确保 X-Business-Token 值是一样。 |
Body:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
description | String | 是 | 255 | 备注,包括事件类型、事件等信息,JSON字符串 |
memberId | String | 是 | 32 | 会员ID |
memberType | String | 是 | 20 | 会员类型 |
point | Number | 是 | 积分 | |
shopCode | String | 32 | 店铺code |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"description": "备注",
"channelType": "SHUYUN",
"memberType": "shuyun",
"shopCode": "string",
"idempotentMode": 0,
"point": 20
}
返回状态码:
200:请求成功
201: Created
204: 操作积分成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.9. 解冻会员积分
请求接口: /member/unfreezePoint
接口描述: 用于解冻会员积分
请求类型: HTTP POST
请求参数:
header:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
X-Business-Token | String | 是 | 请求头(request header)里需要传:X-BusinessToken, 不同请求对应 X-Business-Token 值确保唯一;若同一请求,请求多次,确保 X-Business-Token 值是一样(解冻时需要与对应冻结积分的 token 一致)。 |
Body:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
description | String | 是 | 255 | 备注,包括事件类型、事件等信息,JSON字符串 |
memberId | String | 是 | 32 | 会员ID |
memberType | String | 是 | 20 | 会员类型 |
shopCode | String | 32 | 店铺code |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"description": "备注",
"channelType": "SHUYUN",
"memberType": "shuyun",
"shopCode": "string",
"idempotentMode": 0
}
返回状态码:
200:请求成功
201: Created
204: 操作积分成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.10. 消耗会员已冻结积分
请求接口: /member/freezeDeductPoint
接口描述: 用于消耗会员已冻结积分
请求类型: HTTP POST
请求参数:
header:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
X-Business-Token | String | 是 | 请求头(request header)里需要传:X-BusinessToken, 不同请求对应 X-Business-Token 值确保唯一;若同一请求,请求多次,确保 X-Business-Token 值是一样(消耗冻结积分时需要与冻结积分时的 token一致) |
Body:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
description | String | 是 | 255 | 备注,包括事件类型、事件等信息,JSON字符串 |
memberId | String | 是 | 32 | 会员ID |
memberType | String | 是 | 20 | 会员类型 |
shopCode | String | 32 | 店铺code |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"description": "备注",
"channelType": "SHUYUN",
"memberType": "shuyun",
"shopCode": "string",
"idempotentMode": 0
}
返回状态码:
200:请求成功
201: Created
204: 操作积分成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.11. 修改会员信息
请求接口: /member/update
接口描述: 用于修改会员
请求类型: HTTP PUT
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
updateMember | Object | 结构体如下 |
updateMember:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
address | String | 255 | 联系地址(中文) | |
birthDay | String | 会员生日-月日,格式: MM-dd,例:07-05 | ||
birthYear | String | 会员生日-年,格式: yyyy,例:1988 | ||
channelType | String | 是 | 20 | 渠道类型 |
cityCode | String | 32 | 市code | |
cityName | String | 100 | 城市名称 | |
contactTel | String | 20 | 联系电话 | |
country | String | 20 | 国籍,例:china | |
districtCode | String | 32 | 区code | |
districtName | String | 100 | 区名称 | |
String | 255 | 邮箱地址 | ||
gender | String | 性别,可选值:F(女)、M(男)、O(其他) | ||
headImgUrl | String | 头像链接 | ||
identityCard | String | 20 | 身份证号码 | |
job | String | 100 | 职业名称 | |
memberId | String | 是 | 32 | 会员ID |
memberName | String | 255 | 会员姓名 | |
memberType | String | 是 | 20 | 会员类型 |
provinceCode | String | 32 | 省code | |
provinceName | String | 100 | 省份名称 | |
customizedProperties{} | Object | 会员扩展属性 |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
registerSource | String | 100 | 注册来源 | |
customizedTag | String | 1000 | 个性标签,传入JSON字符串 | |
belongBC | String | 100 | 所属BC工号 | |
belongShop | String | 100 | 所属店铺id | |
checkPolicyStatus | String | 10 | 会员是否同意隐私授权,可选值:1(同意)、2(不同意) | |
referrerMobile | String | 20 | 推荐人手机号 | |
isGetInfoByEmail | String | 10 | 是否同意接收邮件,可选值:1(同意)、0(不同意) | |
isGetInfoBySMS | String | 10 | 是否同意接收短信,可选值:1(同意)、0(不同意) | |
isGetInfoByServiceSMS | String | 10 | 是否同意接收服务类短信,可选值:1(同意)、0(不同意) | |
memberSalutation | String | 100 | 会员称谓,品牌需求新增 | |
sportsPreference | String | 100 | 运动偏好 | |
makeUpPreference | String | 100 | 美妆偏好 |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"channelType": "TAOBAO",
"memberType": "shuyun",
"memberName": "数云",
"gender": "F",
"email": "1001@shuyun.com",
"identityCard": "101100",
"birthYear": "1900",
"birthDay": "01-01",
"country": "china",
"provinceCode": "310000",
"provinceName": "上海",
"cityCode": "310100",
"cityName": "上海市",
"districtCode": "310107",
"districtName": "普陀区",
"address": "上海市徐汇区天钥桥路 1001 号",
"job": "teacher",
"contactTel": "18500002312",
"headImgUrl": "http://www.xxx.com/url?id=101",
"customizedProperties": {
"registerSource": "线下活动",
"customizedTag": "{“爱好”:”篮球”}",
"belongBC": "10001",
"belongShop": "10001"
"checkPolicyStatus": "1",
"referrerMobile": "15021228866",
"isGetInfoByEmail": "1",
"isGetInfoBySMS": "1",
"isGetInfoByServiceSMS": "1",
"memberSalutation": "王女士",
"sportsPreference": "篮球",
"makeUpPreference": "口红"
}
}
返回状态码:
201: Created
204: 修改会员成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.12. 修改会员手机号
请求接口: /member/modify/mobile
接口描述: 用于修改会员手机号,仅允许修改为未注册过的手机号
请求类型: HTTP PUT
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
newMobile | String | 是 | 20 | 新手机号码 |
memberId | String | 是 | 32 | 会员 ID |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"memberType": "cpbomni",
"newMobile": "13100000000"
}
返回状态码:
200: 修改成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.13. 更新会员隐私条款(定制)
请求接口: /member/modify/policy
接口描述: 更新会员隐私条款装填以及隐私条款时间
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
memberId | String | 是 | 32 | 会员ID |
checkPolicyStatus | String | 是 | 20 | 会员是否同意隐私政策,可选值:1(同意)、0(不同意) |
policyStatusUpdateTime | dataTime | 隐私协议修改时间(不填默认为当前时间) |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"memberType": "shuyun",
"checkPolicyStatus": "1",
"policyStatusUpdateTime": "2021-07-13 08:36:03"
}
返回状态码:
200: 请求成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.14. 查询会员属性接口(定制)
请求接口: /member/getAttributs/page
接口描述: 查询会员属性接口,可查询联名会员信息
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
memberId | String | 是 | 32 | 会员ID |
currentPage | integer | 当前页数,默认为1 | ||
pageSize | integer | 分页容量,默认为20 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
memberAttributs | Array | 会员属性集合 |
memberAttributs:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberId | String | 32 | 会员ID | |
memberType | String | 20 | 会员类型 | |
attributeCode | String | 64 | 属性编码 | |
attributeName | String | 200 | 属性名称 | |
createTime | dateTime | 创建时间 | ||
updateTime | dateTime | 更新时间 |
返回结果示例
[
{
"memberId": "0040a85608844820900558fc2671cb7c ",
"memberType": "shuyun",
"attributeCode": "huadi",
"attributeName": "华帝联名会员",
"updateTime": "2021-10-13T12:26:58.386+08:00",
"createTime": "2021-10-13T12:26:58.386+08:00"
}
]
返回状态码:
200: 请求成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.15. 修改会员状态接口(定制)
请求接口: /member/updateMemberStatus
接口描述: 修改会员状态
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
memberId | String | 是 | 32 | 会员ID |
memberStatus | String | 20 | 会员状态 |
返回状态码:
200: 请求成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.16. 查询会员消费渠道接口(定制)
请求接口: /member/purchase/channe
接口描述: 查询会员消费渠道接口
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
memberId | String | 是 | 32 | 会员ID |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
memberId | String | 会员 ID |
purchaseChannel | Array | 会员消费渠道列表 |
返回结果示例
{
"memberId": "M1140ZRS59S3G",
"purchaseChannel": ["TAOBAO","POS","ECMP","GW","ECMPcom"]
}
返回状态码:
200: 请求成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.17. 查询会员下一等级所需金额接口(定制)
请求接口: /member/loyalty/grade/nextGradeAmount
接口描述: 查询会员下一等级所需金额
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
memberId | String | 是 | 32 | 会员ID |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
currentGradeId | Integer | 当前等级 id |
currentGradeName | String | 当前等级名称 |
memberId | String | 会员 ID |
consumeAmount | Number | 当前累计消费金额 |
needAmount | Number | 升级所需金额 |
nextGradeId | Integer | 下一等级 id |
nextGradeName | String | 下一等级名称 |
nextGradeNeedAmount | Number | 下一等级所需消费金额 |
updatedTime | DateTime | 更新时间 |
返回结果示例
{
"currentGradeId": 60040,
"currentGradeName": "银钻卡",
"memberId": "M1140ZRS59S3G",
"consumeAmount": 170.0,
"needAmount": 2830.0,
"nextGradeId": "60041",
"nextGradeName": "金卡",
"nextGradeNeedAmount": 3000.0,
"updatedTime": "2022-04-16T17:44:24.055+08:00"
}
返回状态码:
200: 请求成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.18. 根据渠道查询会员信息(定制)
请求接口: /customer/queryByChannelId
接口描述: 根据渠道 Id 查询会员基础信息
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 会员类型 | |
channelType | String | 是 | 渠道类型 | |
customerNo | String | 是 | 渠道ID,例如:淘宝渠道-麒麟ID;京东-OpenID;微信-AppID_OpenID;其他渠道唯一ID等 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
SimpleMemberDto | Object | 结构体如下 |
SimpleMemberDto:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
cardNo | String | 64 | 会员卡号 | |
String | 255 | 邮箱 | ||
memberId | String | 64 | 会员ID | |
memberName | String | 255 | 会员名称 | |
memberType | String | 20 | 会员类型 | |
mobile | String | 20 | 手机号 | |
registerTime | String | 注册时间 | ||
shopCode | String | 64 | 店铺code | |
shopName | String | 255 | 店铺名称 | |
dateOfBirth | String | 出生年月日 |
返回结果示例
{
"memberType": "shuyun",
"memberId": "shuyun",
"memberName": "小小",
"gender": "F",
"identityCard": "101100",
"dateOfBirth": "1998-01-01",
"mobile": "18909890000",
"cardNo": "1727832",
"email": "1001@shuyun.com",
"marriageStatus": "Y",
"registerTime": "2021-12-30T02:24:02.202Z",
"shopCode": "shopcode1001",
"shopName": "01 门店"
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.18E. 根据渠道查询会员信息(定制)
请求接口: /customer/extQueryByChannelId
接口描述: 根据渠道 Id 查询会员基础信息,只返回MemberId
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 会员类型 | |
channelType | String | 是 | 渠道类型 | |
customerNo | String | 是 | 渠道ID,例如:淘宝渠道-麒麟ID;京东-OpenID;微信-AppID_OpenID;其他渠道唯一ID等 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
SimpleMemberDto | Object | 结构体如下 |
SimpleMemberDto:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberId | String | 64 | 会员ID |
返回结果示例
{
"memberId": "shuyun"
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.19. 天猫会员明文手机完善接口(定制)
请求接口: /customer/refresh/mobile
接口描述: 用于查询会员当月即将过期积分
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 必填 | 20 | 会员类型,固定值,各品牌不同,需向数云申请 |
Mobile | String | 必填 | 20 | 新手机号码 |
memberId | String | 必填 | 32 | 会员ID |
返回结果示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"memberType": "bsomni",
"mobile": "13100000000"
}
返回状态码:
200: 请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
3.20. 注销会员(定制)
请求接口: /member/cancellation
接口描述: 用于注销会员
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberId | String | 必填 | 32 | 会员ID |
memberType | String | 必填 | 20 | 会员类型 |
请求参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"memberType": "shuyun"
}
返回状态码:
200: 请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
4.会员集雅荟等级 API(定制)
4.1. 查询会员集雅荟等级
请求接口: /member/loyalty/accountGrade
接口描述: 用于查询指定账户会员等级
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 渠道来源 | |
memberId | String | 32 | 会员ID,memberId和mobile二者必须传入一个 | |
memberType | String | 必填 | 20 | 会员类型 |
mobile | String | 20 | 手机号,memberId和mobile二者必须传入一个 | |
accountType | String | 必填 | 20 | 账户类型,例如集雅荟账户类型为JYHGRADE |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
effectiveTime | String | 等级生效时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 |
expiredTime | String | 等级过期时间 格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX 时区:GMT+8 2021-10-13T12:26:58.386+08:00 |
id | Integer | 等级 ID |
name | String | 等级名称 |
返回结果示例
{
"effectiveTime": "2021-10-13T12:26:58.386+08:00",
"expiredTime": "2021-10-13T12:26:58.386+08:00",
"id": 0,
"name": "string"
}
返回状态码:
200: 请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
4.2. 查询会员集雅荟等级变更记录
请求接口: /member/accountGrade/record
接口描述: 用于查询指定账户会员等级变更记录
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 变更渠道 | |
endTime | String | 结束时间,格式为yyyy-MM-dd HH:mm:ss | ||
memberId | String | 32 | 会员ID,memberId和mobile两种参数至少输入一个 | |
memberType | String | 必填 | 20 | 会员类型 |
mobile | String | 20 | 手机号码,memberId和mobile两种参数至少输入一个 | |
page | Integer | 当前页码,默认为1 | ||
pageSize | Integer | 当页数量,默认为20,上限为100 | ||
startTime | String | 起始时间,格式为yyyy-MM-dd HH:mm:ss | ||
accountType | String | 必填 | 20 | 账户类型,例如集雅荟账户类型为JYHGRADE |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
GradeRecord | Array | 结构体如下 |
GradeRecord:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
changeTime | String | 等级变更时间 | ||
changeType | String | 20 | 等级变更类型,可选值为UPGRADE(升级),DEGRADE(降级),HOLD_BACK_GRADE(保级) | |
effectiveTime | String | 变更后等级生效时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
expiredTime | String | 变更后等级过期时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
gradeId | String | 64 | 变更后等级ID | |
gradeName | String | 255 | 变更后等级名称 | |
memberId | String | 32 | 会员ID | |
originEffectiveTime | String | 变更前等级生效时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
originExpiredTime | String | 变更前等级过期时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
originalGradeId | Integer | 64 | 变更前等级ID | |
originalGradeName | String | 255 | 变更前等级名称 |
返回结果示例
[
{
"changeTime": "2021-10-13T12:26:58.386+08:00",
"changeType": "UPGRADE",
"effectiveTime": "2021-10-13T12:26:58.386+08:00",
"expiredTime": "2021-10-13T12:26:58.386+08:00",
"gradeId": 0,
"gradeName": "string",
"memberId": "0040a85608844820900558fc2671cb7c",
"originEffectiveTime": "2021-10-13T12:26:58.386+08:00",
"originExpiredTime": "2021-10-13T12:26:58.386+08:00",
"originalGradeId": 0,
"originalGradeName": "string"
}
]
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
5.会员往期积分 API
5.1. 查询会员往期积分
请求接口: /member/past/point
接口描述: 用于查询会员往期积分
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
accountType | String | 必填 | 20 | 积分账户类型,例如往期积分为CPBPAST |
memberId | String | 必填 | 32 | 会员ID |
memberType | String | 必填 | 20 | 会员类型 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
point | Integer | 积分值 |
返回结果示例
{
"point": 100
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
5.2. 查询会员往期积分变更记录
请求接口: /member/past/point/records
接口描述: 用于查询会员往期积分变更记录
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
accountType | String | 必填 | 20 | 积分账户类型,例如往期积分为CPBPAST |
channelType | String | 20 | 变更渠道 | |
endTime | String | 结束时间,格式为yyyy-MM-dd HH:mm:ss | ||
memberId | String | 必填 | 32 | 会员ID |
memberType | String | 必填 | 20 | 会员类型 |
page | Integer | 当前页码,默认为1 | ||
pageSize | Integer | 当页数量,默认为20,上限为100 | ||
recordType | String | 20 | 积分变更类型,可选值为SEND(立即发放),DELAY_SEND(延迟发放),EXPIRE(过期),FREEZE(冻结),UNFREEZE(取消冻结),DEDUCT(扣减),LOCK(预扣),UNLOCK(解锁),ABOLISH(作废),TIMER(定时),RECALCULATE(废弃重算),SPECIAL_DEDUCT(特殊扣除),SPECIAL_FREEZE(特殊冻结),SPECIAL_UNFREEZE(特殊解冻),SPECIAL_ABOLISH(特殊废弃),MANUAL_ABOLISH(手动废弃) | |
startTime | String | 起始时间,格式为yyyy-MM-dd HH:mm:ss |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
PointRecord | Array | 结构体如下 |
PointRecord:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
changeMode | String | 50 | 变更方式 | |
changeTime | String | 积分变更时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
changeType | String | 20 | 积分变更类型,可选值为END(立即发放),DELAY_SEND(延迟发放),EXPIRE(过期),FREEZE(冻结),UNFREEZE(取消冻结),DEDUCT(扣减),LOCK(预扣),UNLOCK(解锁),ABOLISH(作废),TIMER(定时),RECALCULATE(废弃重算),SPECIAL_DEDUCT(特殊扣除),SPECIAL_FREEZE(特殊冻结),SPECIAL_UNFREEZE(特殊解冻),SPECIAL_ABOLISH(特殊废弃),MANUAL_ABOLISH(手动废弃) | |
channel | String | 20 | 渠道类型 | |
description | String | 255 | 备注 | |
effectiveTime | String | 积分生效时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
expiredTime | String | 积分过期时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
memberId | string | 32 | 会员ID | |
point | Integer | 变更积分 | ||
totalPoint | String | 历史总积分 | ||
traceId | String | 255 | 追溯ID | |
KZZD1 | String | 255 | 积分类型 | |
KZZD2 | String | 255 | 积分来源 | |
KZZD3 | String | 255 | 变更事件类型code |
返回结果示例
[
{
"memberId": "string",
"point": 0,
"totalPoint": "string",
"changeType": "SEND",
"description": "备注",
"effectiveTime": "2021-10-13T12:26:58.386+08:00",
"expiredTime": "2021-10-13T12:26:58.386+08:00",
"changeTime": "2021-10-13T12:26:58.386+08:00",
"changeMode": "MANUAL",
"id": "12dwdw",
"traceId": "12dwdw",
"channel": "TAOBAO",
"KZZD1": "活动积分",
"KZZD2": " 线下活动",
"KZZD3": " E0001"
}
]
返回状态码:
200: 请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
5.3. 变更会员往期积分
请求接口: /member/past/pointchange
接口描述: 用于变更会员往期积分
请求类型: HTTP PUT
请求参数:
header:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
X-Business-Token | String | 是 | 请求头(request header)里需要传:X-BusinessToken, 不同请求对应 X-Business-Token 值确保唯一;若同一请求,请求多次,确保 X-Business-Token 值是一样如兑礼订单,需要在此字段传入兑礼订单号。 |
Body:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
accountType | String | 必填 | 20 | 积分账户类型,例如往期积分为CPBPAST |
changeType | String | 必填 | 积分变更类型,可选值为SEND(立即发放),DEDUCT(扣减) | |
channelType | String | 必填 | 20 | 渠道类型 |
description | String | 必填 | 255 | 备注,包括事件类型、事件等信息,使用JSON字符串格式 |
effectTime | String | 积分生效时间,格式为yyyy-MM-dd HH:mm:ss,为空时表示立即生效 | ||
expiredTime | String | 积分过期时间,格式为yyyy-MM-dd HH:mm:ss | ||
memberId | String | 必填 | 32 | 会员ID |
memberType | String | 必填 | 20 | 会员类型 |
point | Number | 必填 | 积分 | |
shopCode | String | 32 | 店铺code | |
KZZD1 | String | 255 | 积分类型 | |
KZZD2 | String | 255 | 积分来源 | |
KZZD3 | String | 必填 | 255 | 变更事件类型code |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"accountType": "CPBPAST",
"point": 20,
"effectTime": "2021-07-13 08:36:03",
"expiredTime": "2021-07-13 08:36:03",
"changeType": "SEND",
"description": "备注",
"channelType": "POS",
"memberType": "shuyun",
"shopCode": "10001",
"KZZD1": "活动积分",
"KZZD2": ”线下活动",
"KZZD3": "E0001"
}
返回状态码:
200: 请求成功
201: Created
204: 修改会员积分成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
6.会员订单 API
6.1. 查询会员订单列表
请求接口: /order/{memberType}/page
接口描述: 用于查询会员订单信息
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 渠道类型 | |
currentPage | integer | 当前页数,默认为1 | ||
keyType | String | 搜索类型 | ||
keyWord | String | 搜索关键字 | ||
memberId | String | 32 | 会员ID,与mobile二选一,如果两个都有,则以memberId为主 | |
memberType | String | 必填 | 20 | 会员类型 |
mobile | String | 20 | 手机号,与memberId二选一 | |
orderBeginTime | String | 搜索此时间之后的订单,格式为yyyy-MM-dd HH:mm:ss | ||
orderEndTime | String | 搜索此时间之前的订单,格式为yyyy-MM-dd HH:mm:ss | ||
pageSize | Integer | 分页容量,默认为20 | ||
status | String | 20 | 订单状态 |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
currentPage | Integer | 当前页 |
data | Array | 分页数据 |
pageSize | Integer | 分页容量 |
totalCount | Integer | 总记录数 |
totalPage | Integer | 总页数 |
返回结果示例
{
"currentPage": 0,
"pageSize": 0,
"totalCount": 0,
"totalPage": 0,
"data": [
{
"memberType": "shuyun",
"orderId": "087989aaf6af4e58897794d18axxxxx",
"originOrderId": "087989aaf6af4e58897794d18axxxxx",
"customerNo": "T000001",
"shopCode": "SHOP001",
"shopName": "SHOP001",
"memberId": "1c25f18ad274493882d01660e3exxxxx",
"shopTypeCode": "TAOBAO",
"orderType": "NORMAL",
"orderStatus": "FINISHED",
"channelType": "TAOBAO",
"totalQuantity": 1,
"totalFee": 85,
"payment": 85,
"freight": 10,
"discountRate": 0.85,
"discountFee": 15,
"receiverName": "abc",
"receiverMobile": "18900000000",
"receiverTelephone": "18900000000",
"receiverProvince": "上海",
"receiverCity": "上海",
"receiverDistrict": "浦东新区",
"receiverAddress": "南京东路 100 号",
"receiverZipCode": "200000",
"couponNo": "C123456",
"couponFee": 15,
"guideCode": "001",
"description": "无",
"orderTime": "2021-10-13T12:26:58.386+08:00",
"payTime": "2021-10-13T12:26:58.386+08:00",
"finishTime": "2021-10-13T12:26:58.386+08:00",
"receiveTime": "2021-10-13T12:26:58.386+08:00",
"shippingTime": "2021-10-13T12:26:58.386+08:00",
"exchangeTime": "2021-10-13T12:26:58.386+08:00",
"refundTime": "2021-10-13T12:26:58.386+08:00",
"pointFlag": 1,
"orderItems": [
{
"orderItemId": "bf3a654f1afa4859bb5c0e8846bxxxxx",
"originOrderItemId": "bf3a654f1afa4859bb5c0e8846bxxxxx",
"productCode": "P001",
"productName": "P001",
"totalFee": 85,
"payment": 85,
"quantity": 1,
"channelType": "TAOBAO",
"status": "FINISHED",
"skuId": "S001",
"shopTypeCode": "TAOBAO",
"tagPrice": 100,
"retailPrice": 100,
"discountRate": 0.85,
"discountFee": 15,
"orderType": "NORMAL",
"finishTime": "2021-10-13T12:26:58.386+08:00",
"payTime": "2021-10-13T12:26:58.386+08:00",
"orderTime": "2021-10-13T12:26:58.386+08:00",
"picture": [
"https://allpro.saas.top/FsB-uzzX4WtCzpDuVuwqp2OdNbQ?e=1547742055&token=yNjhOp7gnH4St9yP72OlwuQ6JUNQf49pxAuGWYFt
:1eZIUjRKIekGuMGG-c-s7UqNF1Y=;"
],
"customizedProperties": {
"string": "update"
}
}
],
"customizedProperties": {
"ticketNum": "123456789",
"salesMode": "123456789",
"presaleFlag": "123456789",
"presaleStoreId": "123456789",
"presalePosId": "123456789",
"presaleBillNo": "123456789",
"presaleReturnStoreId": "123456789",
"presaleReturnPosId": "123456789",
"presaleReturnBillNo": "123456789",
"orderSource": "10"
},
"id": "string"
}
]
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
6.2. 查询会员订单详情
请求接口: /order/{memberType}/{orderId}
接口描述: 用于查询主订单以及子订单详情
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 渠道类型 | |
memberType | String | 必填 | 20 | 会员类型 |
orderId | String | 必填 | 32 | 订单ID |
orderType | String | 必填 | 20 | 订单类型,可选值为NORMAL(正常单),REFUND(退单) |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
orderInfo | Object | 结构体如下 |
orderInfo:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 20 | 渠道 | |
couponFee | Number | 优惠劵金额 | ||
couponNo | String | 64 | 优惠劵码 | |
customerNo | String | 64 | 渠道ID,渠道唯一标识,用于区分渠道会员 | |
description | String | 255 | 订单备注 | |
discountFee | Number | 折扣金额 | ||
discountRate | Number | 折扣率(小于等于1) | ||
exchangeTime | String | 订单换货时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
freight | Number | 运费 | ||
guideCode | String | 32 | 订单对应导购 | |
lastSync | String | 数据同步时间 | ||
memberId | String | 32 | 会员ID | |
memberType | String | 20 | 会员类型 | |
orderId | String | 32 | 订单ID | |
orderItems | Array | 正常订单子订单 | ||
orderStatus | String | 20 | 订单状态 | |
orderTime | String | 下单时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
orderType | String | 20 | 订单类型,可选值为NORMAL(正常单)、REFUND(退单) | |
originOrderId | String | 32 | 原始订单ID,退单时传 | |
payTime | String | 订单付款时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
payment | Number | 实付金额 | ||
pointFlag | integer | 是否计算积分,0-不计算积分,1-计算积分 | ||
receiveTime | String | 订单收货时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
finishTime | String | 订单完成时间,格式为yyyy-MM-dd HH:mm:ss | ||
receiverAddress | String | 255 | 收货人地址 | |
receiverCity | String | 100 | 市 | |
receiverDistrict | String | 100 | 区/县 | |
receiverMobile | String | 20 | 收货人手机号 | |
receiverName | String | 100 | 收货人姓名 | |
receiverProvince | String | 100 | 省 | |
receiverTelephone | String | 20 | 收货人固定电话 | |
receiverZipCode | String | 20 | 邮编 | |
refundTime | String | 订单退货时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
shippingTime | String | 订单发货时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
shopCode | String | 32 | 注册门店code | |
shopName | String | 255 | 注册门店名称 | |
shopTypeCode | String | 32 | 注册门店类型code | |
totalFee | Number | 应付金额 | ||
totalQuantity | integer | 商品总数 | ||
updateTime | String | 更新时间 | ||
customizedProperties{} | Object(Map) | 扩展字段 |
扩展字段结构:
|ticketNum|String| |100|小票号|
|salesMode|String| |10|销售类型,可选值为0(常规销售)、1(团购)|
|presaleFlag|String| |10|预售区分,可选值为0(普通)、1(预售)、2(提货)|
|presaleStoreId|String| |32|预售店铺编号|
|presalePosId|String| |32|预售POS机号|
|presaleBillNo|String| |32|预售小票号|
|presaleReturnStoreId|String| |32|预售退货店铺编号|
|presaleReturnPosId|String| |32|预售退货POS机号|
|presaleReturnBillNo|String| |32|预售退货小票号|
|orderSource|String| |64|订单来源,枚举类型字段,具体枚举值参考枚举字典文档|
返回结果示例
{
"memberType": "shuyun",
"orderId": "087989aaf6af4e58897794d18axxxxx",
"originOrderId": "087989aaf6af4e58897794d18axxxxx",
"customerNo": "T000001",
"shopCode": "SHOP001",
"shopName": "SHOP001",
"memberId": "1c25f18ad274493882d01660e3exxxxx",
"shopTypeCode": "TAOBAO",
"orderType": "NORMAL",
"orderStatus": "FINISHED",
"channelType": "TAOBAO",
"totalQuantity": 1,
"totalFee": 85,
"payment": 85,
"freight": 10,
"discountRate": 0.85,
"discountFee": 15,
"receiverName": "abc",
"receiverMobile": "18900000000",
"receiverTelephone": "18900000000",
"receiverProvince": "上海",
"receiverCity": "上海",
"receiverDistrict": "浦东新区",
"receiverAddress": "南京东路 100 号",
"receiverZipCode": "200000",
"couponNo": "C123456",
"couponFee": 15,
"guideCode": "001",
"description": "无",
"orderTime": "2021-10-13T12:26:58.386+08:00",
"payTime": "2021-10-13T12:26:58.386+08:00",
"finishTime": "2021-10-13T12:26:58.386+08:00",
"receiveTime": "2021-10-13T12:26:58.386+08:00",
"shippingTime": "2021-10-13T12:26:58.386+08:00",
"exchangeTime": "2021-10-13T12:26:58.386+08:00",
"refundTime": "2021-10-13T12:26:58.386+08:00",
"pointFlag": 1,
"orderItems": [
{
"orderItemId": "bf3a654f1afa4859bb5c0e8846bxxxxx",
"originOrderItemId": "bf3a654f1afa4859bb5c0e8846bxxxxx",
"productCode": "P001",
"productName": "P001",
"totalFee": 85,
"payment": 85,
"quantity": 1,
"channelType": "TAOBAO",
"status": "FINISHED",
"skuId": "S001",
"shopTypeCode": "TAOBAO",
"tagPrice": 100,
"retailPrice": 100,
"discountRate": 0.85,
"discountFee": 15,
"orderType": "NORMAL",
"finishTime": "2021-10-13T12:26:58.386+08:00",
"payTime": "2021-10-13T12:26:58.386+08:00",
"orderTime": "2021-10-13T12:26:58.386+08:00",
"picture": [
"https://allpro.saas.top/FsB-uzzX4WtCzpDuVuwqp2OdNbQ?e=1547742055&token=yNjhOp7gnH4St9yP72OlwuQ6JUNQf49pxAuGWYFt
:1eZIUjRKIekGuMGG-c-s7UqNF1Y=;"
],
"customizedProperties": {
"string": "update"
}
}
],
"customizedProperties": {
"ticketNum": "123456789",
"salesMode": "123456789",
"presaleFlag": "123456789",
"presaleStoreId": "123456789",
"presalePosId": "123456789",
"presaleBillNo": "123456789",
"presaleReturnStoreId": "123456789",
"presaleReturnPosId": "123456789",
"presaleReturnBillNo": "123456789",
"orderSource": "10"
},
"id": "string"
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
6.3. 订单保存或者更新
请求接口: /order/save
接口描述: 用于订单保存或者更新
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
Order | Object | 必填 | 结构体如下 |
Order:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 必填 | 20 | 渠道 |
couponFee | Number | 优惠劵金额 | ||
couponNo | String | 32 | 优惠劵码 | |
customerNo | String | 64 | 客户编号 | |
description | String | 255 | 订单备注 | |
discountFee | Number | 折扣金额 | ||
discountRate | Number | 折扣率(小于等于1) | ||
exchangeTime | String | 订单换货时间,格式为yyyy-MM-dd HH:mm:ss | ||
freight | Number | 运费 | ||
guideCode | String | 32 | 订单对应导购 | |
memberId | String | 32 | 会员ID | |
memberType | String | 必填 | 20 | 会员类型 |
orderId | String | 必填 | 32 | 订单ID |
orderItems | Array | 正常订单子订单 | ||
orderStatus | String | 必填 | 20 | 订单状态 |
orderTime | String | 下单时间,格式为yyyy-MM-dd HH:mm:ss | ||
orderType | String | 必填 | 20 | 订单类型,可选值为NORMAL(正常单)、REFUND(退单) |
originOrderId | String | 32 | 原始订单ID,退单时传 | |
payTime | String | 订单付款时间,格式为yyyy-MM-dd HH:mm:ss | ||
payment | Number | 必填 | 实付金额 | |
pointFlag | Integer | 是否计算积分,0-不计算积分,1-计算积分 | ||
receiveTime | String | 订单收货时间,格式为yyyy-MM-dd HH:mm:ss | ||
receiverAddress | String | 255 | 收货人地址 | |
receiverCity | String | 100 | 市 | |
receiverDistrict | String | 100 | 区/县 | |
receiverMobile | String | 20 | 收货人手机号 | |
receiverName | String | 100 | 收货人姓名 | |
receiverProvince | String | 100 | 省 | |
receiverTelephone | String | 20 | 收货人固定电话 | |
receiverZipCode | String | 20 | 邮编 | |
refundTime | String | 订单退货时间,格式为yyyy-MM-dd HH:mm:ss | ||
shippingTime | String | 订单发货时间,格式为yyyy-MM-dd HH:mm:ss | ||
finishTime | String | 订单完成时间,格式为yyyy-MM-dd HH:mm:ss | ||
shopCode | String | 必填 | 32 | 下单门店code |
shopName | String | 必填 | 255 | 下单门店名称 |
shopTypeCode | String | 32 | 下单门店类型code | |
totalFee | Number | 必填 | 应付金额 | |
totalQuantity | Integer | 必填 | 商品总数 | |
customizedProperties{} | Object(Map) | 扩展字段,数据结构见下方 |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
ticketNum | String | 100 | 小票号 | |
salesMode | String | 10 | 销售类型,可选值为0(常规销售)、1(团购) | |
presaleFlag | String | 10 | 预售区分,可选值为0(普通)、1(预售)、2(提货) | |
presaleStoreId | String | 32 | 预售店铺编号 | |
presalePosId | String | 32 | 预售POS机号 | |
presaleBillNo | String | 32 | 预售小票号 | |
presaleReturnStoreId | String | 32 | 预售退货店铺编号 | |
presaleReturnPosId | String | 32 | 预售退货POS机号 | |
presaleReturnBillNo | String | 32 | 预售退货小票号 | |
orderSource | String | 64 | 订单来源,枚举类型字段,具体枚举值参考枚举字典文档 |
参数示例
{
"memberType": "shuyun",
"orderId": "087989aaf6af4e58897794d18axxxxx",
"originOrderId": "087989aaf6af4e58897794d18axxxxx",
"customerNo": "T000001",
"shopCode": "SHOP001",
"shopName": "SHOP001",
"memberId": "1c25f18ad274493882d01660e3exxxxx",
"shopTypeCode": "TAOBAO",
"orderType": "NORMAL",
"orderStatus": "FINISHED",
"channelType": "TAOBAO",
"totalQuantity": 1,
"totalFee": 85,
"payment": 85,
"freight": 10,
"discountRate": 0.85,
"discountFee": 15,
"receiverName": "abc",
"receiverMobile": "18900000000",
"receiverTelephone": "18900000000",
"receiverProvince": "上海",
"receiverCity": "上海",
"receiverDistrict": "浦东新区",
"receiverAddress": "南京东路 100 号",
"receiverZipCode": "200000",
"couponNo": "C123456",
"couponFee": 15,
"guideCode": "001",
"description": "无",
"orderTime": "2021-07-13 08:36:03",
"payTime": "2021-07-13 08:36:03",
"finishTime": "2021-07-13 08:36:03",
"receiveTime": "2021-07-13 08:36:03",
"shippingTime": "2021-07-13 08:36:03",
"exchangeTime": "2021-07-13 08:36:03",
"refundTime": "2021-07-13 08:36:03",
"pointFlag": 1,
"orderItems": [
{
"orderItemId": "bf3a654f1afa4859bb5c0e8846bxxxxx",
"originOrderItemId": "bf3a654f1afa4859bb5c0e8846bxxxxx",
"productCode": "P001",
"productName": "P001",
"totalFee": 85,
"payment": 85,
"quantity": 1,
"channelType": "TAOBAO",
"status": "FINISHED",
"skuId": "S001",
"shopTypeCode": "TAOBAO",
"tagPrice": 100,
"retailPrice": 100,
"discountRate": 0.85,
"discountFee": 15,
"orderType": "NORMAL",
"finishTime": "2021-07-13 08:36:03",
"payTime": "2021-07-13 08:36:03",
"orderTime": "2021-07-13 08:36:03",
"picture": [
"https://allpro.saas.top/FsB-uzzX4WtCzpDuVuwqp2OdNbQ?e=1547742055&token=yNjhOp7gnH4St9yP72OlwuQ6JUNQf49pxAuGWYFt
:1eZIUjRKIekGuMGG-c-s7UqNF1Y=;"
],
"customizedProperties": {
"string": "update"
}
}
],
"customizedProperties": {
"ticketNum": "123456789",
"salesMode": "123456789",
"presaleFlag": "123456789",
"presaleStoreId": "123456789",
"presalePosId": "123456789",
"presaleBillNo": "123456789",
"presaleReturnStoreId": "123456789",
"presaleReturnPosId": "123456789",
"presaleReturnBillNo": "123456789",
"orderSource": "10"
}
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.卡券 API
7.1. 查询卡券项目列表信息
请求接口: /offer/project/list
接口描述: 用于查询卡券项目列表信息,实际接口返回字段与券类型定义保持一致
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 必填 | 20 | 渠道类型 |
currentPage | Integer | 必填 | 当前页,默认为1 | |
memberType | String | 必填 | 20 | 会员类型 |
name | String | 卡券项目名称 | ||
pageSize | Integer | 必填 | 每页显示数量,默认为10,上限为100 | |
projectIds | Array | 卡券项目id集合 | ||
status | String | 项目状态,可选值为VALID(已生效)、HAS_FINISHED(已结束) | ||
updateTime | Date | 修改时间,查询此时间之后的项目,格式为yyyy-MM-dd HH:mm:ss |
参数示例
{
"memberType": "shuyun",
"channelType": "KYLIN_GUIDE",
"currentPage": 1,
"pageSize": 10,
"status": "VALID",
"name": "xxx",
"projectIds": "[11,12]",
"updateTime": "2021-10-10 11:00:00"
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
currentPage | Integer | 当前页 |
data | Array | 分页数据 |
pageSize | Integer | 分页容量 |
返回结果示例
{
"currentPage": 0,
"pageSize": 0,
"data": [
{
"instanceId": "001",
"status": "VALID",
"memberId": "32345464545",
"projectId": "1001",
"couponCode": "couponCode",
"projectType": "CASH",
"projectName": "新会员券",
"validTime": "2022-05-30T02:59:48.190Z",
"expireTime": "2022-05-30T02:59:48.190Z",
"effectText": "12 元、8.5 折",
"ruleText": "具体规则",
"grantTime": "2022-05-30T02:59:48.190Z",
"useTime": "2022-05-30T02:59:48.190Z",
"selectorRule": {
"productScope": [
"P001",
"P002",
"P003"
],
"excludeProduct": [
"P001",
"P002",
"P003"
],
"receiveProductScope": [
"P001",
"P002",
"P003"
],
"applicationShop": [
"S001",
"S002",
"S003"
]
},
"customizedProperties": {
"couponType": "Initiative",
"multiLayer": "0",
"applicableGrade1": "1",
"applicableGrade2": "0",
"applicableGrade3": "0",
"applicableGrade4": "0",
"applicableGrade5": "0",
"ownerShop": "1",
"limitOwnerShop": "0",
"orderAmount": 100,
"orderNumber": 2,
"points": 100,
"isMobileCheck": "1",
"giftName": "精华",
"giftContent": "精华 20ml",
"giftValue": "20",
"activityCounter": "",
"useRule": "",
"reminder": "",
"validyType": "",
"configuredUsableDays": "",
"isChangeCoupon": ""
}
"presetOrCustomField": {
"key": "value"
}
}
]
}
返回状态码:
200: 成功
201: Created
204: 操作积分成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.2. 查询卡券项目明细信息
请求接口: /offer/project/detail
接口描述: 用于查询卡券项目明细信息,实际接口返回字段与券类型定义保持一致
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 必填 | 20 | 渠道类型 |
memberType | String | 必填 | 20 | 会员类型 |
projectId | String | 必填 | 32 | 卡券项目id |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
project | Object | 结构体如下 |
project:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
effectText | String | 20 | 效果描述,对于代金券为具体的代金金额,对于折扣券为具体的折扣 | |
expireTime | String | 实例过期时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
name | String | 255 | 卡券项目名称 | |
projectId | String | 32 | 卡券项目ID | |
type | String | 20 | 卡券项目类型,可选值为DISCOUNT(折扣)、CASH(现金)、EXCHANGE(兑礼) | |
ruleText | String | 255 | 使用规则/使用说明 | |
status | String | 20 | 卡券项目状态 | |
updateTime | String | 变更时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX | ||
validTime | String | 实例生效时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 | ||
totalCount | String | 可发放总数 | ||
selectorRule | Object(Map) | 选择器规则,会展示在系统前端配置的详细规则字段 | ||
customizedProperties | Object(Map) | 扩展字段 |
选择器字段结构(selectorRule):
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
productScope[] | Array | 订单中包含指定商品的商品范围 | ||
excludeProduct[] | Array | 订单中不包含指定商品的商品范围 | ||
receiveProductScope[] | Array | 券可领取的商品范围 | ||
applicationShop[] | Array | 券适用门店范围 |
扩展字段结构(customizedProperties):
参数名 | 数据类型 | 是否必填 | 字段描述 |
---|---|---|---|
couponType | String | 卡券类型 | |
multiLayer | String | 是否可叠加使用,可选值为是(1)或否(0) | |
applicableGrade1 | String | 券适用会员等级 1,可选值为是(1)或否(0) | |
applicableGrade2 | String | 券适用会员等级 2,可选值为是(1)或否(0) | |
applicableGrade3 | String | 券适用会员等级 3,可选值为是(1)或否(0) | |
applicableGrade4 | String | 券适用会员等级 4,可选值为是(1)或否(0) | |
applicableGrade5 | String | 券适用会员等级 5,可选值为是(1)或否(0) | |
ownerShop | String | 商品是否仅会员所属门店可领取,可选值为是(1)或否(0) | |
limitOwnerShop | String | 商品是否限制会员选择的所属门店领取,可选值为是(1)或否(0) | |
orderAmount | Int | 订单满足指定金额及以上 | |
orderNumber | Int | 订单满足商品指定件数及以上 | |
points | Int | 券可赠送积分 | |
isMobileCheck | String | 券核销是否需要手机验证码验证 | |
giftName | String | 礼品名称 | |
giftContent | String | 礼品内容 | |
giftValue | String | 礼品价值 | |
activityCounter | String | 活动专柜 | |
useRule | String | 使用规则 | |
reminder | String | 温馨提示 | |
validyType | String | 有效期类型,可选值为absolutely(绝对时间)或relative(相对时间) | |
configuredUsableDays | String | 相对失效时间 | |
isChangeCoupon | String | 是否可转赠 |
返回结果示例
{
"projectId": "001",
"type": "cashEffect",
"status": "VALID",
"name": "数云项目",
"validTime": "2020-11-30T16:48:03+08:00",
"expireTime": "2020-11-30T16:48:03+08:00",
"totalCount": "100",
"effectText": "12 元、8.5 折",
"ruleText": "具体规则",
"selectorRule": {
"productScope": [
"P001",
"P002",
"P003"
],
"excludeProduct": [
"P001",
"P002",
"P003"
],
"receiveProductScope": [
"P001",
"P002",
"P003"
],
"applicationShop": [
"S001",
"S002",
"S003"
]
},
"customizedProperties": {
"couponType": "Initiative",
"multiLayer": "0",
"applicableGrade1": "1",
"applicableGrade2": "0",
"applicableGrade3": "0",
"applicableGrade4": "0",
"applicableGrade5": "0",
"ownerShop": "1",
"limitOwnerShop": "0",
"orderAmount": 100,
"orderNumber": 2,
"points": 100,
"isMobileCheck": "1",
"giftName": "精华",
"giftContent": "精华 20ml",
"giftValue": "20",
"activityCounter": "",
"useRule": "",
"reminder": "",
"validyType": "",
"configuredUsableDays": "",
"isChangeCoupon": ""
},
"updateTime": "2020-11-30T16:48:03+08:00"
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.3. 卡券发放带幂等(单个会员单张)
请求接口: /offer/instance/grant
接口描述: 用于卡券发放带幂等(单个会员单张)建议发券入参字段限制在【卡券项目】定义的字段范围内,避免后续数据使用时产生误解(卡券接口会记所有 body 及扩展字段中描述的字段,不做限制)
请求类型: HTTP POST
请求参数:
header:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
X-Request-Sequence | String | 是 | 请求头(request header)里需要传:X-Request-Sequence, 不同请求对应 X-Request-Sequence值确保唯一;若同一请求,请求多次,确保X-Request-Sequence 值是一样。 |
Body:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
memberId | String | 是 | 32 | 会员ID |
projectId | String | 是 | 32 | 卡券项目ID |
params{} | Object(Map) | 发放扩展属性,数据结构见下方 |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
campaignId | String | 是 | 100 | 活动ID |
selectShopCode | String | 是 | 32 | 选择门店编码 |
orderId | String | 是 | 32 | 订单ID |
sharedBy | String | 是 | 32 | 分享人ID |
sharedCouponCode | String | 是 | 32 | 分享券ID |
参数示例
{
"channelType": "KYLIN_GUIDE",
"memberType": "shuyun",
"memberId": "10001",
"projectId": "1001",
"params": {
"campaignId": "100001",
"selectShopCode": "100001",
"orderId": "100001",
"sharedBy": "100001",
"sharedCouponCode": "100001"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
instanceInfos | Array | 批量请求失败详情 |
返回结果示例
{
"success": true,
"msg": "xxx",
"instanceIds": "11,22",
"instanceInfos": [
{
"instanceId": "001",
"couponCode": "SDSDSZ1",
"projectId": "1001",
"status": "GRANTED",
"grantTime": "2021-12-15T17:10:01.218+08:00"
}
]
}
返回状态码:
200: 请求成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.4. 已冻结卡券核销(单张卡券)
请求接口: /offer/coupon/writeoff
接口描述: 用于已冻结的卡券核销(单张卡券),该接口会对券状态及效期做校验,其它字段不做限制
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 券码 |
params{} | Object(Map) | 扩展属性 |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
employeeId | String | 是 | 64 | 核销员工号 |
counterId | String | 是 | 64 | 核销POS机号 |
ticketNum | String | 是 | 64 | 核销小票号 |
recordId | String | 是 | 32 | 兑换记录ID |
shopCode | String | 是 | 32 | 核销门店编码 |
productCode | String | 是 | 32 | 核销商品编码 |
参数示例
{
"channelType": "KYLIN_GUIDE",
"couponCode": "96800081",
"memberType": "shuyun",
"params": {
"shopCode": "123",
"employeeId": "123"
"counterId": "123"
"ticketNum": "123"
"recordId": "123"
"productCode": "123"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.5. 卡券反核销(单张卡券)
请求接口: /offer/coupon/anticounting
接口描述: 用于卡券反核销
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 券码 |
params{} | Object(Map) | 扩展属性 |
参数示例
{
"channelType": "KYLIN_GUIDE",
"couponCode": "96800081",
"memberType": "shuyun",
"params": {
"shopCode": "123"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.6. 卡券冻结(单张卡券)
请求接口: /offer/coupon/frozen
接口描述: 用于卡券冻结(单张卡券)
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 券码 |
params{} | Object(Map) | 扩展属性 |
参数示例
{
"channelType": "KYLIN_GUIDE",
"couponCode": "96800081",
"memberType": "shuyun",
"params": {
"shopCode": "123"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.7. 卡券解冻(单张卡券)
请求接口: /offer/coupon/thaw
接口描述: 用于卡券解冻(单张卡券)
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 券码 |
params{} | Object(Map) | 扩展属性 |
参数示例
{
"channelType": "KYLIN_GUIDE",
"couponCode": "96800081",
"memberType": "shuyun",
"params": {
"shopCode": "123"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.8. 卡券核销(单张卡券)
请求接口: /offer/coupon/use
接口描述: 用于卡券核销(单张卡券)
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 券码 |
params{} | Object(Map) | 扩展属性 |
参数示例
{
"channelType": "KYLIN_GUIDE",
"couponCode": "96800081",
"memberType": "shuyun",
"params": {
"shopCode": "123"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.9. 查询人券关系列表
请求接口: /offer/instance/list
接口描述: 用于查询卡券实例列表信息,实际接口返回字段包含:发券时传入字段及卡券核销时传入字段;
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
currentPage | String | 是 | 当前页,默认为1 | |
memberId | String | 是 | 32 | 会员ID |
memberType | String | 是 | 20 | 会员类型 |
pageSize | String | 是 | 每页显示数量,默认为10,上限为100 | |
status | String | 券实例状态:VALID(已生效)、USED(已使用)、EXPIRED(已失效)、GRANTED(已发放)、FROZEN(冻结中) |
参数示例
{
"memberType": "shuyun",
"channelType": "KYLIN_GUIDE",
"memberId": "001",
"status": "VALID",
"currentPage": 1,
"pageSize": 10
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
currentPage | Integer | 当前页 |
data | Array | 分页数据 |
pageSize | Integer | 分页容量 |
返回结果示例
{
"currentPage": 0,
"pageSize": 0,
"data": [
{
"instanceId": "001",
"status": "VALID",
"memberId": "32345464545",
"projectId": "1001",
"couponCode": "couponCode",
"projectType": "CASH",
"projectName": "新会员券",
"validTime": "2022-06-01T04:00:36.761Z",
"expireTime": "2022-06-01T04:00:36.761Z",
"effectText": "12 元、8.5 折",
"ruleText": "具体规则",
"grantTime": "2022-06-01T04:00:36.761Z",
"useTime": "2022-06-01T04:00:36.761Z",
"selectorRule": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"presetOrCustomField": {
"employeeId":"100001",
"counterId":"100001",
"recordId":"100001",
"ticketNum":"100001",
"shopCode":"100001",
"productCode":"100001",
"campaignId":"100001",
"selectShopCode":"100001",
"orderId":"100001",
"sharedBy": "100001",
"sharedCouponCode": "100001"
},
"customizedProperties": {
"key": "value"
}
}
]
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.10. 查询会员券信息
请求接口: /offer/coupon/detail
接口描述: 用于查询卡券实例明细信息,实际接口返回字段包含:发券时传入字段及卡券核销时传入字段;
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 卡券实例id |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
instanceInfoData | Object | 结构体如下 |
instanceInfoData:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
expireTime | String | 实例过期时间,格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区:GMT+8 | ||
grantTime | String | 发放时间,格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区:GMT+8 | ||
couponCode | String | 必填 | 150 | 优惠券码 |
memberId | String | 必填 | 32 | 会员ID |
projectId | String | 必填 | 32 | 卡券项目ID |
projectName | String | 255 | 卡券项目名称 | |
projectType | String | 20 | 卡券项目类型-使用效果类型 | |
ruleText | String | 255 | 使用规则/使用说明 | |
status | String | 20 | 卡券实例状态:GRANTED(已发放)、VALID(已生效)、EXPIRED(已失效)、USED(已使用)、FROZEN(冻结中) | |
useTime | String | 核销时间,格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区:GMT+8 | ||
validTime | String | 实例生效时间,格式:yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区:GMT+8 | ||
presetOrCustomField | Object(Map) | 扩展属性 | ||
instanceId | String | 32 | 卡券实例ID | |
effectText | String | 255 | 效果描述 | |
selectorRule | Object(Map) | 选择器规则 | ||
customizedProperties | Object(Map) | 其他规则属性 |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
campaignId | String | 是 | 100 | 活动ID |
employeeId | String | 是 | 32 | 核销员工号 |
counterId | String | 是 | 64 | 核销POS机号 |
ticketNum | String | 是 | 64 | 核销小票号 |
recordId | String | 是 | 32 | 兑换记录ID |
shopCode | String | 是 | 32 | 核销门店编码 |
productCode | String | 是 | 32 | 核销商品编码 |
selectShopCode | String | 是 | 32 | 选择门店编码 |
orderId | String | 是 | 32 | 发放订单ID |
sharedBy | String | 是 | 32 | 分享人 |
sharedCouponCode | String | 是 | 32 | 分享券ID |
返回结果示例
{
"instanceId": "001",
"status": "VALID",
"memberId": "32345464545",
"projectId": "1001",
"couponCode": "couponCode",
"projectType": "CASH",
"projectName": "新会员券",
"validTime": "2022-05-30T03:25:56.873Z",
"expireTime": "2022-05-30T03:25:56.873Z",
"effectText": "12 元、8.5 折",
"ruleText": "具体规则",
"grantTime": "2022-05-30T03:25:56.873Z",
"useTime": "2022-05-30T03:25:56.873Z",
"selectorRule": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"customizedProperties": {
"key": "value"
},
"presetOrCustomField": {
"employeeId":"100001",
"counterId":"100001",
"recordId":"100001",
"ticketNum":"100001",
"shopCode":"100001",
"productCode":"100001",
"campaignId":"100001",
"selectShopCode":"100001",
"orderId":"100001",
"sharedBy": "100001",
"sharedCouponCode": "100001"
}
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.11. 卡券失效
请求接口: /offer/coupon/invalid
接口描述: 用于卡券失效,卡券模块不允许对卡券进行二次失效,相关操作会返回操作失败(succsess不为 true)
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 券码 |
params{} | Object(Map) | 扩展属性 |
参数示例
{
"channelType": "KYLIN_GUIDE",
"couponCode": "96800081",
"memberType": "shuyun",
"params": {
"shopCode": "123"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.12. 卡券生效
请求接口: /offer/coupon/effective
接口描述: 用于卡券生效
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
channelType | String | 是 | 20 | 渠道类型 |
memberType | String | 是 | 20 | 会员类型 |
couponCode | String | 是 | 100 | 券码 |
params{} | Object(Map) | 扩展属性 |
参数示例
{
"channelType": "KYLIN_GUIDE",
"couponCode": "96800081",
"memberType": "shuyun",
"params": {
"shopCode": "123"
}
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
7.13. 卡券延期
请求接口: /offer/coupon/{couponCode}/{memberType}/extension
接口描述: 用于卡券延期
请求类型: HTTP PUT
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
unit | String | 是 | 20 | 相对时间单位:DAY(天)、WEEK(周)、MONTH(月)、YEAR(年) |
time | Date | 是 | 具体日期:绝对时间必传,格式为yyyy-MM-dd HH:mm:ss | |
value | Integer | 是 | 相对时间值:相对时间必传 | |
type | Integer | 是 | 延期时间类型:1-相对时间,2-绝对时间 |
参数示例
{
"unit": "DAY",
"time": "2022-05-17T07:59:11.135Z",
"value": 0,
"type": 0
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
msg | String | 实例状态更新成功时为空,更新失败时为对应的失败原因 |
success | Boolean | 是否成功 |
返回结果示例
{
"msg": "xxx",
"success": true
}
返回状态码:
200: 成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
8.微信会员 API
8.1. 注册微信会员
请求接口: /wechat/member/register
接口描述: 用于注册微信会员
请求类型: HTTP POST
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
wechatMember | Object | 结构体如下 |
wechatMember:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
address | String | 是 | 255 | 联系地址(中文) |
appId | String | 是 | 64 | 微信App ID |
appType | String | 是 | 20 | 应用类型code:WECHAT_MINI_PROGRAM(微信小程序)、WECHAT_OFFICIAL_ACCOUNT(微信公众号) |
birthDay | String | 会员生日-月日 | ||
birthYear | String | 是 | 20 | 会员生日-年 |
cardNo | String | 是 | 64 | 会员卡号 |
channelType | String | 是 | 20 | 渠道类型 |
city | String | 是 | 100 | 用户所在城市名称 |
country | String | 是 | 20 | 国籍 |
customerNo | String | 是 | 64 | 各渠道的渠道ID,若为空,微信渠道默认为appId_openId |
district | String | 是 | 100 | 用户所在区/县名称 |
String | 是 | 255 | 邮箱 | |
gender | String | 是 | 2 | 性别:F(女)、M(男)、O(未知) |
headImgUrl | String | 头像链接(微信专用) | ||
identityCard | String | 是 | 20 | 身份证号 |
job | String | 是 | 255 | 职业名称 |
memberName | String | 是 | 255 | 会员名称 |
memberType | String | 是 | 20 | 会员类型 |
mobile | String | 是 | 20 | 手机号 |
nickname | String | 是 | 255 | 微信昵称 |
openId | String | 是 | 64 | 微信openId |
province | String | 是 | 255 | 用户所在省名称 |
salesrepId | String | 64 | 导购编号 | |
shopName | String | 是 | 255 | 会员注册门店名称 |
shopCode | String | 是 | 32 | 会员注册门店编码 |
unionId | String | 是 | 64 | 微信union_id(微信专用) |
age | Integer | 32 | 年龄 | |
registerTime | String | 注册时间,格式为yyyy-MM-dd HH:mm:ss | ||
customizedProperties | Object(Map) | 会员扩展属性 |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
registerSource | String | 是 | 100 | 注册来源 |
customizedTag | String | 是 | 1000 | 个性标签,传入JSON字符串 |
checkPolicyStatus | String | 是 | 10 | 会员是否同意隐私授权:1(同意)、0(不同意) |
referrerMobile | String | 是 | 20 | 推荐人手机号 |
isGetInfoByEmail | String | 是 | 10 | 是否同意接收邮件:1(同意)、0(不同意) |
isGetInfoBySMS | String | 是 | 10 | 是否同意接收短信:1(同意)、0(不同意) |
isGetInfoByServiceSMS | String | 是 | 10 | 是否同意接收服务类短信:1(同意)、0(不同意) |
memberSalutation | String | 是 | 100 | 会员称谓(品牌需求新增) |
memberStatus | String | 是 | 20 | 会员状态(品牌需求新增) |
sportsPreference | String | 是 | 100 | 运动偏好 |
makeUpPreference | String | 是 | 100 | 美妆偏好 |
参数示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"memberType": "shuyun",
"mobile": "15021425981",
"memberName": "会员 1",
"unionId": "unionId28154751841",
"nickname": "昵称",
"headImgUrl": "http://www.xx.com/url?id=13256",
"gender": "F",
"city": "shanghaishi",
"province": "shanghaishi",
"district": "xuhui",
"country": "china",
"address": "上海市徐汇区天钥桥路 1001 号",
"job": "teacher",
"cardNo": "1001",
"email": "10001@shuyun.com",
"birthYear": "1997",
"birthDay": "01-01",
"age": 25,
"identityCard": "235407195106112745",
"registerTime": "2019-11-12 10:10:10",
"openId": "openId28154751841",
"appId": "appId28154751841",
"appType": "WECHAT_MINI_PROGRAM",
"shopName": "tb001",
"shopCode": "tb001",
"customerNo": "appId_openId",
"customizedProperties": {
"registerSource": "线下活动",
"customizedTag": "{“爱好”:”篮球”}",
"checkPolicyStatus": "1",
"referrerMobile": "15021228866",
"isGetInfoByEmail": "1",
"isGetInfoBySMS": "1",
"isGetInfoByServiceSMS": "1",
"memberSalutation": "王女士",
"memberStatus": "FREEZE",
"sportsPreference": "篮球",
"makeUpPreference": "口红"
},
"bindingExtProperties": {
"string": "update"
},
"salesrepId": "TA1002",
"channelType": "WECHAT"
}
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
memberId | String | 会员 ID |
status | String | 注册状态 NEW: 新注册, BINDING: 添加绑定, REGISTERED: 已注册 |
返回结果示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"status": "NEW"
}
返回状态码:
200: 成功
201: Created
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
8.2. 查询会员信息
请求接口: /wechat/member/queryByUnionId
接口描述: 根据 unionId 查询会员信息以及微信渠道信息,查询不到将抛异常
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
unionId | String | 是 | 64 | 微信unionId |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
memberId | String | 会员ID,全渠道唯一 |
memberType | String | 会员类型 |
mobile | String | 手机号码 |
memberName | String | 姓名 |
unionId | String | 微信unionId |
nickname | String | 微信昵称 |
headImgUrl | String | 用户头像 |
gender | String | 性别:F(女)、M(男)、O(未知) |
city | String | 用户所在城市名称 |
province | String | 用户所在省份名称 |
district | String | 用户所在区/县名称 |
country | String | 国籍 |
address | String | 会员联系地址 |
job | String | 会员职业 |
cardNo | String | 会员卡号 |
String | 邮箱地址 | |
birthYear | String | 会员生日-年,格式为yyyy |
birthDay | String | 会员生日-月日,格式为MM-dd |
age | Integer | 会员年龄 |
identityCard | String | 会员身份证 |
registerTime | String | 注册时间,格式为yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区为GMT+8 |
memberBindings | Array | 微信渠道关系数据 |
customizedProperties | Object(Map) | 会员扩展属性,数据结构详见下方 |
memberBindings:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
appId | String | 是 | 20 | 微信appId |
openId | String | 是 | 64 | 微信openId |
unionId | String | 是 | 64 | 公众平台唯一标识 |
customerNo | String | 是 | 64 | 渠道ID,若为空,则注册时默认为appId_openId |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
registerSource | String | 是 | 100 | 注册来源 |
customizedTag | String | 是 | 1000 | 个性标签,传入JSON字符串 |
belongBC | String | 是 | 100 | 所属BC工号 |
belongShop | String | 是 | 100 | 所属店铺ID |
checkPolicyStatus | String | 是 | 10 | 会员是否同意隐私授权:1(同意)、0(不同意) |
referrerMobile | String | 是 | 20 | 推荐人手机号 |
isGetInfoByEmail | String | 是 | 10 | 是否同意接收邮件:1(同意)、0(不同意) |
isGetInfoBySMS | String | 是 | 10 | 是否同意接收短信:1(同意)、0(不同意) |
isGetInfoByServiceSMS | String | 是 | 10 | 是否同意接收服务类短信:1(同意)、0(不同意) |
wxOpenId | String | 是 | 32 | 公众号openid |
isSubscribe | String | 是 | 5 | 是否关注公众号:1(已关注)、2(已取关) |
memberSalutation | String | 是 | 100 | 会员称谓(品牌需求新增) |
memberStatus | String | 是 | 20 | 会员状态(品牌需求新增) |
返回结果示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"memberType": "shuyun",
"mobile": "15021425981",
"memberName": "会员 1",
"unionId": "unionId28154751841",
"nickname": "昵称",
"headImgUrl": "http://www.xx.com/url?id=13256",
"gender": "F",
"city": "shanghaishi",
"province": "shanghaishi",
"district": "xuhui",
"country": "china",
"address": "上海市徐汇区天钥桥路 1001 号",
"job": "teacher",
"cardNo": "1001",
"email": "10001@shuyun.com",
"birthYear": "1997",
"birthDay": "01-01",
"age": 25,
"identityCard": "235407195106112745",
"registerTime": "2021-10-13T12:26:58.386+08:00",
"memberBindings": [
{
"appId": "appId28154751841",
"openId": "openId28154751841",
"unionId": "unionId28154751841",
"customerNo": "appId_openId"
}
]
"customizedProperties": {
"registerSource": "线下活动",
"customizedTag": "{“爱好”:”篮球”}",
"checkPolicyStatus": "1",
"referrerMobile": "15021228866",
"isGetInfoByEmail": "1",
"isGetInfoBySMS": "1",
"isGetInfoByServiceSMS": "1",
"wxOpenId": "HBNUJIOBuihUIh",
"isSubscribe": "1",
"memberSalutation": "王女士",
"memberStatus": "FREEZE",
"sportsPreference": "篮球",
"makeUpPreference": "口红"
}
}
返回状态码:
200: 请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}
8.3. 查询会员基本信息
请求接口: /wechat/member/queryByOpenId
接口描述: 根据 appId 和 openId 查询会员基本信息
请求类型: HTTP GET
请求参数:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
memberType | String | 是 | 20 | 会员类型 |
appId | String | 是 | 32 | 微信appId |
openId | String | 是 | 64 | 微信open_id |
返回结果:
字段名称 | 类型 | 字段描述 |
---|---|---|
memberId | String | 会员ID,全渠道唯一 |
memberType | String | 会员类型 |
mobile | String | 手机号码 |
memberName | String | 姓名 |
unionId | String | 微信unionId |
nickname | String | 微信昵称 |
headImgUrl | String | 用户头像 |
gender | String | 性别(F:女,M:男,O:未知) |
city | String | 用户所在城市名称 |
province | String | 用户所在省份名称 |
district | String | 用户所在区/县名称 |
country | String | 国籍 |
address | String | 会员联系地址 |
job | String | 会员职业 |
cardNo | String | 会员卡号 |
String | 邮箱地址 | |
birthYear | String | 会员生日-年(格式: yyyy) |
birthDay | String | 会员生日-月日(格式: MM-dd) |
age | Integer | 会员年龄 |
identityCard | String | 会员身份证 |
registerTime | String | 注册时间(格式: yyyy-MM-dd'T'HH:mm:ss.SSSXXX,时区:GMT+8) |
customizedProperties | Object(Map) | 会员扩展属性,数据结构见下方 |
扩展字段结构:
字段名称 | 类型 | 必填 | 长度 | 字段描述 |
---|---|---|---|---|
registerSource | String | 是 | 100 | 注册来源 |
customizedTag | String | 是 | 1000 | 个性标签,传入JSON字符串 |
belongBC | String | 是 | 100 | 所属BC工号 |
belongShop | String | 是 | 100 | 所属店铺ID |
checkPolicyStatus | String | 是 | 10 | 会员是否同意隐私授权:1(同意)、0(不同意) |
referrerMobile | String | 是 | 20 | 推荐人手机号 |
isGetInfoByEmail | String | 是 | 10 | 是否同意接收邮件:1(同意)、0(不同意) |
isGetInfoBySMS | String | 是 | 10 | 是否同意接收短信:1(同意)、0(不同意) |
isGetInfoByServiceSMS | String | 是 | 10 | 是否同意接收服务类短信:1(同意)、0(不同意) |
wxOpenId | String | 是 | 32 | 公众号openid |
isSubscribe | String | 是 | 5 | 是否关注公众号:1(已关注)、2(已取关) |
memberSalutation | String | 是 | 100 | 会员称谓(品牌需求新增) |
memberStatus | String | 是 | 20 | 会员状态(品牌需求新增) |
返回结果示例
{
"memberId": "0040a85608844820900558fc2671cb7c",
"memberType": "shuyun",
"mobile": "15021425981",
"memberName": "会员 1",
"unionId": "unionId28154751841",
"nickname": "昵称",
"headImgUrl": "http://www.xx.com/url?id=13256",
"gender": "F",
"city": "shanghaishi",
"province": "shanghaishi",
"district": "xuhui",
"country": "china",
"address": "上海市徐汇区天钥桥路 1001 号",
"job": "teacher",
"cardNo": "1001",
"email": "10001@shuyun.com",
"birthYear": "1997",
"birthDay": "01-01",
"age": 25,
"identityCard": "235407195106112745",
"registerTime": "2021-10-13T12:26:58.386+08:00",
"memberBindings": [
{
"appId": "appId28154751841",
"openId": "openId28154751841",
"unionId": "unionId28154751841",
"customerNo": "appId_openId"
}
]
"customizedProperties": {
"registerSource": "线下活动",
"customizedTag": "{“爱好”:”篮球”}",
"checkPolicyStatus": "1",
"referrerMobile": "15021228866",
"isGetInfoByEmail": "1",
"isGetInfoBySMS": "1",
"isGetInfoByServiceSMS": "1",
"wxOpenId": "HBNUJIOBuihUIh",
"isSubscribe": "1",
"memberSalutation": "王女士",
"memberStatus": "FREEZE",
"sportsPreference": "篮球",
"makeUpPreference": "口红"
}
}
返回状态码:
200: 请求成功
401:api-gateway 鉴权失败
403: 禁止访问
404: 请求的 URL 不存在
异常示例
{
"module": "Solution Package",
"service": "openapi",
"code": "010407",
"desc": "参数异常",
"uri": "http://..."
}