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.message.send_to_conversation
///
public class OapiMessageSendToConversationRequest : BaseDingTalkRequest
{
///
/// ActionCard消息
///
public string ActionCard { get; set; }
public ActionCardDomain ActionCard_ { set { this.ActionCard = TopUtils.ObjectToJson(value); } }
///
/// 群消息或者个人聊天会话Id,(通过JSAPI之pickConversation接口唤起联系人界面选择之后即可拿到会话ID,之后您可以使用获取到的cid调用此接口)
///
public string Cid { get; set; }
///
/// file消息
///
public string File { get; set; }
public FileDomain File_ { set { this.File = TopUtils.ObjectToJson(value); } }
///
/// image消息
///
public string Image { get; set; }
public ImageDomain Image_ { set { this.Image = TopUtils.ObjectToJson(value); } }
///
/// link消息
///
public string Link { get; set; }
public LinkDomain Link_ { set { this.Link = TopUtils.ObjectToJson(value); } }
///
/// markdown消息
///
public string Markdown { get; set; }
public MarkdownDomain Markdown_ { set { this.Markdown = TopUtils.ObjectToJson(value); } }
///
/// 消息内容
///
public string Msg { get; set; }
public MsgDomain Msg_ { set { this.Msg = TopUtils.ObjectToJson(value); } }
///
/// 消息类型
///
public string Msgtype { get; set; }
///
/// OA消息
///
public string Oa { get; set; }
public OaDomain Oa_ { set { this.Oa = TopUtils.ObjectToJson(value); } }
///
/// 消息发送者员工ID
///
public string Sender { get; set; }
///
/// text消息
///
public string Text { get; set; }
public TextDomain Text_ { set { this.Text = TopUtils.ObjectToJson(value); } }
///
/// voice消息
///
public string Voice { get; set; }
public VoiceDomain Voice_ { set { this.Voice = TopUtils.ObjectToJson(value); } }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.message.send_to_conversation";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("action_card", this.ActionCard);
parameters.Add("cid", this.Cid);
parameters.Add("file", this.File);
parameters.Add("image", this.Image);
parameters.Add("link", this.Link);
parameters.Add("markdown", this.Markdown);
parameters.Add("msg", this.Msg);
parameters.Add("msgtype", this.Msgtype);
parameters.Add("oa", this.Oa);
parameters.Add("sender", this.Sender);
parameters.Add("text", this.Text);
parameters.Add("voice", this.Voice);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
}
///
/// MarkdownDomain Data Structure.
///
[Serializable]
public class MarkdownDomain : TopObject
{
///
/// markdown格式的消息
///
[XmlElement("text")]
public string Text { get; set; }
///
/// 首屏会话透出的展示内容
///
[XmlElement("title")]
public string Title { get; set; }
}
///
/// FormDomain Data Structure.
///
[Serializable]
public class FormDomain : TopObject
{
///
/// 消息体的关键字对应的值
///
[XmlElement("key")]
public string Key { get; set; }
///
/// 消息体的关键字
///
[XmlElement("value")]
public string Value { get; set; }
}
///
/// RichDomain Data Structure.
///
[Serializable]
public class RichDomain : TopObject
{
///
/// 单行富文本信息的数目
///
[XmlElement("num")]
public string Num { get; set; }
///
/// 单行富文本信息的单位
///
[XmlElement("unit")]
public string Unit { get; set; }
}
///
/// BodyDomain Data Structure.
///
[Serializable]
public class BodyDomain : TopObject
{
///
/// 自定义的作者名字
///
[XmlElement("author")]
public string Author { get; set; }
///
/// 消息体的内容,最多显示3行
///
[XmlElement("content")]
public string Content { get; set; }
///
/// 自定义的附件数目。此数字仅供显示,钉钉不作验证
///
[XmlElement("file_count")]
public string FileCount { get; set; }
///
/// 消息体的表单,最多显示6个,超过会被隐藏
///
[XmlArray("form")]
[XmlArrayItem("form")]
public List Form { get; set; }
///
/// 消息体中的图片,支持图片资源@mediaId
///
[XmlElement("image")]
public string Image { get; set; }
///
/// 单行富文本信息
///
[XmlElement("rich")]
public RichDomain Rich { get; set; }
///
/// 消息体的标题,建议50个字符以内
///
[XmlElement("title")]
public string Title { get; set; }
}
///
/// HeadDomain Data Structure.
///
[Serializable]
public class HeadDomain : TopObject
{
///
/// 消息头部的背景颜色。长度限制为8个英文字符,其中前2为表示透明度,后6位表示颜色值。不要添加0x
///
[XmlElement("bgcolor")]
public string Bgcolor { get; set; }
///
/// 消息的头部标题 (向普通会话发送时有效,向企业会话发送时会被替换为微应用的名字),长度限制为最多10个字符
///
[XmlElement("text")]
public string Text { get; set; }
}
///
/// OaDomain Data Structure.
///
[Serializable]
public class OaDomain : TopObject
{
///
/// 消息体
///
[XmlElement("body")]
public BodyDomain Body { get; set; }
///
/// 消息头部内容
///
[XmlElement("head")]
public HeadDomain Head { get; set; }
///
/// 客户端点击消息时跳转到的H5地址
///
[XmlElement("message_url")]
public string MessageUrl { get; set; }
///
/// PC端点击消息时跳转到的地址
///
[XmlElement("pc_message_url")]
public string PcMessageUrl { get; set; }
}
///
/// VoiceDomain Data Structure.
///
[Serializable]
public class VoiceDomain : TopObject
{
///
/// 语音时长
///
[XmlElement("duration")]
public Nullable Duration { get; set; }
///
/// 语音媒体文件id,可以调用上传媒体文件接口获取。2MB,播放长度不超过60s,AMR格式
///
[XmlElement("media_id")]
public string MediaId { get; set; }
}
///
/// FileDomain Data Structure.
///
[Serializable]
public class FileDomain : TopObject
{
///
/// 媒体文件id,可以调用上传媒体文件接口获取。10MB
///
[XmlElement("media_id")]
public string MediaId { get; set; }
}
///
/// LinkDomain Data Structure.
///
[Serializable]
public class LinkDomain : TopObject
{
///
/// 消息点击链接地址
///
[XmlElement("messageUrl")]
public string MessageUrl { get; set; }
///
/// 图片媒体文件id,可以调用上传媒体文件接口获取
///
[XmlElement("picUrl")]
public string PicUrl { get; set; }
///
/// 消息描述
///
[XmlElement("text")]
public string Text { get; set; }
///
/// 消息标题
///
[XmlElement("title")]
public string Title { get; set; }
}
///
/// ImageDomain Data Structure.
///
[Serializable]
public class ImageDomain : TopObject
{
///
/// 图片媒体文件id,可以调用上传媒体文件接口获取。建议宽600像素 x 400像素,宽高比3:2
///
[XmlElement("media_id")]
public string MediaId { get; set; }
}
///
/// TextDomain Data Structure.
///
[Serializable]
public class TextDomain : TopObject
{
///
/// 消息内容
///
[XmlElement("content")]
public string Content { get; set; }
}
///
/// BtnJsonDomain Data Structure.
///
[Serializable]
public class BtnJsonDomain : TopObject
{
///
/// 使用独立跳转ActionCard样式时的按钮的链接url
///
[XmlElement("action_url")]
public string ActionUrl { get; set; }
///
/// 使用独立跳转ActionCard样式时的按钮的标题
///
[XmlElement("title")]
public string Title { get; set; }
}
///
/// ActionCardDomain Data Structure.
///
[Serializable]
public class ActionCardDomain : TopObject
{
///
/// 使用独立跳转ActionCard样式时的按钮列表;必须与btn_orientation同时设置
///
[XmlArray("btn_json_list")]
[XmlArrayItem("btn_json")]
public List BtnJsonList { get; set; }
///
/// 使用独立跳转ActionCard样式时的按钮排列方式,竖直排列(0),横向排列(1);必须与btn_json_list同时设置
///
[XmlElement("btn_orientation")]
public string BtnOrientation { get; set; }
///
/// 消息内容,支持markdown,语法参考标准markdown语法。图片举例:
///
[XmlElement("markdown")]
public string Markdown { get; set; }
///
/// 使用整体跳转ActionCard样式时的标题,必须与single_url同时设置
///
[XmlElement("single_title")]
public string SingleTitle { get; set; }
///
/// 使用整体跳转ActionCard样式时的链接url,必须与single_title同时设置
///
[XmlElement("single_url")]
public string SingleUrl { get; set; }
///
/// 透出到会话列表和通知的文案
///
[XmlElement("title")]
public string Title { get; set; }
}
///
/// MsgDomain Data Structure.
///
[Serializable]
public class MsgDomain : TopObject
{
///
/// 消息内容,支持markdown,语法参考标准markdown语法。图片举例:
///
[XmlElement("action_card")]
public ActionCardDomain ActionCard { get; set; }
///
/// 文件消息
///
[XmlElement("file")]
public FileDomain File { get; set; }
///
/// 图片消息
///
[XmlElement("image")]
public ImageDomain Image { get; set; }
///
/// 链接消息
///
[XmlElement("link")]
public LinkDomain Link { get; set; }
///
/// markdown消息
///
[XmlElement("markdown")]
public MarkdownDomain Markdown { get; set; }
///
/// 消息类型
///
[XmlElement("msgtype")]
public string Msgtype { get; set; }
///
/// oa消息
///
[XmlElement("oa")]
public OaDomain Oa { get; set; }
///
/// 文本消息
///
[XmlElement("text")]
public TextDomain Text { get; set; }
///
/// 语音消息
///
[XmlElement("voice")]
public VoiceDomain Voice { get; set; }
}
#endregion
}
}