/// <summary> /// Purchase/provision a toll-free number /// </summary> /// <param name="options">Optional parameters to include when purchasing number</param> /// <param name="callback">Method to call upon successful completion</param> public void AddTollFreePhoneNumber(PhoneNumberOptions options, Action<IncomingPhoneNumber> callback) { var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree"; request.RootElement = "IncomingPhoneNumber"; AddPhoneNumberOptionsToRequest(request, options); ExecuteAsync<IncomingPhoneNumber>(request, (response) => callback(response)); }
public IncomingPhoneNumber PurchasePhoneNumber(string phoneNumber, string applicationSid) { var phoneNumberOptions = new PhoneNumberOptions { PhoneNumber = phoneNumber, VoiceApplicationSid = applicationSid }; return _client.AddIncomingPhoneNumber(phoneNumberOptions); }
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 PhoneNumberOptions(); options.VoiceUrl = "http://demo.twilio.com/docs/voice.xml"; options.SmsUrl = "http://demo.twilio.com/docs/sms.xml"; twilio.UpdateIncomingPhoneNumber("PN2a0747eba6abf96b7e3c3ff0b4530f6e", options); }
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"; string CurrentAccount = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; var twilio = new TwilioRestClient(AccountSid, AuthToken, CurrentAccount); var options = new PhoneNumberOptions(); options.AccountSid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; twilio.UpdateIncomingPhoneNumber("PN2a0747eba6abf96b7e3c3ff0b4530f6e", options); }
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 PhoneNumberOptions(); options.PhoneNumber = "33"; var number = twilio.AddIncomingPhoneNumber(options); Console.WriteLine(number.Sid); }
/// <summary> /// Purchase/provision a toll free phone number /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> /// <param name="callback">Method to call upon successful completion</param> public virtual void AddIncomingTollFreePhoneNumber(PhoneNumberOptions options, Action<IncomingPhoneNumber> callback) { Require.Argument("PhoneNumber", options.PhoneNumber); var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.json"; //PhoneNumber is required for this resource request.AddParameter("PhoneNumber", options.PhoneNumber); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); ExecuteAsync<IncomingPhoneNumber>(request, (response) => callback(response)); }
/// <summary> /// Purchase/provision a toll free phone number /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> public virtual IncomingPhoneNumber AddIncomingTollFreePhoneNumber(PhoneNumberOptions options) { Require.Argument("PhoneNumber", options.PhoneNumber); var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.json"; //PhoneNumber is required for this resource request.AddParameter("PhoneNumber", options.PhoneNumber); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); return Execute<IncomingPhoneNumber>(request); }
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 PhoneNumberOptions(); options.FriendlyName = "My Company Line"; options.VoiceUrl = "http://demo.twilio.com/docs/voice.xml"; options.PhoneNumber = "+15105647903"; options.VoiceMethod = "GET"; var number = twilio.AddIncomingPhoneNumber(options); Console.WriteLine(number.Sid); }
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 result = twilio.ListAvailableTollFreePhoneNumbers("US"); // 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); }
/// <summary> /// Purchase/provision a phone number /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> public virtual IncomingPhoneNumber AddIncomingPhoneNumber(PhoneNumberOptions options) { var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers.json"; if (options.PhoneNumber.HasValue()) { request.AddParameter("PhoneNumber", options.PhoneNumber); } else { if (options.AreaCode.HasValue()) request.AddParameter("AreaCode", options.AreaCode); } AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); return Execute<IncomingPhoneNumber>(request); }
/// <summary> /// Purchase/provision a local phone number. Makes a POST request to the IncomingPhoneNumber List resource. /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> /// <param name="callback">Method to call upon successful completion</param> public void AddIncomingPhoneNumber(PhoneNumberOptions options, Action<IncomingPhoneNumber> callback) { var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers.json"; if (options.PhoneNumber.HasValue()) { request.AddParameter("PhoneNumber", options.PhoneNumber); } else { if (options.AreaCode.HasValue()) request.AddParameter("AreaCode", options.AreaCode); } AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); ExecuteAsync<IncomingPhoneNumber>(request, (response) => callback(response)); }
private async Task<IncomingPhoneNumber> AddIncomingPhoneNumberAsyncInternal(PhoneNumberOptions options) { var request = new RestRequest(); request.Method = Method.POST; request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers.json"; if (options.PhoneNumber.HasValue()) { request.AddParameter("PhoneNumber", options.PhoneNumber); } else { if (options.AreaCode.HasValue()) request.AddParameter("AreaCode", options.AreaCode); } AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); var result = await ExecuteAsync(request, typeof(IncomingPhoneNumber)); return (IncomingPhoneNumber)result; }
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); }
private void AddSmsOptionsToRequest(RestRequest request, PhoneNumberOptions options) { // some check for null. in those cases an empty string is a valid value (to remove a URL assignment) if (options.SmsApplicationSid != null) request.AddParameter("SmsApplicationSid", options.SmsApplicationSid); if (options.SmsUrl != null) request.AddParameter("SmsUrl", options.SmsUrl); if (options.SmsMethod.HasValue()) request.AddParameter("SmsMethod", options.SmsMethod.ToString()); if (options.SmsFallbackUrl != null) request.AddParameter("SmsFallbackUrl", options.SmsFallbackUrl); if (options.SmsFallbackMethod.HasValue()) request.AddParameter("SmsFallbackMethod", options.SmsFallbackMethod.ToString()); }
/// <summary> /// Purchase/provision a local phone number /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> public IAsyncOperation <IncomingPhoneNumber> AddIncomingPhoneNumberAsync(PhoneNumberOptions options) { return((IAsyncOperation <IncomingPhoneNumber>)AsyncInfo.Run((System.Threading.CancellationToken ct) => AddIncomingPhoneNumberAsyncInternal(options))); }
/// <summary> /// Purchase/provision a local phone number /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> public IAsyncOperation<IncomingPhoneNumber> AddIncomingPhoneNumberAsync(PhoneNumberOptions options) { return (IAsyncOperation<IncomingPhoneNumber>)AsyncInfo.Run((System.Threading.CancellationToken ct) => AddIncomingPhoneNumberAsyncInternal(options)); }
private async Task<IncomingPhoneNumber> UpdateIncomingPhoneNumberAsyncInternal(string incomingPhoneNumberSid, PhoneNumberOptions options) { Require.Argument("IncomingPhoneNumberSid", incomingPhoneNumberSid); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/{IncomingPhoneNumberSid}.json"; request.AddParameter("IncomingPhoneNumberSid", incomingPhoneNumberSid, ParameterType.UrlSegment); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); var result = await ExecuteAsync(request, typeof(IncomingPhoneNumber)); return (IncomingPhoneNumber)result; }
/// <summary> /// Update the settings of an incoming phone number /// </summary> /// <param name="incomingPhoneNumberSid">The Sid of the phone number to update</param> /// <param name="options">Which settings to update. Only properties with values set will be updated.</param> public IAsyncOperation<IncomingPhoneNumber> UpdateIncomingPhoneNumberAsync(string incomingPhoneNumberSid, PhoneNumberOptions options) { return (IAsyncOperation<IncomingPhoneNumber>)AsyncInfo.Run((System.Threading.CancellationToken ct) => UpdateIncomingPhoneNumberAsyncInternal(incomingPhoneNumberSid, options)); }
/// <summary> /// Purchase/provision a local phone number /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> public virtual async Task<IncomingPhoneNumber> AddIncomingLocalPhoneNumberAsync(PhoneNumberOptions options) { Require.Argument("PhoneNumber", options.PhoneNumber); var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/Local.json"; //PhoneNumber is required for this resource request.AddParameter("PhoneNumber", options.PhoneNumber); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); return await Execute<IncomingPhoneNumber>(request); }
private async Task <IncomingPhoneNumber> UpdateIncomingPhoneNumberAsyncInternal(string incomingPhoneNumberSid, PhoneNumberOptions options) { Require.Argument("IncomingPhoneNumberSid", incomingPhoneNumberSid); var request = new RestRequest(); request.Method = Method.POST; request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/{IncomingPhoneNumberSid}.json"; request.AddParameter("IncomingPhoneNumberSid", incomingPhoneNumberSid, ParameterType.UrlSegment); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); var result = await ExecuteAsync(request, typeof(IncomingPhoneNumber)); return((IncomingPhoneNumber)result); }
/// <summary> /// Update the settings of an incoming phone number. /// </summary> /// <param name="incomingPhoneNumberSid">The Sid of the phone number to update</param> /// <param name="options">Which settings to update. Only properties with values set will be updated.</param> /// <param name="callback">Method to call upon successful completion</param> public virtual void UpdateIncomingPhoneNumber(string incomingPhoneNumberSid, PhoneNumberOptions options, Action<IncomingPhoneNumber> callback) { Require.Argument("IncomingPhoneNumberSid", incomingPhoneNumberSid); var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/{IncomingPhoneNumberSid}.json"; request.AddParameter("IncomingPhoneNumberSid", incomingPhoneNumberSid, ParameterType.UrlSegment); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); ExecuteAsync<IncomingPhoneNumber>(request, (response) => callback(response)); }
/// <summary> /// Update the settings of an incoming phone number /// </summary> /// <param name="incomingPhoneNumberSid">The Sid of the phone number to update</param> /// <param name="options">Which settings to update. Only properties with values set will be updated.</param> public virtual IncomingPhoneNumber UpdateIncomingPhoneNumber(string incomingPhoneNumberSid, PhoneNumberOptions options) { Require.Argument("IncomingPhoneNumberSid", incomingPhoneNumberSid); var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/{IncomingPhoneNumberSid}.json"; request.AddParameter("IncomingPhoneNumberSid", incomingPhoneNumberSid, ParameterType.UrlSegment); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); return(Execute <IncomingPhoneNumber>(request)); }
private void AddPhoneNumberOptionsToRequest(RestRequest request, PhoneNumberOptions options) { if (options.AccountSid.HasValue()) { request.AddParameter("AccountSid", options.AccountSid); } if (options.FriendlyName.HasValue()) { Validate.IsValidLength(options.FriendlyName, 64); request.AddParameter("FriendlyName", options.FriendlyName); } // some check for null. in those cases an empty string is a valid value (to remove a URL assignment) if (options.VoiceApplicationSid != null) request.AddParameter("VoiceApplicationSid", options.VoiceApplicationSid); if (options.VoiceUrl != null) request.AddParameter("VoiceUrl", options.VoiceUrl); if (options.VoiceMethod.HasValue()) request.AddParameter("VoiceMethod", options.VoiceMethod.ToString()); if (options.VoiceFallbackUrl != null) request.AddParameter("VoiceFallbackUrl", options.VoiceFallbackUrl); if (options.VoiceFallbackMethod.HasValue()) request.AddParameter("VoiceFallbackMethod", options.VoiceFallbackMethod.ToString()); if (options.VoiceCallerIdLookup.HasValue) request.AddParameter("VoiceCallerIdLookup", options.VoiceCallerIdLookup.Value); if (options.StatusCallback.HasValue()) request.AddParameter("StatusCallback", options.StatusCallback); if (options.StatusCallbackMethod.HasValue()) request.AddParameter("StatusCallbackMethod", options.StatusCallbackMethod.ToString()); }
/// <summary> /// Update the settings of an incoming phone number /// </summary> /// <param name="incomingPhoneNumberSid">The Sid of the phone number to update</param> /// <param name="options">Which settings to update. Only properties with values set will be updated.</param> public IAsyncOperation <IncomingPhoneNumber> UpdateIncomingPhoneNumberAsync(string incomingPhoneNumberSid, PhoneNumberOptions options) { return((IAsyncOperation <IncomingPhoneNumber>)AsyncInfo.Run((System.Threading.CancellationToken ct) => UpdateIncomingPhoneNumberAsyncInternal(incomingPhoneNumberSid, options))); }
/// <summary> /// Update the settings of an incoming phone number /// </summary> /// <param name="incomingPhoneNumberSid">The Sid of the phone number to update</param> /// <param name="options">Which settings to update. Only properties with values set will be updated.</param> public virtual IncomingPhoneNumber UpdateIncomingPhoneNumber(string incomingPhoneNumberSid, PhoneNumberOptions options) { Require.Argument("IncomingPhoneNumberSid", incomingPhoneNumberSid); var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/{IncomingPhoneNumberSid}.json"; request.AddParameter("IncomingPhoneNumberSid", incomingPhoneNumberSid, ParameterType.UrlSegment); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); return Execute<IncomingPhoneNumber>(request); }
private void AddPhoneNumberOptionsToRequest(RestRequest request, PhoneNumberOptions options) { if (options.AreaCode.HasValue()) request.AddParameter("AreaCode", options.AreaCode); if (options.FriendlyName.HasValue()) { Validate.IsValidLength(options.FriendlyName, 64); request.AddParameter("FriendlyName", options.FriendlyName); } if (options.VoiceUrl.HasValue()) request.AddParameter("VoiceUrl", options.VoiceUrl); if (options.VoiceMethod.HasValue) request.AddParameter("VoiceMethod", options.VoiceMethod.ToString()); if (options.VoiceFallbackUrl.HasValue()) request.AddParameter("VoiceFallbackUrl", options.VoiceFallbackUrl); if (options.VoiceFallbackMethod.HasValue) request.AddParameter("VoiceFallbackMethod", options.VoiceFallbackMethod.ToString()); if (options.VoiceCallerIdLookup.HasValue) request.AddParameter("VoiceCallerIdLookup", options.VoiceCallerIdLookup.Value); if (options.StatusCallbackUrl.HasValue()) request.AddParameter("StatusCallbackUrl", options.StatusCallbackUrl); if (options.StatusCallbackMethod.HasValue) request.AddParameter("StatusCallbackMethod", options.StatusCallbackMethod.ToString()); }
private void AddSmsOptionsToRequest(RestRequest request, PhoneNumberOptions options) { if (options.SmsUrl.HasValue()) request.AddParameter("SmsUrl", options.SmsUrl); if (options.SmsMethod.HasValue) request.AddParameter("SmsMethod", options.SmsMethod.ToString()); if (options.SmsFallbackUrl.HasValue()) request.AddParameter("SmsFallbackUrl", options.SmsFallbackUrl); if (options.SmsFallbackMethod.HasValue) request.AddParameter("SmsFallbackMethod", options.SmsFallbackMethod.ToString()); }
/// <summary> /// Purchase/provision a toll free phone number /// </summary> /// <param name="options">Optional parameters to use when purchasing number</param> public virtual async Task <IncomingPhoneNumber> AddIncomingTollFreePhoneNumberAsync(PhoneNumberOptions options) { Require.Argument("PhoneNumber", options.PhoneNumber); var request = new RestRequest(Method.POST); request.Resource = "Accounts/{AccountSid}/IncomingPhoneNumbers/TollFree.json"; //PhoneNumber is required for this resource request.AddParameter("PhoneNumber", options.PhoneNumber); AddPhoneNumberOptionsToRequest(request, options); AddSmsOptionsToRequest(request, options); return(await Execute <IncomingPhoneNumber>(request)); }