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.


379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 379

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


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

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


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

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


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

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:


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

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


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

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


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

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


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

def default_ttl
  @properties['default_ttl']
end

#deleteBoolean

Delete the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


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

def delete
  context.delete
end

#fetchServiceInstance

Fetch the ServiceInstance

Returns:


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

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


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

def geo_match_level
  @properties['geo_match_level']
end

#inspectObject

Provide a detailed, user friendly representation


598
599
600
601
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 598

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


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

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


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

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


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

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


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

def out_of_session_callback_url
  @properties['out_of_session_callback_url']
end

#phone_numbersphone_numbers

Access the phone_numbers

Returns:


578
579
580
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 578

def phone_numbers
  context.phone_numbers
end

#sessionssessions

Access the sessions

Returns:


571
572
573
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 571

def sessions
  context.sessions
end

#short_codesshort_codes

Access the short_codes

Returns:


585
586
587
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 585

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


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

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation


591
592
593
594
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 591

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


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

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, 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) responds with valid 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 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:


555
556
557
558
559
560
561
562
563
564
565
566
# File 'lib/twilio-ruby/rest/proxy/v1/service.rb', line 555

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


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

def url
  @properties['url']
end