Beispiel #1
0
        /*
         * 发送短信
         */
        public void testBatchSend(SmsClient smsClient)
        {
            //3. 设置请求参数
            BatchSendRequest request = new BatchSendRequest();

            request.RegionId = "cn-north-1";
            // 设置模板ID 应用管理-文本短信-短信模板 页面可以查看模板ID
            request.TemplateId = "{{TemplateId}}";
            // 设置签名ID 应用管理-文本短信-短信签名 页面可以查看签名ID
            request.SignId = "qm_0571ace54ebf4b1dbdb2000b4d16dd4a";
            // 设置下发手机号list
            List <string> phoneList = new List <string>()
            {
                "13800138000"
                // ,
                // "phone number"
            };

            request.PhoneList = phoneList;
            // 设置模板参数,非必传,如果模板中包含变量请填写对应参数,否则变量信息将不做替换
            List <string> param = new List <string>()
            {
                "123456"
            };

            request.Params = param;

            //4. 执行请求
            var response = smsClient.BatchSend(request).Result;

            Console.WriteLine(JsonConvert.SerializeObject(response));
            Console.ReadLine();
        }
Beispiel #2
0
        public static async Task <JdCloudSmsResult> SendAsync(SmsClient client, BatchSendRequest request, JdCloudSmsConfig config)
        {
            if (client == null)
            {
                throw new ArgumentNullException(nameof(client));
            }

            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (config == null)
            {
                throw new ArgumentNullException(nameof(config));
            }

            var asyncPolicy = Policy.HandleResult <JdCloudSmsResult>(r => !r.IsSuccess())
                              .RetryAsync(config.RetryTimes);

            return(await asyncPolicy.ExecuteAsync(() => CoreProcessAsync(client, request)));
        }
        public Task <JdCloudSmsResult> SendAsync(JdCloudSmsMessage message)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }
            if (string.IsNullOrWhiteSpace(_jdcloudAccount.AccessKey))
            {
                throw new ArgumentNullException(nameof(_jdcloudAccount.AccessKey));
            }
            if (string.IsNullOrWhiteSpace(_jdcloudAccount.SecretKey))
            {
                throw new ArgumentNullException(nameof(_jdcloudAccount.SecretKey));
            }
            if (string.IsNullOrWhiteSpace(_config.SignId))
            {
                throw new ArgumentNullException(nameof(_config.SignId));
            }
            if (string.IsNullOrWhiteSpace(_config.TemplateId))
            {
                throw new ArgumentNullException(nameof(_config.TemplateId));
            }

            message.CheckParameters();

            var request = new BatchSendRequest
            {
                RegionId   = _config.RegionId,
                TemplateId = _config.TemplateId,
                SignId     = _config.SignId,
                PhoneList  = message.PhoneNumberList,
                Params     = message.Params
            };

            return(SmsCoreSender.SendAsync(_client, request, _config));
        }
Beispiel #4
0
 /// <summary>
 ///  指定模板群发短信
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public async Task <BatchSendResponse> BatchSend(BatchSendRequest request)
 {
     return(await new BatchSendExecutor().Client(this).Execute <BatchSendResponse, BatchSendResult, BatchSendRequest>(request).ConfigureAwait(false));
 }
Beispiel #5
0
 /// <summary>
 ///  指定模板群发短信
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public BatchSendResponse BatchSend(BatchSendRequest request)
 {
     return(new BatchSendExecutor().Client(this).Execute <BatchSendResponse, BatchSendResult, BatchSendRequest>(request));
 }
Beispiel #6
0
        private static async Task <JdCloudSmsResult> CoreProcessAsync(SmsClient client, BatchSendRequest request)
        {
            var response = await client.BatchSend(request);

            return(new JdCloudSmsResult(response));
        }