using System; using System.Xml.Serialization; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.sceneservicegroup.message.send /// public class OapiSceneservicegroupMessageSendRequest : BaseDingTalkRequest { /// /// 根据dingtalkId设置at用户 /// public string AtDingtalkids { get; set; } /// /// 根据手机号设置at用户 /// public string AtMobiles { get; set; } /// /// 根据unionId设置at用户 /// public string AtUnionids { get; set; } /// /// 业务方自身系统关联ID,与开放群ID二选一填入 /// public string Bizid { get; set; } /// /// 0-按钮竖直排列,1-按钮横向排列 /// public string BtnOrientation { get; set; } /// /// card按钮 /// public string Btns { get; set; } public List Btns_ { set { this.Btns = TopUtils.ObjectToJson(value); } } /// /// 消息内容 /// public string Content { get; set; } /// /// 是否at所有人 /// public Nullable IsAtAll { get; set; } /// /// 消息类型 /// public string MessageType { get; set; } /// /// 开放群ID /// public string OpenConversationid { get; set; } /// /// 根据dingtalkId设置接收者 /// public string ReceiverDingtalkids { get; set; } /// /// 根据手机号设置接收者 /// public string ReceiverMobiles { get; set; } /// /// 根据unionId设置接收者 /// public string ReceiverUnionids { get; set; } /// /// 消息标题 /// public string Title { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.sceneservicegroup.message.send"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("at_dingtalkids", this.AtDingtalkids); parameters.Add("at_mobiles", this.AtMobiles); parameters.Add("at_unionids", this.AtUnionids); parameters.Add("bizid", this.Bizid); parameters.Add("btn_orientation", this.BtnOrientation); parameters.Add("btns", this.Btns); parameters.Add("content", this.Content); parameters.Add("is_at_all", this.IsAtAll); parameters.Add("message_type", this.MessageType); parameters.Add("open_conversationid", this.OpenConversationid); parameters.Add("receiver_dingtalkids", this.ReceiverDingtalkids); parameters.Add("receiver_mobiles", this.ReceiverMobiles); parameters.Add("receiver_unionids", this.ReceiverUnionids); parameters.Add("title", this.Title); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateMaxListSize("at_dingtalkids", this.AtDingtalkids, 999); RequestValidator.ValidateMaxListSize("at_mobiles", this.AtMobiles, 999); RequestValidator.ValidateMaxListSize("at_unionids", this.AtUnionids, 999); RequestValidator.ValidateObjectMaxListSize("btns", this.Btns, 999); RequestValidator.ValidateRequired("content", this.Content); RequestValidator.ValidateRequired("message_type", this.MessageType); RequestValidator.ValidateMaxListSize("receiver_dingtalkids", this.ReceiverDingtalkids, 999); RequestValidator.ValidateMaxListSize("receiver_mobiles", this.ReceiverMobiles, 999); RequestValidator.ValidateMaxListSize("receiver_unionids", this.ReceiverUnionids, 999); RequestValidator.ValidateRequired("title", this.Title); } /// /// BtnsDomain Data Structure. /// [Serializable] public class BtnsDomain : TopObject { /// /// 按钮地址 /// [XmlElement("actionURL")] public string ActionURL { get; set; } /// /// 按钮标题 /// [XmlElement("title")] public string Title { get; set; } } #endregion } }