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

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

Instance Method Summary collapse

Constructor Details

#initialize(version, account_sid: nil) ⇒ LocalList

Initialize the LocalList

Parameters:

  • Version that contains the resource



28
29
30
31
32
33
34
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 28

def initialize(version, account_sid: nil)
    super(version)
    # Path Solution
    @solution = { account_sid:  }
    @uri = "/Accounts/#{@solution[:account_sid]}/IncomingPhoneNumbers/Local.json"
    
end

Instance Method Details

#create(phone_number: nil, 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, identity_sid: :unset, address_sid: :unset, emergency_status: :unset, emergency_address_sid: :unset, trunk_sid: :unset, voice_receive_mode: :unset, bundle_sid: :unset) ⇒ LocalInstance

Create the LocalInstance

Parameters:

  • (defaults to: nil)

    The phone number to purchase specified in E.164 format. E.164 phone numbers consist of a + followed by the country code and subscriber number without punctuation characters. For example, +14155551234.

  • (defaults to: :unset)

    The API version to use for incoming calls made to the new phone number. The default is 2010-04-01.

  • (defaults to: :unset)

    A descriptive string that you created to describe the new phone number. It can be up to 64 characters long. By default, this is a formatted version of the phone number.

  • (defaults to: :unset)

    The SID of the application that should handle SMS messages sent to the new phone number. If an sms_application_sid is present, we ignore all of the sms_*_url urls and use those set on the application.

  • (defaults to: :unset)

    The HTTP method that we should use to call sms_fallback_url. Can be: GET or POST and defaults to POST.

  • (defaults to: :unset)

    The URL that we should call when an error occurs while requesting or executing the TwiML defined by sms_url.

  • (defaults to: :unset)

    The HTTP method that we should use to call sms_url. Can be: GET or POST and defaults to POST.

  • (defaults to: :unset)

    The URL we should call when the new phone number receives an incoming SMS message.

  • (defaults to: :unset)

    The URL we should call using the status_callback_method to send status information to your application.

  • (defaults to: :unset)

    The HTTP method we should use to call status_callback. Can be: GET or POST and defaults to POST.

  • (defaults to: :unset)

    The SID of the application we should use to handle calls to the new phone number. If a voice_application_sid is present, we ignore all of the voice urls and use only those set on the application. Setting a voice_application_sid will automatically delete your trunk_sid and vice versa.

  • (defaults to: :unset)

    Whether to lookup the caller's name from the CNAM database and post it to your app. Can be: true or false and defaults to false.

  • (defaults to: :unset)

    The HTTP method that we should use to call voice_fallback_url. Can be: GET or POST and defaults to POST.

  • (defaults to: :unset)

    The URL that we should call when an error occurs retrieving or executing the TwiML requested by url.

  • (defaults to: :unset)

    The HTTP method that we should use to call voice_url. Can be: GET or POST and defaults to POST.

  • (defaults to: :unset)

    The URL that we should call to answer a call to the new phone number. The voice_url will not be called if a voice_application_sid or a trunk_sid is set.

  • (defaults to: :unset)

    The SID of the Identity resource that we should associate with the new phone number. Some regions require an identity to meet local regulations.

  • (defaults to: :unset)

    The SID of the Address resource we should associate with the new phone number. Some regions require addresses to meet local regulations.

  • (defaults to: :unset)
  • (defaults to: :unset)

    The SID of the emergency address configuration to use for emergency calling from the new phone number.

  • (defaults to: :unset)

    The SID of the Trunk we should use to handle calls to the new phone number. If a trunk_sid is present, we ignore all of the voice urls and voice applications and use only those set on the Trunk. Setting a trunk_sid will automatically delete your voice_application_sid and vice versa.

  • (defaults to: :unset)
  • (defaults to: :unset)

    The SID of the Bundle resource that you associate with the phone number. Some regions require a Bundle to meet local Regulations.

Returns:

  • Created LocalInstance



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 61

def create(
    phone_number: nil, 
    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, 
    identity_sid: :unset, 
    address_sid: :unset, 
    emergency_status: :unset, 
    emergency_address_sid: :unset, 
    trunk_sid: :unset, 
    voice_receive_mode: :unset, 
    bundle_sid: :unset
)

    data = Twilio::Values.of({
        'PhoneNumber' => phone_number,
        '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,
        'IdentitySid' => identity_sid,
        'AddressSid' => address_sid,
        'EmergencyStatus' => emergency_status,
        'EmergencyAddressSid' => emergency_address_sid,
        'TrunkSid' => trunk_sid,
        'VoiceReceiveMode' => voice_receive_mode,
        'BundleSid' => bundle_sid,
    })

    payload = @version.create('POST', @uri, data: data)
    LocalInstance.new(
        @version,
        payload,
        account_sid: @solution[:account_sid],
    )
end

#eachObject

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



180
181
182
183
184
185
186
187
188
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 180

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 LocalInstance records from the API. Request is executed immediately.

Parameters:

  • API-generated URL for the requested results page

Returns:

  • Page of LocalInstance



227
228
229
230
231
232
233
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 227

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

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

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

Parameters:

  • (defaults to: :unset)

    Whether to include phone numbers new to the Twilio platform. Can be: true or false and the default is true.

  • (defaults to: :unset)

    A string that identifies the resources to read.

  • (defaults to: :unset)

    The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.

  • (defaults to: :unset)

    Whether to include phone numbers based on their origin. Can be: twilio or hosted. By default, phone numbers of all origin are included.

  • (defaults to: nil)

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

  • (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 of up to limit results



137
138
139
140
141
142
143
144
145
146
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 137

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

#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 LocalInstance records from the API. Request is executed immediately.

Parameters:

  • (defaults to: :unset)

    Whether to include phone numbers new to the Twilio platform. Can be: true or false and the default is true.

  • (defaults to: :unset)

    A string that identifies the resources to read.

  • (defaults to: :unset)

    The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.

  • (defaults to: :unset)

    Whether to include phone numbers based on their origin. Can be: twilio or hosted. By default, phone numbers of all origin are included.

  • (defaults to: :unset)

    PageToken provided by the API

  • (defaults to: :unset)

    Page Number, this value is simply for client state

  • (defaults to: :unset)

    Number of records to return, defaults to 50

Returns:

  • Page of LocalInstance



201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 201

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: params)

    LocalPage.new(@version, response, @solution)
end

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

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

Parameters:

  • (defaults to: :unset)

    Whether to include phone numbers new to the Twilio platform. Can be: true or false and the default is true.

  • (defaults to: :unset)

    A string that identifies the resources to read.

  • (defaults to: :unset)

    The phone numbers of the IncomingPhoneNumber resources to read. You can specify partial numbers and use '*' as a wildcard for any digit.

  • (defaults to: :unset)

    Whether to include phone numbers based on their origin. Can be: twilio or hosted. By default, phone numbers of all origin are included.

  • (defaults to: nil)

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

  • (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 that will yield up to limit results



163
164
165
166
167
168
169
170
171
172
173
174
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 163

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



238
239
240
# File 'lib/twilio-ruby/rest/api/v2010/account/incoming_phone_number/local.rb', line 238

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