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