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
|
}
|
}
|