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.crm.contact.create /// public class OapiCrmContactCreateRequest : BaseDingTalkRequest { /// /// 联系人姓名 /// public string ContactName { get; set; } /// /// 联系人手机号 /// public string ContactPhone { get; set; } /// /// 联系人职位 /// public string ContactPositionList { get; set; } /// /// 创建人用户 ID /// public string CreatorUserid { get; set; } /// /// 所在客户实例 ID /// public string CustomerInstanceId { get; set; } /// /// 服务商组织id, 特殊场景使用,丁税宝客户自建应用时传入对应的丁税宝服务商id用以生成 UnionId 关联自然人 /// 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 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 } }