using System; using System.Collections.Generic; using Top.Api.Util; using Top.Api; using Top.Api.DingTalk; namespace DingTalk.Api.Request { /// /// TOP API: dingtalk.oapi.dingpay.redenvelope.send /// public class OapiDingpayRedenvelopeSendRequest : BaseDingTalkRequest { /// /// 群会话ID /// public string ChatId { get; set; } /// /// 企业业务订单号(每个订单号必须唯一。取值范围:0~9,a~z,A~Z),接口根据企业订单号支持幂等,组成参考:corp_id+yyyymmdd+10位一天内不能重复的数字 /// public string CorpBizNo { get; set; } /// /// 额外参数 /// public string ExtParams { get; set; } /// /// 红包祝福语 /// public string Greetings { get; set; } /// /// 群会话ID /// public string OpenConversationId { get; set; } /// /// 支付方式,WITHHOLD:代扣模式,目前只支持该方式 /// public string PayMethod { get; set; } /// /// 签名方式咨询技术支持 /// public string PaySign { get; set; } /// /// 接收人ID /// public string ReceiverId { get; set; } /// /// 发送人ID /// public string SenderId { get; set; } /// /// 红包主题ID /// public string ThemeId { get; set; } /// /// 红包金额 /// public string TotalAmount { get; set; } /// /// 红包类型,目前支持:SINGLE_QUOTA,个人单聊红包 /// public string Type { get; set; } #region IDingTalkRequest Members public override string GetApiName() { return "dingtalk.oapi.dingpay.redenvelope.send"; } public override string GetApiCallType() { return DingTalkConstants.CALL_TYPE_OAPI; } public override IDictionary GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("chat_id", this.ChatId); parameters.Add("corp_biz_no", this.CorpBizNo); parameters.Add("ext_params", this.ExtParams); parameters.Add("greetings", this.Greetings); parameters.Add("open_conversation_id", this.OpenConversationId); parameters.Add("pay_method", this.PayMethod); parameters.Add("pay_sign", this.PaySign); parameters.Add("receiver_id", this.ReceiverId); parameters.Add("sender_id", this.SenderId); parameters.Add("theme_id", this.ThemeId); parameters.Add("total_amount", this.TotalAmount); parameters.Add("type", this.Type); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return parameters; } public override void Validate() { RequestValidator.ValidateRequired("corp_biz_no", this.CorpBizNo); RequestValidator.ValidateRequired("pay_method", this.PayMethod); RequestValidator.ValidateRequired("pay_sign", this.PaySign); RequestValidator.ValidateRequired("receiver_id", this.ReceiverId); RequestValidator.ValidateRequired("total_amount", this.TotalAmount); RequestValidator.ValidateRequired("type", this.Type); } #endregion } }