コード例 #1
0
        private async Task SendPhoneCall(UserCredentials credentials)
        {
            UserDto user = await _userAppService.Get(credentials.CompanyId, credentials.UserId, credentials.Password);

            var requestPath = "Callout/WorkerGracePeriodCall";

            user.Name     = "Kyle";
            user.LastName = "";

            var phoneOptions = new PhoneOptions()
            {
                NotificationTypeID = 1,
                CompanyLogin       = "******",
                CompanyID          = credentials.CompanyId,
                TargetUserID       = credentials.UserId,
                SubjectUserID      = credentials.UserId,
                Message            = ConfigurationManager.AppSettings["Message"],
                TargetUserLoginId  = credentials.UserId,
                SourcePhoneNumber  = ConfigurationManager.AppSettings["SourcePhoneNumber"],
                TargetPhoneNumber  = ConfigurationManager.AppSettings["TargetPhoneNumber"], //user.PhoneNumber,
                LanguageCode       = "en",
                TwilioAPISID       = "SKd364fabbbbff1ff9b40418b911018a41",
                TwilioAPISecret    = "vmfksJBpR3ol4hkMJ0OTuUIavIjXyRme"
            };

            phoneOptions.CallConnectedURL = $"https://*****:*****@devivr.slmonitor.com/{requestPath}/?cid={HttpUtility.UrlEncode(phoneOptions.CompanyLogin)}&clid={HttpUtility.UrlEncode(phoneOptions.CompanyID)}&cn={HttpUtility.UrlEncode(phoneOptions.Message)}&tuid={HttpUtility.UrlEncode(user.Id.ToString())}&tulid={HttpUtility.UrlEncode(phoneOptions.TargetUserLoginId)}&tufn={HttpUtility.UrlEncode(user.Name)}&tuln={HttpUtility.UrlEncode(user.LastName)}&suid={HttpUtility.UrlEncode(user.Id.ToString())}&sufn={HttpUtility.UrlEncode(user.Name)}&suln={HttpUtility.UrlEncode(user.LastName)}&lc={HttpUtility.UrlEncode(phoneOptions.LanguageCode)}";

            await _coasterPhoneCall.SendPhoneCall(phoneOptions);
        }
コード例 #2
0
        public static string GetPhoneOption(RestCommand command, int phoneOptionID)
        {
            PhoneOption phoneOption = PhoneOptions.GetPhoneOption(command.LoginUser, phoneOptionID);

            if (phoneOption.OrganizationID != command.Organization.OrganizationID)
            {
                throw new RestException(HttpStatusCode.Unauthorized);
            }
            return(phoneOption.GetXml("PhoneOption", true));
        }
コード例 #3
0
        public static string GetPhoneOptions(RestCommand command)
        {
            PhoneOptions phoneOptions = new PhoneOptions(command.LoginUser);

            phoneOptions.LoadByOrganizationID(command.Organization.OrganizationID);

            if (command.Format == RestFormat.XML)
            {
                return(phoneOptions.GetXml("PhoneOptions", "PhoneOption", true, command.Filters));
            }
            else
            {
                throw new RestException(HttpStatusCode.BadRequest, "Invalid data format");
            }
        }
コード例 #4
0
        public async Task SendPhoneCall(PhoneOptions phoneOptions)
        {
            PhoneCall phoneCall = new PhoneCall()
            {
                NotificationTypeID = 1,
                CompanyID          = phoneOptions.CompanyID,
                TargetUserID       = phoneOptions.TargetUserID,
                SubjectUserID      = phoneOptions.TargetUserID,
                SourcePhoneNumber  = phoneOptions.SourcePhoneNumber,
                TargetPhoneNumber  = phoneOptions.TargetPhoneNumber,
                CallConnectedURL   = phoneOptions.CallConnectedURL,
                TwilioAPISID       = ConfigurationManager.AppSettings["TwilioAPISID"],
                TwilioAPISecret    = ConfigurationManager.AppSettings["TwilioAPISecret"]
            };

            await _phoneCallClient.SendAsync(phoneCall);
        }