Class: Twilio::REST::Proxy::V1::ServiceInstance

Inherits:
InstanceResource show all
Defined in:
lib/twilio-ruby/rest/proxy/v1/service.rb

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, sid: nil) ⇒ ServiceInstance

Initialize the ServiceInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • sid (String) (defaults to: nil)

    A 34 character string that uniquely identifies this Service.



331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 331

def initialize(version, payload, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'unique_name' => payload['unique_name'],
      'account_sid' => payload['account_sid'],
      'callback_url' => payload['callback_url'],
      'default_ttl' => payload['default_ttl'].to_i,
      'number_selection_behavior' => payload['number_selection_behavior'],
      'geo_match_level' => payload['geo_match_level'],
      'intercept_callback_url' => payload['intercept_callback_url'],
      'out_of_session_callback_url' => payload['out_of_session_callback_url'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'url' => payload['url'],
      'links' => payload['links'],
  }

  # Context
  @instance_context = nil
  @params = {'sid' => sid || @properties['sid'], }
end

Instance Method Details

#account_sidString

Returns Account Sid.

Returns:

  • (String)

    Account Sid.



381
382
383
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 381

def 
  @properties['account_sid']
end

#callback_urlString

Returns URL Twilio will send callbacks to.

Returns:

  • (String)

    URL Twilio will send callbacks to



387
388
389
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 387

def callback_url
  @properties['callback_url']
end

#contextServiceContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:



360
361
362
363
364
365
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 360

def context
  unless @instance_context
    @instance_context = ServiceContext.new(@version, @params['sid'], )
  end
  @instance_context
end

#date_createdTime

Returns The date this Service was created.

Returns:

  • (Time)

    The date this Service was created



423
424
425
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 423

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date this Service was updated.

Returns:

  • (Time)

    The date this Service was updated



429
430
431
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 429

def date_updated
  @properties['date_updated']
end

#default_ttlString

Returns Default TTL for a Session, in seconds.

Returns:

  • (String)

    Default TTL for a Session, in seconds.



393
394
395
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 393

def default_ttl
  @properties['default_ttl']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



455
456
457
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 455

def delete
  context.delete
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



448
449
450
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 448

def fetch
  context.fetch
end

#geo_match_levelservice.GeoMatchLevel

Returns Whether to find proxy numbers in the same areacode.

Returns:

  • (service.GeoMatchLevel)

    Whether to find proxy numbers in the same areacode.



405
406
407
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 405

def geo_match_level
  @properties['geo_match_level']
end

#inspectObject

Provide a detailed, user friendly representation



516
517
518
519
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 516

def inspect
  values = @properties.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Proxy.V1.ServiceInstance #{values}>"
end

#intercept_callback_urlString

Returns A URL for Twilio call before each Interaction.

Returns:

  • (String)

    A URL for Twilio call before each Interaction.



411
412
413
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 411

def intercept_callback_url
  @properties['intercept_callback_url']
end

Returns Nested resource URLs.

Returns:

  • (String)

    Nested resource URLs.



441
442
443
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 441

def links
  @properties['links']
end

#number_selection_behaviorservice.NumberSelectionBehavior

Returns What behavior to use when choosing a proxy number.

Returns:

  • (service.NumberSelectionBehavior)

    What behavior to use when choosing a proxy number.



399
400
401
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 399

def number_selection_behavior
  @properties['number_selection_behavior']
end

#out_of_session_callback_urlString

Returns A URL for Twilio call when a new Interaction has no Session.

Returns:

  • (String)

    A URL for Twilio call when a new Interaction has no Session.



417
418
419
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 417

def out_of_session_callback_url
  @properties['out_of_session_callback_url']
end

#phone_numbersphone_numbers

Access the phone_numbers

Returns:



496
497
498
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 496

def phone_numbers
  context.phone_numbers
end

#sessionssessions

Access the sessions

Returns:



489
490
491
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 489

def sessions
  context.sessions
end

#short_codesshort_codes

Access the short_codes

Returns:



503
504
505
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 503

def short_codes
  context.short_codes
end

#sidString

Returns A string that uniquely identifies this Service.

Returns:

  • (String)

    A string that uniquely identifies this Service.



369
370
371
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 369

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



509
510
511
512
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 509

def to_s
  values = @params.map{|k, v| "#{k}: #{v}"}.join(" ")
  "<Twilio.Proxy.V1.ServiceInstance #{values}>"
end

#unique_nameString

Returns A human readable description of this resource.

Returns:

  • (String)

    A human readable description of this resource.



375
376
377
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 375

def unique_name
  @properties['unique_name']
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) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

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

    A human readable description of this resource, up to 64 characters.

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

    The default Time to Live for a Session, in seconds.

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

    The URL Twilio will send callbacks to.

  • geo_match_level (service.GeoMatchLevel) (defaults to: :unset)

    Whether to find proxy numbers in the same areacode.

  • number_selection_behavior (service.NumberSelectionBehavior) (defaults to: :unset)

    What behavior to use when choosing a proxy number.

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

    A URL for Twilio call before each Interaction. An error status code will prevent the interaction from continuing.

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

    A URL for Twilio call when a new Interaction has no Session.

Returns:



474
475
476
477
478
479
480
481
482
483
484
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 474

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)
  context.update(
      unique_name: unique_name,
      default_ttl: default_ttl,
      callback_url: callback_url,
      geo_match_level: geo_match_level,
      number_selection_behavior: number_selection_behavior,
      intercept_callback_url: intercept_callback_url,
      out_of_session_callback_url: out_of_session_callback_url,
  )
end

#urlString

Returns The URL of this resource.

Returns:

  • (String)

    The URL of this resource.



435
436
437
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 435

def url
  @properties['url']
end