コード例 #1
0
        /// <summary>
        /// Availables the phone number result.
        /// </summary>
        /// <returns>AvailablePhoneNumberResult.</returns>
        public List<PhoneNumber> AvailablePhoneNumberResult()
        {
            var searchParms = new AvailablePhoneNumberListRequest();

            var numbers = _twilio.ListAvailableLocalPhoneNumbers("US", searchParms);
            return numbers.AvailablePhoneNumbers.Select(i=>new PhoneNumber {FormattedNumber = i.FriendlyName, Number = i.PhoneNumber}).ToList();
        }
コード例 #2
0
        /// <summary>
        /// Search available toll-free phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="contains">Value to use when filtering search. Accepts numbers or characters.</param>
        public virtual async Task <AvailablePhoneNumberResult> ListAvailableTollFreePhoneNumbersAsync(string isoCountryCode, string contains)
        {
            var options = new AvailablePhoneNumberListRequest()
            {
                Contains = contains
            };

            return(await ListAvailableTollFreePhoneNumbersAsync(isoCountryCode, options));
        }
コード例 #3
0
        /// <summary>
        /// Search available toll-free phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="contains">Value to use when filtering search. Accepts numbers or characters.</param>
        public virtual AvailablePhoneNumberResult ListAvailableTollFreePhoneNumbers(string isoCountryCode, string contains)
        {
            var options = new AvailablePhoneNumberListRequest()
            {
                Contains = contains
            };

            return(ListAvailableTollFreePhoneNumbers(isoCountryCode, options));
        }
コード例 #4
0
        /// <summary>
        /// Search available toll-free phone numbers
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="contains"></param>
        /// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListAvailableTollFreePhoneNumbers(string isoCountryCode, string contains, Action <AvailablePhoneNumberResult> callback)
        {
            var options = new AvailablePhoneNumberListRequest()
            {
                Contains = contains
            };

            ListAvailableTollFreePhoneNumbers(isoCountryCode, options, callback);
        }
コード例 #5
0
        public IEnumerable<AvailablePhoneNumber> SearchPhoneNumbers(string areaCode = "415")
        {
            var searchParams = new AvailablePhoneNumberListRequest
            {
                AreaCode = areaCode
            };

            return _client.ListAvailableLocalPhoneNumbers("US", searchParams)
                .AvailablePhoneNumbers;
        }
コード例 #6
0
        /// <summary>
        /// Search available mobile phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="options">Search filter options. Only properties with values set will be used.</param>
        public virtual AvailablePhoneNumberResult ListAvailableMobilePhoneNumbers(string isoCountryCode, AvailablePhoneNumberListRequest options)
        {
            Require.Argument("isoCountryCode", isoCountryCode);

            var request = new RestRequest();
            request.Resource = "Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountryCode}/Mobile.json";
            request.AddUrlSegment("IsoCountryCode", isoCountryCode);

            AddNumberSearchParameters(options, request);

            return Execute<AvailablePhoneNumberResult>(request);
        }
コード例 #7
0
 private void AddNumberSearchParameters(AvailablePhoneNumberListRequest options, RestRequest request)
 {
     if (options.AreaCode.HasValue()) request.AddParameter("AreaCode", options.AreaCode);
     if (options.Contains.HasValue()) request.AddParameter("Contains", options.Contains);
     if (options.Distance.HasValue) request.AddParameter("Distance", options.Distance);
     if (options.InLata.HasValue()) request.AddParameter("InLata", options.InLata);
     if (options.InPostalCode.HasValue()) request.AddParameter("InPostalCode", options.InPostalCode);
     if (options.InRateCenter.HasValue()) request.AddParameter("InRateCenter", options.InRateCenter);
     if (options.InRegion.HasValue()) request.AddParameter("InRegion", options.InRegion);
     if (options.NearLatLong.HasValue()) request.AddParameter("NearLatLong", options.NearLatLong);
     if (options.NearNumber.HasValue()) request.AddParameter("NearNumber", options.NearNumber);
 }
コード例 #8
0
        /// <summary>
        /// Search available mobile phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="options">Search filter options. Only properties with values set will be used.</param>
        /// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListAvailableMobilePhoneNumbers(string isoCountryCode, AvailablePhoneNumberListRequest options, Action<AvailablePhoneNumberResult> callback)
        {
            Require.Argument("isoCountryCode", isoCountryCode);

            var request = new RestRequest();
            request.Resource = "Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountryCode}/Mobile.json";
            request.AddUrlSegment("IsoCountryCode", isoCountryCode);

            AddNumberSearchParameters(options, request);

            ExecuteAsync<AvailablePhoneNumberResult>(request, (response) => callback(response));
        }
コード例 #9
0
        private void AddNumberSearchParameters(AvailablePhoneNumberListRequest options, RestRequest request)
        {
            if (options.AreaCode.HasValue())
            {
                request.AddParameter("AreaCode", options.AreaCode);
            }
            if (options.Contains.HasValue())
            {
                request.AddParameter("Contains", options.Contains);
            }
            if (options.Distance.HasValue)
            {
                request.AddParameter("Distance", options.Distance);
            }
            if (options.InLata.HasValue())
            {
                request.AddParameter("InLata", options.InLata);
            }
            if (options.InPostalCode.HasValue())
            {
                request.AddParameter("InPostalCode", options.InPostalCode);
            }
            if (options.InRateCenter.HasValue())
            {
                request.AddParameter("InRateCenter", options.InRateCenter);
            }
            if (options.InRegion.HasValue())
            {
                request.AddParameter("InRegion", options.InRegion);
            }
            if (options.NearLatLong.HasValue())
            {
                request.AddParameter("NearLatLong", options.NearLatLong);
            }
            if (options.NearNumber.HasValue())
            {
                request.AddParameter("NearNumber", options.NearNumber);
            }

            if (options.SmsEnabled.HasValue)
            {
                request.AddParameter("SmsEnabled", options.SmsEnabled.Value);
            }
            if (options.VoiceEnabled.HasValue)
            {
                request.AddParameter("VoiceEnabled", options.VoiceEnabled.Value);
            }
            if (options.MmsEnabled.HasValue)
            {
                request.AddParameter("MmsEnabled", options.MmsEnabled.Value);
            }
        }
コード例 #10
0
        /// <summary>
        /// Search available mobile phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="options">Search filter options. Only properties with values set will be used.</param>
        /// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListAvailableMobilePhoneNumbers(string isoCountryCode, AvailablePhoneNumberListRequest options, Action <AvailablePhoneNumberResult> callback)
        {
            Require.Argument("isoCountryCode", isoCountryCode);

            var request = new RestRequest();

            request.Resource = "Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountryCode}/Mobile.json";
            request.AddUrlSegment("IsoCountryCode", isoCountryCode);

            AddNumberSearchParameters(options, request);

            ExecuteAsync <AvailablePhoneNumberResult>(request, (response) => callback(response));
        }
コード例 #11
0
        private async Task<AvailablePhoneNumberResult> ListAvailableLocalPhoneNumbersAsyncInternal(string isoCountryCode, AvailablePhoneNumberListRequest options)
        {
            Require.Argument("isoCountryCode", isoCountryCode);

            var request = new RestRequest();
            request.Resource = "Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountryCode}/Local.json";
            request.AddUrlSegment("IsoCountryCode", isoCountryCode);

            AddNumberSearchParameters(options, request);

            var result = await ExecuteAsync(request, typeof(AvailablePhoneNumberResult));
            return (AvailablePhoneNumberResult)result;

        }
コード例 #12
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken = "your_auth_token";
        var twilio = new TwilioRestClient(AccountSid, AuthToken);

        var options = new AvailablePhoneNumberListRequest();
        var result = twilio.ListAvailableMobilePhoneNumbers("GB", options);

        // Purchase the first number on the list
        var availableNumber = result.AvailablePhoneNumbers[0];
        var purchaseOptions = new PhoneNumberOptions();
        purchaseOptions.PhoneNumber = availableNumber.PhoneNumber;

        var number = twilio.AddIncomingPhoneNumber(purchaseOptions);
        Console.WriteLine(number.Sid);
    }
コード例 #13
0
ファイル: Options.cs プロジェクト: mrockmann/twilio-dotnet
        private void AddNumberSearchParameters(AvailablePhoneNumberListRequest options, RestRequest request)
        {
            if (options.AreaCode.HasValue()) request.AddParameter("AreaCode", options.AreaCode);
            if (options.Contains.HasValue()) request.AddParameter("Contains", options.Contains);
            if (options.Distance.HasValue) request.AddParameter("Distance", options.Distance);
            if (options.InLata.HasValue()) request.AddParameter("InLata", options.InLata);
            if (options.InPostalCode.HasValue()) request.AddParameter("InPostalCode", options.InPostalCode);
            if (options.InRateCenter.HasValue()) request.AddParameter("InRateCenter", options.InRateCenter);
            if (options.InRegion.HasValue()) request.AddParameter("InRegion", options.InRegion);
            if (options.NearLatLong.HasValue()) request.AddParameter("NearLatLong", options.NearLatLong);
            if (options.NearNumber.HasValue()) request.AddParameter("NearNumber", options.NearNumber);

            if (options.SmsEnabled.HasValue) request.AddParameter("SmsEnabled", options.SmsEnabled.Value);
            if (options.VoiceEnabled.HasValue) request.AddParameter("VoiceEnabled", options.VoiceEnabled.Value);
            if (options.MmsEnabled.HasValue) request.AddParameter("MmsEnabled", options.MmsEnabled.Value);
            if (options.ExcludeAllAddressRequired.HasValue) request.AddParameter("ExcludeAllAddressRequired", options.ExcludeAllAddressRequired.Value);
			if (options.ExcludeForeignAddressRequired.HasValue) request.AddParameter("ExcludeForeignAddressRequired", options.ExcludeForeignAddressRequired.Value);
			if (options.ExcludeLocalAddressRequired.HasValue) request.AddParameter("ExcludeLocalAddressRequired", options.ExcludeLocalAddressRequired.Value);
        }
コード例 #14
0
    static void Main(string[] args)
    {
        // Find your Account Sid and Auth Token at twilio.com/user/account
        string AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
        string AuthToken = "your_auth_token";
        var twilio = new TwilioRestClient(AccountSid, AuthToken);

        var options = new AvailablePhoneNumberListRequest();
        options.NearLatLong = "37.840699,-122.461853";
        options.Distance = 50;
        options.Contains = "555";
        options.InRegion = "CA";

        var result = twilio.ListAvailableLocalPhoneNumbers("US", options);

        // Purchase the first number on the list
        var availableNumber = result.AvailablePhoneNumbers[0];
        var purchaseOptions = new PhoneNumberOptions();
        purchaseOptions.PhoneNumber = availableNumber.PhoneNumber;

        var number = twilio.AddIncomingPhoneNumber(purchaseOptions);
        Console.WriteLine(number.Sid);
    }
コード例 #15
0
		/// <summary>
		/// Search available toll-free phone numbers
		/// </summary>
		/// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
		/// <param name="contains">Value to use when filtering search. Accepts numbers or characters.</param>
		/// <param name="callback">Method to call upon successful completion</param>
        public virtual void ListAvailableTollFreePhoneNumbers(string isoCountryCode, string contains, Action<AvailablePhoneNumberResult> callback)
		{
            var options = new AvailablePhoneNumberListRequest() { Contains = contains };
            ListAvailableTollFreePhoneNumbers(isoCountryCode, options, callback);
		}
コード例 #16
0
        public IEnumerable<VoipPhone> GetAvailablePhoneNumbers(PhoneNumberType phoneNumberType, string isoCountryCode)
        {
            var result = new AvailablePhoneNumberResult();
            var request = new AvailablePhoneNumberListRequest { VoiceEnabled = true };

            switch (phoneNumberType)
            {
                case PhoneNumberType.Local:
                    result = client.ListAvailableLocalPhoneNumbers(isoCountryCode, request);
                    break;
                /*                case PhoneNumberType.Mobile:
                                    result = twilio.ListAvailableMobilePhoneNumbers(isoCountryCode, request);
                                    break;*/
                case PhoneNumberType.TollFree:
                    result = client.ListAvailableTollFreePhoneNumbers(isoCountryCode);
                    break;
            }
            ThrowIfError(result);
            return result.AvailablePhoneNumbers.Select(r => new VoipPhone { Number = r.PhoneNumber });
        }
コード例 #17
0
        private async Task <AvailablePhoneNumberResult> ListAvailableLocalPhoneNumbersAsyncInternal(string isoCountryCode, AvailablePhoneNumberListRequest options)
        {
            Require.Argument("isoCountryCode", isoCountryCode);

            var request = new RestRequest();

            request.Resource = "Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountryCode}/Local.json";
            request.AddUrlSegment("IsoCountryCode", isoCountryCode);

            AddNumberSearchParameters(options, request);

            var result = await ExecuteAsync(request, typeof(AvailablePhoneNumberResult));

            return((AvailablePhoneNumberResult)result);
        }
コード例 #18
0
 /// <summary>
 /// Search available local phone numbers. Makes a GET request to the AvailablePhoneNumber List resource.
 /// </summary>
 /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
 /// <param name="options">Search filter options. Only properties with values set will be used.</param>
 public IAsyncOperation <AvailablePhoneNumberResult> ListAvailableLocalPhoneNumbersAsync(string isoCountryCode, AvailablePhoneNumberListRequest options)
 {
     return((IAsyncOperation <AvailablePhoneNumberResult>)AsyncInfo.Run((System.Threading.CancellationToken ct) => ListAvailableLocalPhoneNumbersAsyncInternal(isoCountryCode, options)));
 }
コード例 #19
0
        /// <summary>
        /// Search available mobile phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="options">Search filter options. Only properties with values set will be used.</param>
        public virtual async Task <AvailablePhoneNumberResult> ListAvailableMobilePhoneNumbersAsync(string isoCountryCode, AvailablePhoneNumberListRequest options)
        {
            Require.Argument("isoCountryCode", isoCountryCode);

            var request = new RestRequest();

            request.Resource = "Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountryCode}/Mobile.json";
            request.AddUrlSegment("IsoCountryCode", isoCountryCode);

            AddNumberSearchParameters(options, request);

            return(await Execute <AvailablePhoneNumberResult>(request));
        }
コード例 #20
0
 /// <summary>
 /// Search available toll-free phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
 /// </summary>
 /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
 /// <param name="contains">Value to use when filtering search. Accepts numbers or characters.</param>
 public virtual AvailablePhoneNumberResult ListAvailableTollFreePhoneNumbers(string isoCountryCode, string contains)
 {
     var options = new AvailablePhoneNumberListRequest() { Contains = contains };
     return ListAvailableTollFreePhoneNumbers(isoCountryCode, options); 
 }
コード例 #21
0
        /// <summary>
        /// Search available local phone numbers. Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="options">Search filter options. Only properties with values set will be used.</param>
        public AvailablePhoneNumberResult ListAvailableLocalPhoneNumbers(string isoCountryCode, AvailablePhoneNumberListRequest options)
        {
            Require.Argument("isoCountryCode", isoCountryCode);

            var request = new RestRequest();

            request.Resource = "Accounts/{AccountSid}/AvailablePhoneNumbers/{IsoCountryCode}/Local.json";
            request.AddUrlSegment("IsoCountryCode", isoCountryCode);

            AddNumberSearchParameters(options, request);

            return(Execute <AvailablePhoneNumberResult>(request));
        }
コード例 #22
0
 /// <summary>
 /// Search available toll-free phone numbers.  Makes a GET request to the AvailablePhoneNumber List resource.
 /// </summary>
 /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
 /// <param name="contains">Value to use when filtering search. Accepts numbers or characters.</param>
 public virtual async Task<AvailablePhoneNumberResult> ListAvailableTollFreePhoneNumbersAsync(string isoCountryCode, string contains)
 {
     var options = new AvailablePhoneNumberListRequest() { Contains = contains };
     return await ListAvailableTollFreePhoneNumbersAsync(isoCountryCode, options);
 }
コード例 #23
0
        /// <summary>
        /// Search available local phone numbers. Makes a GET request to the AvailablePhoneNumber List resource.
        /// </summary>
        /// <param name="isoCountryCode">Two-character ISO country code (US or CA)</param>
        /// <param name="options">Search filter options. Only properties with values set will be used.</param>
		public IAsyncOperation<AvailablePhoneNumberResult> ListAvailableLocalPhoneNumbersAsync(string isoCountryCode, AvailablePhoneNumberListRequest options)
        {
            return (IAsyncOperation<AvailablePhoneNumberResult>)AsyncInfo.Run((System.Threading.CancellationToken ct) => ListAvailableLocalPhoneNumbersAsyncInternal(isoCountryCode, options));
        }