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.impaas.message.asyncsend /// public class OapiImpaasMessageAsyncsendRequest : BaseDingTalkRequest { /// /// 发送消息的结构 /// public string Request { get; set; } public AsyncSendMessageRequestDomain Request_ { set { this.Request = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.impaas.message.asyncsend"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("request", this.Request); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("request", this.Request); } /// /// AccountInfoDomain Data Structure. /// [Serializable] public class AccountInfoDomain : TopObject { /// /// 账号通道:eleme,hema等 /// [XmlElement("channel")] public string Channel { get; set; } /// /// 账号ID /// [XmlElement("id")] public string Id { get; set; } /// /// 账号类型:channelUser/staff。当类型为channelUser时,填写app自己的账号,当类型为staff时,填写钉钉的staffid /// [XmlElement("type")] public string Type { get; set; } } /// /// XpnContentModelDomain Data Structure. /// [Serializable] public class XpnContentModelDomain : TopObject { /// /// 推送文案 /// [XmlElement("alert_content")] public string AlertContent { get; set; } /// /// 推送参数,透传 /// [XmlElement("params")] public string Params { get; set; } } /// /// AsyncSendMessageRequestDomain Data Structure. /// [Serializable] public class AsyncSendMessageRequestDomain : TopObject { /// /// 群ID /// [XmlElement("group_id")] public string GroupId { get; set; } /// /// 消息内容,根据msgtype不同,解析方式不同 /// [XmlElement("msg_content")] public string MsgContent { get; set; } /// /// 消息的可扩展字段,透传 /// [XmlElement("msg_extension")] public string MsgExtension { get; set; } /// /// 消息的特性:静默消息,系统消息 /// [XmlElement("msg_feature")] public string MsgFeature { get; set; } /// /// 消息类型:text,image,user-defined /// [XmlElement("msg_type")] public string MsgType { get; set; } /// /// 接受者,暂不支持,可不填 /// [XmlArray("receiverid_list")] [XmlArrayItem("json")] public List ReceiveridList { get; set; } /// /// 发送者,暂不支持,可不填 /// [XmlElement("senderid")] public AccountInfoDomain Senderid { get; set; } /// /// 推送信息 /// [XmlElement("xpn_model")] public XpnContentModelDomain XpnModel { get; set; } } #endregion } }