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.ding.send /// public class OapiDingSendRequest : BaseDingTalkRequest { /// /// 发DING的请求体 /// public string OpenDingSendVo { get; set; } public OpenDingSendVoDomain OpenDingSendVo_ { set { this.OpenDingSendVo = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.ding.send"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("open_ding_send_vo", this.OpenDingSendVo); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("open_ding_send_vo", this.OpenDingSendVo); } /// /// AttachmentVoDomain Data Structure. /// [Serializable] public class AttachmentVoDomain : TopObject { /// /// 文件后缀, 用于展示文件对应图标 /// [XmlElement("detail_type")] public string DetailType { get; set; } /// /// 上传DING盘后的文件ID /// [XmlElement("file_id")] public string FileId { get; set; } /// /// 文件名 /// [XmlElement("file_name")] public string FileName { get; set; } /// /// 文件大小(单位:Byte, 最大2G) /// [XmlElement("file_size")] public Nullable FileSize { get; set; } /// /// 上传DING盘后的SpaceId /// [XmlElement("file_space_id")] public string FileSpaceId { get; set; } /// /// 链接缩略图 /// [XmlElement("link_pic_url")] public string LinkPicUrl { get; set; } /// /// 链接摘要 /// [XmlElement("link_text")] public string LinkText { get; set; } /// /// 链接标题 /// [XmlElement("link_title")] public string LinkTitle { get; set; } /// /// 链接URL /// [XmlElement("link_url")] public string LinkUrl { get; set; } /// /// 附件类型:img-图片,link-链接,file-文件 /// [XmlElement("type")] public string Type { get; set; } } /// /// OpenDingSendVoDomain Data Structure. /// [Serializable] public class OpenDingSendVoDomain : TopObject { /// /// 附件 /// [XmlElement("attachment")] public AttachmentVoDomain Attachment { get; set; } /// /// 接收者工号列表 /// [XmlArray("receiver_uids")] [XmlArrayItem("string")] public List ReceiverUids { get; set; } /// /// 提醒类型:1-应用内;2-短信 /// [XmlElement("remind_type")] public Nullable RemindType { get; set; } /// /// 通知内容 /// [XmlElement("text_content")] public string TextContent { get; set; } } #endregion } }