| 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 | 
| { | 
|     /// <summary> | 
|     /// TOP API: dingtalk.oapi.robot.send | 
|     /// </summary> | 
|     public class OapiRobotSendRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiRobotSendResponse> | 
|     { | 
|         /// <summary> | 
|         /// 此消息类型为固定actionCard | 
|         /// </summary> | 
|         public string ActionCard { get; set; } | 
|   | 
|         public ActioncardDomain ActionCard_ { set { this.ActionCard = TopUtils.ObjectToJson(value); } }  | 
|   | 
|         /// <summary> | 
|         /// 被@人的手机号 | 
|         /// </summary> | 
|         public string At { get; set; } | 
|   | 
|         public AtDomain At_ { set { this.At = TopUtils.ObjectToJson(value); } }  | 
|   | 
|         /// <summary> | 
|         /// 此消息类型为固定feedCard | 
|         /// </summary> | 
|         public string FeedCard { get; set; } | 
|   | 
|         public FeedcardDomain FeedCard_ { set { this.FeedCard = TopUtils.ObjectToJson(value); } }  | 
|   | 
|         /// <summary> | 
|         /// 消息类型,此时固定为:link | 
|         /// </summary> | 
|         public string Link { get; set; } | 
|   | 
|         public LinkDomain Link_ { set { this.Link = TopUtils.ObjectToJson(value); } }  | 
|   | 
|         /// <summary> | 
|         /// 此消息类型为固定markdown | 
|         /// </summary> | 
|         public string Markdown { get; set; } | 
|   | 
|         public MarkdownDomain Markdown_ { set { this.Markdown = TopUtils.ObjectToJson(value); } }  | 
|   | 
|         /// <summary> | 
|         /// 消息类型 | 
|         /// </summary> | 
|         public string Msgtype { get; set; } | 
|   | 
|         /// <summary> | 
|         /// text类型 | 
|         /// </summary> | 
|         public string Text { get; set; } | 
|   | 
|         public TextDomain Text_ { set { this.Text = TopUtils.ObjectToJson(value); } }  | 
|   | 
|         #region IDingTalkRequest Members | 
|   | 
|         public override string GetApiName() | 
|         { | 
|             return "dingtalk.oapi.robot.send"; | 
|         } | 
|   | 
|         public override string GetApiCallType() | 
|         { | 
|             return DingTalkConstants.CALL_TYPE_OAPI; | 
|         } | 
|   | 
|         public override IDictionary<string, string> GetParameters() | 
|         { | 
|             TopDictionary parameters = new TopDictionary(); | 
|             parameters.Add("actionCard", this.ActionCard); | 
|             parameters.Add("at", this.At); | 
|             parameters.Add("feedCard", this.FeedCard); | 
|             parameters.Add("link", this.Link); | 
|             parameters.Add("markdown", this.Markdown); | 
|             parameters.Add("msgtype", this.Msgtype); | 
|             parameters.Add("text", this.Text); | 
|             if (this.otherParams != null) | 
|             { | 
|                 parameters.AddAll(this.otherParams); | 
|             } | 
|             return parameters; | 
|         } | 
|   | 
|         public override void Validate() | 
|         { | 
|             RequestValidator.ValidateRequired("msgtype", this.Msgtype); | 
|         } | 
|   | 
|     /// <summary> | 
| /// TextDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class TextDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// text类型 | 
|             /// </summary> | 
|             [XmlElement("content")] | 
|             public string Content { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// AtDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class AtDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 被@人的手机号 | 
|             /// </summary> | 
|             [XmlArray("atMobiles")] | 
|             [XmlArrayItem("string")] | 
|             public List<string> AtMobiles { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 被@人的工号 | 
|             /// </summary> | 
|             [XmlArray("atUserIds")] | 
|             [XmlArrayItem("string")] | 
|             public List<string> AtUserIds { get; set; } | 
|      | 
|             /// <summary> | 
|             /// @所有人时:true,否则为:false | 
|             /// </summary> | 
|             [XmlElement("isAtAll")] | 
|             public Nullable<bool> IsAtAll { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// LinkDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class LinkDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 点击消息跳转的URL | 
|             /// </summary> | 
|             [XmlElement("messageUrl")] | 
|             public string MessageUrl { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 图片URL | 
|             /// </summary> | 
|             [XmlElement("picUrl")] | 
|             public string PicUrl { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 消息内容。如果太长只会部分展示 | 
|             /// </summary> | 
|             [XmlElement("text")] | 
|             public string Text { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 消息标题 | 
|             /// </summary> | 
|             [XmlElement("title")] | 
|             public string Title { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// MarkdownDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class MarkdownDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// markdown格式的消息 | 
|             /// </summary> | 
|             [XmlElement("text")] | 
|             public string Text { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 首屏会话透出的展示内容 | 
|             /// </summary> | 
|             [XmlElement("title")] | 
|             public string Title { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// BtnsDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class BtnsDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 按钮方案, | 
|             /// </summary> | 
|             [XmlElement("actionURL")] | 
|             public string ActionURL { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 点击按钮触发的URL此消息类型为固定feedCard | 
|             /// </summary> | 
|             [XmlElement("title")] | 
|             public string Title { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// ActioncardDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class ActioncardDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 0-按钮竖直排列,1-按钮横向排列 | 
|             /// </summary> | 
|             [XmlElement("btnOrientation")] | 
|             public string BtnOrientation { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 按钮的信息 | 
|             /// </summary> | 
|             [XmlArray("btns")] | 
|             [XmlArrayItem("btns")] | 
|             public List<BtnsDomain> Btns { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 0-正常发消息者头像,1-隐藏发消息者头像 | 
|             /// </summary> | 
|             [XmlElement("hideAvatar")] | 
|             public string HideAvatar { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 单个按钮的方案。(设置此项和singleURL后btns无效。) | 
|             /// </summary> | 
|             [XmlElement("singleTitle")] | 
|             public string SingleTitle { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 点击singleTitle按钮触发的URL | 
|             /// </summary> | 
|             [XmlElement("singleURL")] | 
|             public string SingleURL { get; set; } | 
|      | 
|             /// <summary> | 
|             /// markdown格式的消息 | 
|             /// </summary> | 
|             [XmlElement("text")] | 
|             public string Text { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 首屏会话透出的展示内容 | 
|             /// </summary> | 
|             [XmlElement("title")] | 
|             public string Title { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// LinksDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class LinksDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// 点击单条信息到跳转链接 | 
|             /// </summary> | 
|             [XmlElement("messageURL")] | 
|             public string MessageURL { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 单条信息文本 | 
|             /// </summary> | 
|             [XmlElement("picURL")] | 
|             public string PicURL { get; set; } | 
|      | 
|             /// <summary> | 
|             /// 单条信息后面图片的URL | 
|             /// </summary> | 
|             [XmlElement("title")] | 
|             public string Title { get; set; } | 
| } | 
|   | 
|     /// <summary> | 
| /// FeedcardDomain Data Structure. | 
| /// </summary> | 
| [Serializable] | 
|   | 
| public class FeedcardDomain : TopObject | 
| { | 
|             /// <summary> | 
|             /// links | 
|             /// </summary> | 
|             [XmlArray("links")] | 
|             [XmlArrayItem("links")] | 
|             public List<LinksDomain> Links { get; set; } | 
| } | 
|   | 
|         #endregion | 
|     } | 
| } |