me.chanjar.weixin.mp.api.WxMpMemberCardService Maven / Gradle / Ivy
package me.chanjar.weixin.mp.api;
import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.bean.card.CardUpdateResult;
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardActivateUserFormRequest;
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardActivateUserFormResult;
import me.chanjar.weixin.mp.bean.card.membercard.MemberCardUpdateRequest;
import me.chanjar.weixin.mp.bean.card.WxMpCardCreateResult;
import me.chanjar.weixin.mp.bean.card.membercard.*;
/**
* 会员卡相关接口.
*
* @author YuJian(mgcnrx11 @ gmail.com)
* @author yuanqixun
* @version 2017 /7/8 created on 2018-08-30
*/
public interface WxMpMemberCardService {
/**
* 得到WxMpService.
*
* @return WxMpService wx mp service
*/
WxMpService getWxMpService();
/**
* 会员卡创建接口.
*
* @param createJson 会员卡json字符串
* @return 返回json字符串 wx mp card create result
* @throws WxErrorException 接口调用失败抛出的异常
*/
WxMpCardCreateResult createMemberCard(String createJson) throws WxErrorException;
/**
* 会员卡创建接口
*
* @param createMessageMessage 会员卡创建对象
* @return 会员卡信息的结果对象 wx mp card create result
* @throws WxErrorException 接口调用失败抛出的异常
*/
WxMpCardCreateResult createMemberCard(WxMpMemberCardCreateMessage createMessageMessage) throws WxErrorException;
/**
* 会员卡激活接口.
*
* @param activatedMessage 激活所需参数
* @return 会员卡激活后的json字符串 string
* @throws WxErrorException 接口调用失败抛出的异常
*/
String activateMemberCard(WxMpMemberCardActivatedMessage activatedMessage) throws WxErrorException;
/**
* 拉取会员信息接口.
*
* @param cardId 会员卡的CardId,微信分配
* @param code 领取会员的会员卡Code
* @return 会员信息的结果对象 user info
* @throws WxErrorException 接口调用失败抛出的异常
*/
WxMpMemberCardUserInfoResult getUserInfo(String cardId, String code) throws WxErrorException;
/**
* 当会员持卡消费后,支持开发者调用该接口更新会员信息.
* 会员卡交易后的每次信息变更需通过该接口通知微信,便于后续消息通知及其他扩展功能。
* 1.开发者可以同时传入add_bonus和bonus解决由于同步失败带来的幂等性问题。
* 同时传入add_bonus和bonus时 add_bonus作为积分变动消息中的变量值,而bonus作为卡面上的总积分额度显示。余额变动同理。
* 2.开发者可以传入is_notify_bonus控制特殊的积分对账变动不发送消息,余额变动同理。
*
* @param updateUserMessage 更新会员信息所需字段消息
* @return 调用返回的JSON字符串 。
* @throws WxErrorException 接口调用失败抛出的异常
*/
WxMpMemberCardUpdateResult updateUserMemberCard(WxMpMemberCardUpdateMessage updateUserMessage) throws WxErrorException;
/**
* 设置会员卡激活的字段(会员卡设置:wx_activate=true 时需要).
*
* @param userFormRequest 会员卡激活字段对象
* @return 会员卡激活后结果对象 activate user form
* @throws WxErrorException 接口调用失败抛出的异常
*/
MemberCardActivateUserFormResult setActivateUserForm(MemberCardActivateUserFormRequest userFormRequest) throws WxErrorException;
/**
* 获取会员卡开卡插件参数(跳转型开卡组件需要参数).
*
* @param cardId 会员卡的CardId,微信分配
* @param outStr 会员卡设置商户的渠道
* @return 会员卡开卡插件参数结果对象 activate plugin param
* @throws WxErrorException 接口调用失败抛出的异常
*/
ActivatePluginParam getActivatePluginParam(String cardId, String outStr) throws WxErrorException;
/**
* 获取开卡组件链接接口
*
* @param cardId 会员卡的CardId,微信分配
* @param outStr 会员卡设置商户的渠道
* @return 会员卡开卡插件参数结果对象 activate plugin url
* @throws WxErrorException 接口调用失败抛出的异常
*/
String getActivatePluginUrl(String cardId, String outStr) throws WxErrorException;
/**
* 更新会员卡信息.
*
* @param memberCardUpdateRequest 会员卡更新对象
* @return 会员卡更新后结果对象 card update result
* @throws WxErrorException 接口调用失败抛出的异常
*/
CardUpdateResult updateCardInfo(MemberCardUpdateRequest memberCardUpdateRequest) throws WxErrorException;
/**
* 解析跳转型开卡字段用户提交的资料.
* 开发者在URL上截取ticket后须先进行urldecode
*
* @param activateTicket 用户提交的资料
* @return 开卡字段的会员信息对象 activate temp info
* @throws WxErrorException 接口调用失败抛出的异常
*/
WxMpMemberCardActivateTempInfoResult getActivateTempInfo(String activateTicket) throws WxErrorException;
}