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)

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



396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 396

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

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'unique_name' => payload['unique_name'],
      'account_sid' => payload['account_sid'],
      'chat_instance_sid' => payload['chat_instance_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 The SID of the Account that created the resource.

Returns:

  • (String)

    The SID of the Account that created the resource



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

def 
  @properties['account_sid']
end

#callback_urlString

Returns The URL we call when the interaction status changes.

Returns:

  • (String)

    The URL we call when the interaction status changes



459
460
461
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 459

def callback_url
  @properties['callback_url']
end

#chat_instance_sidString

Returns The SID of the Chat Service Instance.

Returns:

  • (String)

    The SID of the Chat Service Instance



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

def chat_instance_sid
  @properties['chat_instance_sid']
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:



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

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

#date_createdTime

Returns The ISO 8601 date and time in GMT when the resource was created.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was created



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

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The ISO 8601 date and time in GMT when the resource was last updated.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was last updated



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

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



465
466
467
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 465

def default_ttl
  @properties['default_ttl']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



527
528
529
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 527

def delete
  context.delete
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



520
521
522
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 520

def fetch
  context.fetch
end

#geo_match_levelservice.GeoMatchLevel

Returns Where a proxy number must be located relative to the participant identifier.

Returns:

  • (service.GeoMatchLevel)

    Where a proxy number must be located relative to the participant identifier



477
478
479
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 477

def geo_match_level
  @properties['geo_match_level']
end

#inspectObject

Provide a detailed, user friendly representation



615
616
617
618
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 615

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

#intercept_callback_urlString

Returns The URL we call on each interaction.

Returns:

  • (String)

    The URL we call on each interaction



483
484
485
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 483

def intercept_callback_url
  @properties['intercept_callback_url']
end

Returns The URLs of resources related to the Service.

Returns:

  • (String)

    The URLs of resources related to the Service



513
514
515
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 513

def links
  @properties['links']
end

#number_selection_behaviorservice.NumberSelectionBehavior

Returns The preference for Proxy Number selection for the Service instance.

Returns:

  • (service.NumberSelectionBehavior)

    The preference for Proxy Number selection for the Service instance



471
472
473
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 471

def number_selection_behavior
  @properties['number_selection_behavior']
end

#out_of_session_callback_urlString

Returns The URL we call when an inbound call or SMS action occurs on a closed or non-existent Session.

Returns:

  • (String)

    The URL we call when an inbound call or SMS action occurs on a closed or non-existent Session



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

def out_of_session_callback_url
  @properties['out_of_session_callback_url']
end

#phone_numbersphone_numbers

Access the phone_numbers

Returns:



595
596
597
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 595

def phone_numbers
  context.phone_numbers
end

#sessionssessions

Access the sessions

Returns:



588
589
590
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 588

def sessions
  context.sessions
end

#short_codesshort_codes

Access the short_codes

Returns:



602
603
604
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 602

def short_codes
  context.short_codes
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource



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

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



608
609
610
611
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 608

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

#unique_nameString

Returns An application-defined string that uniquely identifies the resource.

Returns:

  • (String)

    An application-defined string that uniquely identifies the resource



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

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, 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 (service.GeoMatchLevel) (defaults to: :unset)

    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.

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

    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](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.

  • 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/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:



572
573
574
575
576
577
578
579
580
581
582
583
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 572

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)
  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,
      chat_instance_sid: chat_instance_sid,
  )
end

#urlString

Returns The absolute URL of the Service resource.

Returns:

  • (String)

    The absolute URL of the Service resource



507
508
509
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 507

def url
  @properties['url']
end