me.chanjar.weixin.cp.bean.external.WxCpContactWayInfo Maven / Gradle / Ivy
package me.chanjar.weixin.cp.bean.external;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import me.chanjar.weixin.cp.util.json.WxCpConclusionAdapter;
import me.chanjar.weixin.cp.util.json.WxCpGsonBuilder;
import java.util.List;
/**
* 「联系我」方式 对象
*
* @author element
*/
@Data
@NoArgsConstructor
public class WxCpContactWayInfo {
@SerializedName("contact_way")
private ContactWay contactWay;
@Getter
@Setter
public static class ContactWay {
/**
* 联系方式的配置id
*/
@SerializedName("config_id")
private String configId;
/**
*
* 必填
* 联系方式类型,1-单人, 2-多人
*
*/
private TYPE type;
/**
*
* 必填
* 场景,1-在小程序中联系,2-通过二维码联系
*
*/
private SCENE scene;
/**
*
* 非必填
* 在小程序中联系时使用的控件样式
* 单人样式(type=1)时可选1,2,3
* 多人样式(type=2)时可选1,2
*
*/
private Integer style;
/**
*
* 非必填
* 联系方式的备注信息,用于助记,不超过30个字符
*
*/
private String remark;
/**
*
* 非必填
* 外部客户添加时是否无需验证,默认为true
*
*/
@SerializedName("skip_verify")
private Boolean skipVerify = Boolean.TRUE;
/**
*
* 非必填
* 企业自定义的state参数,用于区分不同的添加渠道,在调用“获取外部联系人详情(WxCpExternalContactService.getContactDetail)” 时会返回该参数值,不超过30个字符
*
*/
private String state;
/**
*
* 联系二维码的URL,仅在scene为2时返回
*
*/
@SerializedName("qr_code")
private String qrCode;
/**
*
* 使用该联系方式的用户userID列表,在type为1时为必填,且只能有一个
*
*/
@SerializedName("user")
private List users;
/**
*
* 非必填
* 使用该联系方式的部门id列表,只在type为2时有效
*
*/
@SerializedName("party")
private List parties;
/**
*
* 非必填
* 是否临时会话模式,true表示使用临时会话模式,默认为false
*
*/
@SerializedName("is_temp")
private Boolean isTemp = Boolean.FALSE;
/**
*
* 非必填
* 临时会话二维码有效期,以秒为单位。该参数仅在is_temp为true时有效,默认7天
*
*/
@SerializedName("expires_in")
private Integer expiresIn;
/**
*
* 非必填
* 临时会话有效期,以秒为单位。该参数仅在is_temp为true时有效,默认为添加好友后24小时
*
*/
@SerializedName("chat_expires_in")
private Integer chatExpiresIn;
/**
*
* 非必填
* 可进行临时会话的客户unionid,该参数仅在is_temp为true时有效,如不指定则不进行限制
*
*/
@SerializedName("unionid")
private String unionId;
/**
*
* 非必填
* 结束语,会话结束时自动发送给客户,可参考“结束语定义”,仅在is_temp为true时有效
*
*/
private Conclusion conclusions;
public static WxCpContactWayInfo.ContactWay fromJson(String json) {
return WxCpGsonBuilder.create().fromJson(json, WxCpContactWayInfo.ContactWay.class);
}
public String toJson() {
return WxCpGsonBuilder.create().toJson(this);
}
/**
* 结束语定义
*/
@Data
@JsonAdapter(WxCpConclusionAdapter.class)
public static class Conclusion {
private String textContent;
private String imgMediaId;
private String imgPicUrl;
private String linkTitle;
private String linkPicUrl;
private String linkDesc;
private String linkUrl;
private String miniProgramTitle;
private String miniProgramPicMediaId;
private String miniProgramAppId;
private String miniProgramPage;
}
}
public static WxCpContactWayInfo fromJson(String json) {
return WxCpGsonBuilder.create().fromJson(json, WxCpContactWayInfo.class);
}
public String toJson() {
return WxCpGsonBuilder.create().toJson(this);
}
public enum TYPE {
/**
* 单人
*/
@SerializedName("1")
SINGLE,
/**
* 多人
*/
@SerializedName("2")
MULTI;
}
public enum SCENE {
/**
* 在小程序中联系
*/
@SerializedName("1")
MINIPROGRAM,
/**
* 通过二维码联系
*/
@SerializedName("2")
QRCODE;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy