/// <inheritdoc />
 public async Task <ISmsTemplate> CreateSmsTemplateAsync(ISmsTemplate smsTemplate, CancellationToken cancellationToken = default(CancellationToken))
 => await PostAsync <SmsTemplate>(new HttpRequest
 {
     Uri     = "/api/v1/templates/sms",
     Verb    = HttpVerb.Post,
     Payload = smsTemplate,
 }, cancellationToken).ConfigureAwait(false);
 public async Task <SmsCommonResponse> SendMessageAsync(string phoneNumber, ISmsTemplate smsTemplate)
 {
     return(await AliyunApiRequester.SendRequestAsync <SendSmsResponse>(new SendSmsRequest(phoneNumber,
                                                                                           smsTemplate.SignName,
                                                                                           smsTemplate.TemplateCode,
                                                                                           smsTemplate.TemplateContent),
                                                                        _smsOptions.EndPoint));
 }
 /// <inheritdoc />
 public async Task <ISmsTemplate> UpdateSmsTemplateAsync(ISmsTemplate smsTemplate, string templateId, CancellationToken cancellationToken = default(CancellationToken))
 => await PutAsync <SmsTemplate>(new HttpRequest
 {
     Uri            = "/api/v1/templates/sms/{templateId}",
     Verb           = HttpVerb.Put,
     Payload        = smsTemplate,
     PathParameters = new Dictionary <string, object>()
     {
         ["templateId"] = templateId,
     },
 }, cancellationToken).ConfigureAwait(false);
Exemple #4
0
 public Task SendSms(IList <string> phoneNumbers, ISmsTemplate smsTemplate)
 {
     if (phoneNumbers.Count > 0)
     {
         List <Task> sendSMSTasks = new List <Task>();
         Dictionary <string, string> valueCollection = new Dictionary <string, string>();
         valueCollection.Add("From", "+12244123577");
         valueCollection.Add("Body", smsTemplate.AsPlainText());
         foreach (var phone in phoneNumbers)
         {
             valueCollection["To"] = $"+{new String(phone.Where(Char.IsDigit).ToArray())}";
             HttpRequestMessage message = new HttpRequestMessage(HttpMethod.Post, _apiUrl)
             {
                 Content = new FormUrlEncodedContent(valueCollection)
             };
             sendSMSTasks.Add(_httpClient.SendAsync(message));
         }
         return(Task.WhenAll(sendSMSTasks));
     }
     else
     {
         return(Task.CompletedTask);
     }
 }