using System; 
 | 
using System.Collections.Generic; 
 | 
using Top.Api.Util; 
 | 
using Top.Api; 
 | 
using Top.Api.DingTalk; 
 | 
  
 | 
namespace DingTalk.Api.Request 
 | 
{ 
 | 
    /// <summary> 
 | 
    /// TOP API: dingtalk.oapi.crm.contact.create 
 | 
    /// </summary> 
 | 
    public class OapiCrmContactCreateRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiCrmContactCreateResponse> 
 | 
    { 
 | 
        /// <summary> 
 | 
        /// 联系人姓名 
 | 
        /// </summary> 
 | 
        public string ContactName { get; set; } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 联系人手机号 
 | 
        /// </summary> 
 | 
        public string ContactPhone { get; set; } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 联系人职位 
 | 
        /// </summary> 
 | 
        public string ContactPositionList { get; set; } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 创建人用户 ID 
 | 
        /// </summary> 
 | 
        public string CreatorUserid { get; set; } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 所在客户实例 ID 
 | 
        /// </summary> 
 | 
        public string CustomerInstanceId { get; set; } 
 | 
  
 | 
        /// <summary> 
 | 
        /// 服务商组织id, 特殊场景使用,丁税宝客户自建应用时传入对应的丁税宝服务商id用以生成 UnionId 关联自然人 
 | 
        /// </summary> 
 | 
        public string ProviderCorpid { get; set; } 
 | 
  
 | 
        #region IDingTalkRequest Members 
 | 
  
 | 
        public override string GetApiName() 
 | 
        { 
 | 
            return "dingtalk.oapi.crm.contact.create"; 
 | 
        } 
 | 
  
 | 
        public override string GetApiCallType() 
 | 
        { 
 | 
            return DingTalkConstants.CALL_TYPE_OAPI; 
 | 
        } 
 | 
  
 | 
        public override IDictionary<string, string> GetParameters() 
 | 
        { 
 | 
            TopDictionary parameters = new TopDictionary(); 
 | 
            parameters.Add("contact_name", this.ContactName); 
 | 
            parameters.Add("contact_phone", this.ContactPhone); 
 | 
            parameters.Add("contact_position_list", this.ContactPositionList); 
 | 
            parameters.Add("creator_userid", this.CreatorUserid); 
 | 
            parameters.Add("customer_instance_id", this.CustomerInstanceId); 
 | 
            parameters.Add("provider_corpid", this.ProviderCorpid); 
 | 
            if (this.otherParams != null) 
 | 
            { 
 | 
                parameters.AddAll(this.otherParams); 
 | 
            } 
 | 
            return parameters; 
 | 
        } 
 | 
  
 | 
        public override void Validate() 
 | 
        { 
 | 
            RequestValidator.ValidateRequired("contact_name", this.ContactName); 
 | 
            RequestValidator.ValidateMaxLength("contact_name", this.ContactName, 20); 
 | 
            RequestValidator.ValidateRequired("contact_phone", this.ContactPhone); 
 | 
            RequestValidator.ValidateMaxLength("contact_phone", this.ContactPhone, 15); 
 | 
            RequestValidator.ValidateMaxListSize("contact_position_list", this.ContactPositionList, 999); 
 | 
            RequestValidator.ValidateRequired("creator_userid", this.CreatorUserid); 
 | 
            RequestValidator.ValidateRequired("customer_instance_id", this.CustomerInstanceId); 
 | 
            RequestValidator.ValidateMaxLength("customer_instance_id", this.CustomerInstanceId, 50); 
 | 
        } 
 | 
  
 | 
        #endregion 
 | 
    } 
 | 
} 
 |