Class: Twilio::REST::Proxy::V1::ServiceContext

Inherits:
InstanceContext show all
Defined in:
lib/twilio-ruby/rest/proxy/v1/service.rb,
lib/twilio-ruby/rest/proxy/v1/service/session.rb,
lib/twilio-ruby/rest/proxy/v1/service/short_code.rb,
lib/twilio-ruby/rest/proxy/v1/service/phone_number.rb,
lib/twilio-ruby/rest/proxy/v1/service/session/interaction.rb,
lib/twilio-ruby/rest/proxy/v1/service/session/participant.rb,
lib/twilio-ruby/rest/proxy/v1/service/session/participant/message_interaction.rb

Defined Under Namespace

Classes: PhoneNumberContext, PhoneNumberInstance, PhoneNumberList, PhoneNumberPage, SessionContext, SessionInstance, SessionList, SessionPage, ShortCodeContext, ShortCodeInstance, ShortCodeList, ShortCodePage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ ServiceContext

Initialize the ServiceContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The Twilio-provided string that uniquely identifies the Service resource to update.



182
183
184
185
186
187
188
189
190
191
192
193
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 182

def initialize(version, sid)
    super(version)

    # Path Solution
    @solution = { sid: sid,  }
    @uri = "/Services/#{@solution[:sid]}"

    # Dependents
    @sessions = nil
    @short_codes = nil
    @phone_numbers = nil
end

Instance Method Details

#deleteBoolean

Delete the ServiceInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



197
198
199
200
201
202
203
204
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 197

def delete

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    @version.delete('DELETE', @uri, headers: headers)
end

#fetchServiceInstance

Fetch the ServiceInstance

Returns:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 209

def fetch

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.fetch('GET', @uri, headers: headers)
    ServiceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end

#inspectObject

Provide a detailed, user friendly representation



339
340
341
342
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 339

def inspect
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Proxy.V1.ServiceContext #{context}>"
end

#phone_numbers(sid = :unset) ⇒ PhoneNumberList, PhoneNumberContext

Access the phone_numbers

Returns:

Raises:

  • (ArgumentError)


314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 314

def phone_numbers(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return PhoneNumberContext.new(@version, @solution[:sid],sid )
    end

    unless @phone_numbers
        @phone_numbers = PhoneNumberList.new(
            @version, service_sid: @solution[:sid], )
    end

 @phone_numbers
end

#sessions(sid = :unset) ⇒ SessionList, SessionContext

Access the sessions

Returns:

Raises:

  • (ArgumentError)


276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 276

def sessions(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return SessionContext.new(@version, @solution[:sid],sid )
    end

    unless @sessions
        @sessions = SessionList.new(
            @version, service_sid: @solution[:sid], )
    end

 @sessions
end

#short_codes(sid = :unset) ⇒ ShortCodeList, ShortCodeContext

Access the short_codes

Returns:

Raises:

  • (ArgumentError)


295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 295

def short_codes(sid=:unset)

    raise ArgumentError, 'sid cannot be nil' if sid.nil?

    if sid != :unset
        return ShortCodeContext.new(@version, @solution[:sid],sid )
    end

    unless @short_codes
        @short_codes = ShortCodeList.new(
            @version, service_sid: @solution[:sid], )
    end

 @short_codes
end

#to_sObject

Provide a user friendly representation



332
333
334
335
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 332

def to_s
    context = @solution.map{|k, v| "#{k}: #{v}"}.join(',')
    "#<Twilio.Proxy.V1.ServiceContext #{context}>"
end

#update(unique_name: :unset, 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) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

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

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

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

    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.

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

    The URL we should call when the interaction status changes.

  • geo_match_level (GeoMatchLevel) (defaults to: :unset)
  • number_selection_behavior (NumberSelectionBehavior) (defaults to: :unset)
  • intercept_callback_url (String) (defaults to: :unset)

    The URL we call on each interaction. If we receive a 403 status, we block the interaction; otherwise the interaction continues.

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

    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](www.twilio.com/en-us/serverless/functions)) responds with valid [TwiML](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](www.twilio.com/docs/proxy/out-session-callback-response-guide) for more information.

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

    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.

Returns:



236
237
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
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 236

def update(
    unique_name: :unset, 
    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
)

    data = Twilio::Values.of({
        'UniqueName' => unique_name,
        'DefaultTtl' => default_ttl,
        'CallbackUrl' => callback_url,
        'GeoMatchLevel' => geo_match_level,
        'NumberSelectionBehavior' => number_selection_behavior,
        'InterceptCallbackUrl' => intercept_callback_url,
        'OutOfSessionCallbackUrl' => out_of_session_callback_url,
        'ChatInstanceSid' => chat_instance_sid,
    })

    headers = Twilio::Values.of({'Content-Type' => 'application/x-www-form-urlencoded', })
    
    
    
    
    
    payload = @version.update('POST', @uri, data: data, headers: headers)
    ServiceInstance.new(
        @version,
        payload,
        sid: @solution[:sid],
    )
end