Class: Twilio::REST::Api::V2010::AccountContext::IncomingPhoneNumberList

Inherits:
ListResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb,
lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb,
lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/mobile.rb,
lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/toll_free.rb

Defined Under Namespace

Classes: LocalInstance, LocalList, LocalPage, MobileInstance, MobileList, MobilePage, TollFreeInstance, TollFreeList, TollFreePage

Instance Method Summary collapse

Constructor Details

#initialize(version, account_sid: nil) ⇒ IncomingPhoneNumberList

Initialize the IncomingPhoneNumberList

Parameters:



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 22

def initialize(version, account_sid: nil)
  super(version)

  # Path Solution
  @solution = {account_sid: }
  @uri = "/Accounts/#{@solution[:account_sid]}/IncomingPhoneNumbers.json"

  # Components
  @local = nil
  @mobile = nil
  @toll_free = nil
end

Instance Method Details

#create(api_version: :unset, friendly_name: :unset, sms_application_sid: :unset, sms_fallback_method: :unset, sms_fallback_url: :unset, sms_method: :unset, sms_url: :unset, status_callback: :unset, status_callback_method: :unset, voice_application_sid: :unset, voice_caller_id_lookup: :unset, voice_fallback_method: :unset, voice_fallback_url: :unset, voice_method: :unset, voice_url: :unset, emergency_status: :unset, emergency_address_sid: :unset, trunk_sid: :unset, identity_sid: :unset, address_sid: :unset, voice_receive_mode: :unset, phone_number: :unset, area_code: :unset) ⇒ IncomingPhoneNumberInstance

Retrieve a single page of IncomingPhoneNumberInstance records from the API. Request is executed immediately.

Parameters:

  • api_version (String) (defaults to: :unset)

    The Twilio REST API version to use for incoming calls made to this number. If omitted, uses ‘2010-04-01`.

  • friendly_name (String) (defaults to: :unset)

    A human readable descriptive text for this resource, up to 64 characters long. By default, the ‘FriendlyName` is a nicely formatted version of the phone number.

  • sms_application_sid (String) (defaults to: :unset)

    The 34 character sid of the application Twilio should use to handle SMSs sent to the new number. If a ‘SmsApplicationSid` is present, Twilio will ignore all of the SMS urls above and use those set on the application.

  • sms_fallback_method (String) (defaults to: :unset)

    The HTTP method that should be used to request the ‘SmsFallbackUrl`. Must be either `GET` or `POST`. Defaults to `POST`.

  • sms_fallback_url (String) (defaults to: :unset)

    A URL that Twilio will request if an error occurs requesting or executing the TwiML defined by ‘SmsUrl`.

  • sms_method (String) (defaults to: :unset)

    The HTTP method that should be used to request the ‘SmsUrl`. Must be either `GET` or `POST`. Defaults to `POST`.

  • sms_url (String) (defaults to: :unset)

    The URL Twilio will request when receiving an incoming SMS message to this number.

  • status_callback (String) (defaults to: :unset)

    The URL that Twilio will request to pass status parameters (such as call ended) to your application.

  • status_callback_method (String) (defaults to: :unset)

    The HTTP method Twilio will use to make requests to the ‘StatusCallback` URL. Either `GET` or `POST`. Defaults to `POST`.

  • voice_application_sid (String) (defaults to: :unset)

    The 34 character sid of the application Twilio should use to handle phone calls to the new number. If a ‘VoiceApplicationSid` is present, Twilio will ignore all of the voice urls above and use those set on the application. Setting a `VoiceApplicationSid` will automatically delete your `TrunkSid` and vice versa.

  • voice_caller_id_lookup (Boolean) (defaults to: :unset)

    Do a lookup of a caller’s name from the CNAM database and post it to your app. Either ‘true` or `false`. Defaults to `false`.

  • voice_fallback_method (String) (defaults to: :unset)

    The HTTP method that should be used to request the ‘VoiceFallbackUrl`. Either `GET` or `POST`. Defaults to `POST`.

  • voice_fallback_url (String) (defaults to: :unset)

    The URL that Twilio will request if an error occurs retrieving or executing the TwiML requested by ‘Url`.

  • voice_method (String) (defaults to: :unset)

    The HTTP method that should be used to request the ‘VoiceUrl`. Must be either `GET` or `POST`. Defaults to `POST`.

  • voice_url (String) (defaults to: :unset)

    The URL that Twilio should request when somebody dials the new phone number. The VoiceURL will no longer be used if a ‘VoiceApplicationSid` or a `TrunkSid` is set.

  • emergency_status (incoming_phone_number.EmergencyStatus) (defaults to: :unset)

    The configuration status parameter determining whether this phone number is enabled for emergency calling

  • emergency_address_sid (String) (defaults to: :unset)

    The 34 character sid of the EmergencyAddress configuration to leverage emergency calling for this phone number

  • trunk_sid (String) (defaults to: :unset)

    The 34 character sid of the Trunk Twilio should use to handle phone calls to this number. If a ‘TrunkSid` is present, Twilio will ignore all of the voice urls and voice applications above and use those set on the Trunk. Setting a `TrunkSid` will automatically delete your `VoiceApplicationSid` and vice versa.

  • identity_sid (String) (defaults to: :unset)

    The 34 character sid of the identity Twilio should use to associate with the number. Identities are required in some regions to meet local regulations

  • address_sid (String) (defaults to: :unset)

    The 34 character sid of the address Twilio should use to associate with the number. Addresses are required in some regions to meet local regulations

  • voice_receive_mode (incoming_phone_number.VoiceReceiveMode) (defaults to: :unset)

    The configuration parameter for this phone number to receive incoming voice calls or faxes. Must be either ‘fax` or `voice`. Defaults to `voice`

  • phone_number (String) (defaults to: :unset)

    The phone number you want to purchase. The number should be formatted starting with a ‘+’ followed by the country code and the number in [E.164](en.wikipedia.org/wiki/E.164) format e.g., ‘+15105555555’. **You must include either this or an ‘AreaCode` parameter to have your POST succeed.**

  • area_code (String) (defaults to: :unset)

    The desired area code for your new incoming phone number. Any three digit, US or Canada area code is valid. Twilio will provision a random phone number within this area code for you. **You must include either this or a ‘PhoneNumber` parameter to have your POST succeed.** (US and Canada only)

Returns:



238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 238

def create(api_version: :unset, friendly_name: :unset, sms_application_sid: :unset, sms_fallback_method: :unset, sms_fallback_url: :unset, sms_method: :unset, sms_url: :unset, status_callback: :unset, status_callback_method: :unset, voice_application_sid: :unset, voice_caller_id_lookup: :unset, voice_fallback_method: :unset, voice_fallback_url: :unset, voice_method: :unset, voice_url: :unset, emergency_status: :unset, emergency_address_sid: :unset, trunk_sid: :unset, identity_sid: :unset, address_sid: :unset, voice_receive_mode: :unset, phone_number: :unset, area_code: :unset)
  data = Twilio::Values.of({
      'PhoneNumber' => phone_number,
      'AreaCode' => area_code,
      'ApiVersion' => api_version,
      'FriendlyName' => friendly_name,
      'SmsApplicationSid' => sms_application_sid,
      'SmsFallbackMethod' => sms_fallback_method,
      'SmsFallbackUrl' => sms_fallback_url,
      'SmsMethod' => sms_method,
      'SmsUrl' => sms_url,
      'StatusCallback' => status_callback,
      'StatusCallbackMethod' => status_callback_method,
      'VoiceApplicationSid' => voice_application_sid,
      'VoiceCallerIdLookup' => voice_caller_id_lookup,
      'VoiceFallbackMethod' => voice_fallback_method,
      'VoiceFallbackUrl' => voice_fallback_url,
      'VoiceMethod' => voice_method,
      'VoiceUrl' => voice_url,
      'EmergencyStatus' => emergency_status,
      'EmergencyAddressSid' => emergency_address_sid,
      'TrunkSid' => trunk_sid,
      'IdentitySid' => identity_sid,
      'AddressSid' => address_sid,
      'VoiceReceiveMode' => voice_receive_mode,
  })

  payload = @version.create(
      'POST',
      @uri,
      data: data
  )

  IncomingPhoneNumberInstance.new(@version, payload, account_sid: @solution[:account_sid], )
end

#eachObject

When passed a block, yields IncomingPhoneNumberInstance records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.



106
107
108
109
110
111
112
113
114
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 106

def each
  limits = @version.read_limits

  page = self.page(page_size: limits[:page_size], )

  @version.stream(page,
                  limit: limits[:limit],
                  page_limit: limits[:page_limit]).each {|x| yield x}
end

#get_page(target_url) ⇒ Page

Retrieve a single page of IncomingPhoneNumberInstance records from the API. Request is executed immediately.

Parameters:

  • target_url (String)

    API-generated URL for the requested results page

Returns:

  • (Page)

    Page of IncomingPhoneNumberInstance



156
157
158
159
160
161
162
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 156

def get_page(target_url)
  response = @version.domain.request(
      'GET',
      target_url
  )
  IncomingPhoneNumberPage.new(@version, response, @solution)
end

#list(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, limit: nil, page_size: nil) ⇒ Array

Lists IncomingPhoneNumberInstance records from the API as a list. Unlike stream(), this operation is eager and will load ‘limit` records into memory before returning.

Parameters:

  • beta (Boolean) (defaults to: :unset)

    Include phone numbers new to the Twilio platform. Possible values are either ‘true` or `false`. Default is `true`.

  • friendly_name (String) (defaults to: :unset)

    Only show the incoming phone number resources with friendly names that exactly match this name.

  • phone_number (String) (defaults to: :unset)

    Only show the incoming phone number resources that match this pattern. You can specify partial numbers and use ‘*’ as a wildcard for any digit.

  • origin (String) (defaults to: :unset)

    Include phone numbers based on the origin, by default, phone numbers of all origin are included. Possible values are either ‘twilio` or `hosted`.

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Array)

    Array of up to limit results



56
57
58
59
60
61
62
63
64
65
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 56

def list(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, limit: nil, page_size: nil)
  self.stream(
      beta: beta,
      friendly_name: friendly_name,
      phone_number: phone_number,
      origin: origin,
      limit: limit,
      page_size: page_size
  ).entries
end

#localLocalList, LocalContext

Access the local

Returns:



278
279
280
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 278

def local
  @local ||= LocalList.new(@version, account_sid: @solution[:account_sid], )
end

#mobileMobileList, MobileContext

Access the mobile

Returns:



286
287
288
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 286

def mobile
  @mobile ||= MobileList.new(@version, account_sid: @solution[:account_sid], )
end

#page(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, page_token: :unset, page_number: :unset, page_size: :unset) ⇒ Page

Retrieve a single page of IncomingPhoneNumberInstance records from the API. Request is executed immediately.

Parameters:

  • beta (Boolean) (defaults to: :unset)

    Include phone numbers new to the Twilio platform. Possible values are either ‘true` or `false`. Default is `true`.

  • friendly_name (String) (defaults to: :unset)

    Only show the incoming phone number resources with friendly names that exactly match this name.

  • phone_number (String) (defaults to: :unset)

    Only show the incoming phone number resources that match this pattern. You can specify partial numbers and use ‘*’ as a wildcard for any digit.

  • origin (String) (defaults to: :unset)

    Include phone numbers based on the origin, by default, phone numbers of all origin are included. Possible values are either ‘twilio` or `hosted`.

  • page_token (String) (defaults to: :unset)

    PageToken provided by the API

  • page_number (Integer) (defaults to: :unset)

    Page Number, this value is simply for client state

  • page_size (Integer) (defaults to: :unset)

    Number of records to return, defaults to 50

Returns:

  • (Page)

    Page of IncomingPhoneNumberInstance



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 133

def page(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, page_token: :unset, page_number: :unset, page_size: :unset)
  params = Twilio::Values.of({
      'Beta' => beta,
      'FriendlyName' => friendly_name,
      'PhoneNumber' => phone_number,
      'Origin' => origin,
      'PageToken' => page_token,
      'Page' => page_number,
      'PageSize' => page_size,
  })
  response = @version.page(
      'GET',
      @uri,
      params
  )
  IncomingPhoneNumberPage.new(@version, response, @solution)
end

#stream(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, limit: nil, page_size: nil) ⇒ Enumerable

Streams IncomingPhoneNumberInstance records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached.

Parameters:

  • beta (Boolean) (defaults to: :unset)

    Include phone numbers new to the Twilio platform. Possible values are either ‘true` or `false`. Default is `true`.

  • friendly_name (String) (defaults to: :unset)

    Only show the incoming phone number resources with friendly names that exactly match this name.

  • phone_number (String) (defaults to: :unset)

    Only show the incoming phone number resources that match this pattern. You can specify partial numbers and use ‘*’ as a wildcard for any digit.

  • origin (String) (defaults to: :unset)

    Include phone numbers based on the origin, by default, phone numbers of all origin are included. Possible values are either ‘twilio` or `hosted`.

  • limit (Integer) (defaults to: nil)

    Upper limit for the number of records to return. stream() guarantees to never return more than limit. Default is no limit.

  • page_size (Integer) (defaults to: nil)

    Number of records to fetch per request, when not set will use the default value of 50 records. If no page_size is defined but a limit is defined, stream() will attempt to read the limit with the most efficient page size, i.e. min(limit, 1000)

Returns:

  • (Enumerable)

    Enumerable that will yield up to limit results



88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 88

def stream(beta: :unset, friendly_name: :unset, phone_number: :unset, origin: :unset, limit: nil, page_size: nil)
  limits = @version.read_limits(limit, page_size)

  page = self.page(
      beta: beta,
      friendly_name: friendly_name,
      phone_number: phone_number,
      origin: origin,
      page_size: limits[:page_size],
  )

  @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit])
end

#to_sObject

Provide a user friendly representation



300
301
302
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 300

def to_s
  '#<Twilio.Api.V2010.IncomingPhoneNumberList>'
end

#toll_freeTollFreeList, TollFreeContext

Access the toll_free

Returns:



294
295
296
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 294

def toll_free
  @toll_free ||= TollFreeList.new(@version, account_sid: @solution[:account_sid], )
end