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.customerservice.ticket.create /// public class OapiCustomerserviceTicketCreateRequest : BaseDingTalkRequest { /// /// 工单对象 /// public string TicketCreate { get; set; } public TicketCreateDtoDomain TicketCreate_ { set { this.TicketCreate = TopUtils.ObjectToJson(value); } } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.customerservice.ticket.create"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("ticket_create", this.TicketCreate); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("ticket_create", this.TicketCreate); } /// /// TicketFieldDtoDomain Data Structure. /// [Serializable] public class TicketFieldDtoDomain : TopObject { /// /// 字段值 /// [XmlElement("name")] public string Name { get; set; } /// /// 字段key /// [XmlElement("value")] public string Value { get; set; } /// /// 字段值类型,attachments,附件,数组类型;text,文本类型 /// [XmlElement("value_type")] public string ValueType { get; set; } } /// /// TicketCreateDtoDomain Data Structure. /// [Serializable] public class TicketCreateDtoDomain : TopObject { /// /// 第三方会员id /// [XmlElement("foreign_id")] public string ForeignId { get; set; } /// /// 第三方会员名 /// [XmlElement("foreign_name")] public string ForeignName { get; set; } /// /// 实例id /// [XmlElement("open_instance_id")] public string OpenInstanceId { get; set; } /// /// 1智能客服产品 /// [XmlElement("production_type")] public string ProductionType { get; set; } /// /// 工单表单 /// [XmlArray("properties")] [XmlArrayItem("ticket_field_dto")] public List Properties { get; set; } /// /// 会员标识 /// [XmlElement("source_id")] public string SourceId { get; set; } /// /// 工单模板id /// [XmlElement("template_id")] public string TemplateId { get; set; } /// /// 工单标题 /// [XmlElement("title")] public string Title { get; set; } } #endregion } }