class Twilio::REST::Proxy::V1::ServiceList
PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.
Public Class Methods
Initialize the ServiceList
@param [Version] version Version
that contains the resource @return [ServiceList] ServiceList
Twilio::REST::ListResource::new
# File lib/twilio-ruby/rest/proxy/v1/service.rb 20 def initialize(version) 21 super(version) 22 23 # Path Solution 24 @solution = {} 25 @uri = "/Services" 26 end
Public Instance Methods
Create the ServiceInstance
@param [String] unique_name An application-defined string that uniquely
identifies the resource. This value must be 191 characters or fewer in length and be unique. **This value should not have PII.**
@param [String] default_ttl The default `ttl` value to set for Sessions created
in the Service. The TTL (time to live) is measured in seconds after the Session's last create or last Interaction. The default value of `0` indicates an unlimited Session length. You can override a Session's default TTL value by setting its `ttl` value.
@param [String] callback_url The URL we should call when the interaction status
changes.
@param [service.GeoMatchLevel] geo_match_level Where a proxy number must be
located relative to the participant identifier. Can be: `country`, `area-code`, or `extended-area-code`. The default value is `country` and more specific areas than `country` are only available in North America.
@param [service.NumberSelectionBehavior] number_selection_behavior The
preference for Proxy Number selection in the Service instance. Can be: `prefer-sticky` or `avoid-sticky` and the default is `prefer-sticky`. `prefer-sticky` means that we will try and select the same Proxy Number for a given participant if they have previous {Sessions}[https://www.twilio.com/docs/proxy/api/session], but we will not fail if that Proxy Number cannot be used. `avoid-sticky` means that we will try to use different Proxy Numbers as long as that is possible within a given pool rather than try and use a previously assigned number.
@param [String] intercept_callback_url The URL we call on each interaction. If
we receive a 403 status, we block the interaction; otherwise the interaction continues.
@param [String] out_of_session_callback_url The URL we should call when an
inbound call or SMS action occurs on a closed or non-existent Session. If your server (or a Twilio {function}[https://www.twilio.com/functions]) responds with valid {TwiML}[https://www.twilio.com/docs/voice/twiml], we will process it. This means it is possible, for example, to play a message for a call, send an automated text message response, or redirect a call to another Phone Number. See {Out-of-Session Callback Response Guide}[https://www.twilio.com/docs/proxy/out-session-callback-response-guide] for more information.
@param [String] chat_instance_sid The SID of the Chat
Service Instance managed
by Proxy Service. The Chat Service enables Proxy to forward SMS and channel messages to this chat instance. This is a one-to-one relationship.
@return [ServiceInstance] Created ServiceInstance
# File lib/twilio-ruby/rest/proxy/v1/service.rb 149 def create(unique_name: nil, default_ttl: :unset, callback_url: :unset, geo_match_level: :unset, number_selection_behavior: :unset, intercept_callback_url: :unset, out_of_session_callback_url: :unset, chat_instance_sid: :unset) 150 data = Twilio::Values.of({ 151 'UniqueName' => unique_name, 152 'DefaultTtl' => default_ttl, 153 'CallbackUrl' => callback_url, 154 'GeoMatchLevel' => geo_match_level, 155 'NumberSelectionBehavior' => number_selection_behavior, 156 'InterceptCallbackUrl' => intercept_callback_url, 157 'OutOfSessionCallbackUrl' => out_of_session_callback_url, 158 'ChatInstanceSid' => chat_instance_sid, 159 }) 160 161 payload = @version.create('POST', @uri, data: data) 162 163 ServiceInstance.new(@version, payload, ) 164 end
When passed a block, yields ServiceInstance
records from the API. This operation lazily loads records as efficiently as possible until the limit is reached.
# File lib/twilio-ruby/rest/proxy/v1/service.rb 66 def each 67 limits = @version.read_limits 68 69 page = self.page(page_size: limits[:page_size], ) 70 71 @version.stream(page, 72 limit: limits[:limit], 73 page_limit: limits[:page_limit]).each {|x| yield x} 74 end
Retrieve a single page of ServiceInstance
records from the API. Request
is executed immediately. @param [String] target_url API-generated URL for the requested results page @return [Page] Page
of ServiceInstance
# File lib/twilio-ruby/rest/proxy/v1/service.rb 100 def get_page(target_url) 101 response = @version.domain.request( 102 'GET', 103 target_url 104 ) 105 ServicePage.new(@version, response, @solution) 106 end
Lists ServiceInstance
records from the API as a list. Unlike stream(), this operation is eager and will load `limit` records into memory before returning. @param [Integer] limit Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit
@param [Integer] page_size 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)
@return [Array] Array of up to limit results
# File lib/twilio-ruby/rest/proxy/v1/service.rb 39 def list(limit: nil, page_size: nil) 40 self.stream(limit: limit, page_size: page_size).entries 41 end
Retrieve a single page of ServiceInstance
records from the API. Request
is executed immediately. @param [String] page_token PageToken provided by the API @param [Integer] page_number Page
Number, this value is simply for client state @param [Integer] page_size Number of records to return, defaults to 50 @return [Page] Page
of ServiceInstance
# File lib/twilio-ruby/rest/proxy/v1/service.rb 83 def page(page_token: :unset, page_number: :unset, page_size: :unset) 84 params = Twilio::Values.of({ 85 'PageToken' => page_token, 86 'Page' => page_number, 87 'PageSize' => page_size, 88 }) 89 90 response = @version.page('GET', @uri, params: params) 91 92 ServicePage.new(@version, response, @solution) 93 end
Streams ServiceInstance
records from the API as an Enumerable. This operation lazily loads records as efficiently as possible until the limit is reached. @param [Integer] limit Upper limit for the number of records to return. stream()
guarantees to never return more than limit. Default is no limit.
@param [Integer] page_size 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)
@return [Enumerable] Enumerable that will yield up to limit results
# File lib/twilio-ruby/rest/proxy/v1/service.rb 54 def stream(limit: nil, page_size: nil) 55 limits = @version.read_limits(limit, page_size) 56 57 page = self.page(page_size: limits[:page_size], ) 58 59 @version.stream(page, limit: limits[:limit], page_limit: limits[:page_limit]) 60 end
Provide a user friendly representation
# File lib/twilio-ruby/rest/proxy/v1/service.rb 168 def to_s 169 '#<Twilio.Proxy.V1.ServiceList>' 170 end