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:

  • version (Version)

    Version that contains the resource

  • account_sid (String) (defaults to: nil)

    The unique id of the Account responsible for this phone number.



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

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, 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)

    Calls to this phone number will start a new TwiML session with this API version.

  • 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 this 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 Twilio will use when requesting the above URL. Either ‘GET` or `POST`.

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

    The URL that Twilio will request if an error occurs retrieving or executing the TwiML from ‘SmsUrl`.

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

    The HTTP method Twilio will use when making requests to the ‘SmsUrl`. Either `GET` or `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`.

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

    The 34 character sid of the application Twilio should use to handle phone calls to this 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)

    Look up the caller’s caller-ID name from the CNAM database ($0.01 per look up). Either ‘true` or `false`.

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

    The HTTP method Twilio will use when requesting the ‘VoiceFallbackUrl`. Either `GET` or `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 Twilio will use when requesting the above ‘Url`. Either `GET` or `POST`.

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

    The URL Twilio will request when this phone number receives a call. 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 emergency_status

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

    The emergency_address_sid

  • 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.

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

    The phone number to purchase. e.g., +16175551212 (E.164 format)

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

    The desired area code for the new phone number. Any three digit US or Canada rea code is valid

Returns:



206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 206

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, 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,
  })

  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.



97
98
99
100
101
102
103
104
105
106
107
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 97

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



145
146
147
148
149
150
151
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 145

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

  • 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

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

    The origin

  • 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



51
52
53
54
55
56
57
58
59
60
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 51

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:



247
248
249
250
251
252
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 247

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

#mobileMobileList, MobileContext

Access the mobile

Returns:



258
259
260
261
262
263
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 258

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

  • 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

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

    The origin

  • 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



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 122

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

  • 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

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

    The origin

  • 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



79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 79

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



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

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

#toll_freeTollFreeList, TollFreeContext

Access the toll_free

Returns:



269
270
271
272
273
274
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number.rb', line 269

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