Esempio n. 1
0
        public async Task <bool> EnviarMensagemNotificacaoAsync(NotificacaoMensagemModel mensagem)
        {
            try
            {
                TwilioClient.Init(_twilioConfig.TwilioAccountSID,
                                  _twilioConfig.TwilioAuthToken);

                var msgResource = await MessageResource.CreateAsync(
                    from : new PhoneNumber($"whatsapp:{_twilioConfig.TwilioWhatsappNumber}"),
                    to : new PhoneNumber($"whatsapp:{TwilioHelper.FormatarNumeroNoPadraoDoTwilio(mensagem.Para)}"),
                    body : mensagem.Conteudo);

                if (msgResource.Status == MessageResource.StatusEnum.Failed)
                {
                    throw new Exception($"{msgResource.ErrorCode} - {msgResource.ErrorMessage}");
                }

                _logger.LogInformation($"Mensagem enviada para {msgResource.To} em {DateTime.Now}");
                return(true);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
                return(false);
            }
        }
        public void Format_TwilioHelper_FormatarNumeroParaPadraoDaApiTwilio(string numero, string resultadoEsperado)
        {
            var result = TwilioHelper
                         .FormatarNumeroNoPadraoDoTwilio(numero);

            result.Should().Be(resultadoEsperado);
            Regex.IsMatch(result, _regexPattern).Should().BeTrue();
        }