Class: Twilio::REST::Chat::V2::ServiceInstance

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

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.



436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 436

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

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'friendly_name' => payload['friendly_name'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
      'default_service_role_sid' => payload['default_service_role_sid'],
      'default_channel_role_sid' => payload['default_channel_role_sid'],
      'default_channel_creator_role_sid' => payload['default_channel_creator_role_sid'],
      'read_status_enabled' => payload['read_status_enabled'],
      'reachability_enabled' => payload['reachability_enabled'],
      'typing_indicator_timeout' => payload['typing_indicator_timeout'].to_i,
      'consumption_report_interval' => payload['consumption_report_interval'].to_i,
      'limits' => payload['limits'],
      'pre_webhook_url' => payload['pre_webhook_url'],
      'post_webhook_url' => payload['post_webhook_url'],
      'webhook_method' => payload['webhook_method'],
      'webhook_filters' => payload['webhook_filters'],
      'pre_webhook_retry_count' => payload['pre_webhook_retry_count'].to_i,
      'post_webhook_retry_count' => payload['post_webhook_retry_count'].to_i,
      'notifications' => payload['notifications'],
      'media' => payload['media'],
      'url' => payload['url'],
      'links' => payload['links'],
  }

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

Instance Method Details

#account_sid ⇒ String

Returns The SID of the Account that created the resource.

Returns:

  • (String) —

    The SID of the Account that created the resource



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

def 
  @properties['account_sid']
end

#bindings ⇒ bindings

Access the bindings

Returns:



786
787
788
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 786

def bindings
  context.bindings
end

#channels ⇒ channels

Access the channels

Returns:



765
766
767
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 765

def channels
  context.channels
end

#consumption_report_interval ⇒ String

Returns DEPRECATED.

Returns:

  • (String) —

    DEPRECATED



550
551
552
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 550

def consumption_report_interval
  @properties['consumption_report_interval']
end

#context ⇒ ServiceContext

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

Returns:



475
476
477
478
479
480
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 475

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

#date_created ⇒ Time

Returns The RFC 2822 date and time in GMT when the resource was created.

Returns:

  • (Time) —

    The RFC 2822 date and time in GMT when the resource was created



502
503
504
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 502

def date_created
  @properties['date_created']
end

#date_updated ⇒ Time

Returns The RFC 2822 date and time in GMT when the resource was last updated.

Returns:

  • (Time) —

    The RFC 2822 date and time in GMT when the resource was last updated



508
509
510
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 508

def date_updated
  @properties['date_updated']
end

#default_channel_creator_role_sid ⇒ String

Returns The channel role assigned to a channel creator when they join a new channel.

Returns:

  • (String) —

    The channel role assigned to a channel creator when they join a new channel



526
527
528
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 526

def default_channel_creator_role_sid
  @properties['default_channel_creator_role_sid']
end

#default_channel_role_sid ⇒ String

Returns The channel role assigned to users when they are added to a channel.

Returns:

  • (String) —

    The channel role assigned to users when they are added to a channel



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

def default_channel_role_sid
  @properties['default_channel_role_sid']
end

#default_service_role_sid ⇒ String

Returns The service role assigned to users when they are added to the service.

Returns:

  • (String) —

    The service role assigned to users when they are added to the service



514
515
516
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 514

def default_service_role_sid
  @properties['default_service_role_sid']
end

#delete ⇒ Boolean

Deletes the ServiceInstance

Returns:

  • (Boolean) —

    true if delete succeeds, true otherwise



630
631
632
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 630

def delete
  context.delete
end

#fetch ⇒ ServiceInstance

Fetch a ServiceInstance

Returns:



623
624
625
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 623

def fetch
  context.fetch
end

#friendly_name ⇒ String

Returns The string that you assigned to describe the resource.

Returns:

  • (String) —

    The string that you assigned to describe the resource



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

def friendly_name
  @properties['friendly_name']
end

#inspect ⇒ Object

Provide a detailed, user friendly representation



799
800
801
802
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 799

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

#limits ⇒ Hash

Returns An object that describes the limits of the service instance.

Returns:

  • (Hash) —

    An object that describes the limits of the service instance



556
557
558
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 556

def limits
  @properties['limits']
end

Returns The absolute URLs of the Service's Channels, Roles, and Users.

Returns:

  • (String) —

    The absolute URLs of the Service's Channels, Roles, and Users



616
617
618
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 616

def links
  @properties['links']
end

#media ⇒ Hash

Returns The properties of the media that the service supports.

Returns:

  • (Hash) —

    The properties of the media that the service supports



604
605
606
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 604

def media
  @properties['media']
end

#notifications ⇒ Hash

Returns The notification configuration for the Service instance.

Returns:

  • (Hash) —

    The notification configuration for the Service instance



598
599
600
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 598

def notifications
  @properties['notifications']
end

#post_webhook_retry_count ⇒ String

Returns The number of times calls to the post_webhook_url will be retried.

Returns:

  • (String) —

    The number of times calls to the post_webhook_url will be retried



592
593
594
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 592

def post_webhook_retry_count
  @properties['post_webhook_retry_count']
end

#post_webhook_url ⇒ String

Returns The URL for post-event webhooks.

Returns:

  • (String) —

    The URL for post-event webhooks



568
569
570
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 568

def post_webhook_url
  @properties['post_webhook_url']
end

#pre_webhook_retry_count ⇒ String

Returns Count of times webhook will be retried in case of timeout or 429/503/504 HTTP responses.

Returns:

  • (String) —

    Count of times webhook will be retried in case of timeout or 429/503/504 HTTP responses



586
587
588
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 586

def pre_webhook_retry_count
  @properties['pre_webhook_retry_count']
end

#pre_webhook_url ⇒ String

Returns The webhook URL for pre-event webhooks.

Returns:

  • (String) —

    The webhook URL for pre-event webhooks



562
563
564
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 562

def pre_webhook_url
  @properties['pre_webhook_url']
end

#reachability_enabled ⇒ Boolean

Returns Whether the Reachability Indicator feature is enabled for this Service instance.

Returns:

  • (Boolean) —

    Whether the Reachability Indicator feature is enabled for this Service instance



538
539
540
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 538

def reachability_enabled
  @properties['reachability_enabled']
end

#read_status_enabled ⇒ Boolean

Returns Whether the Message Consumption Horizon feature is enabled.

Returns:

  • (Boolean) —

    Whether the Message Consumption Horizon feature is enabled



532
533
534
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 532

def read_status_enabled
  @properties['read_status_enabled']
end

#roles ⇒ roles

Access the roles

Returns:



772
773
774
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 772

def roles
  context.roles
end

#sid ⇒ String

Returns The unique string that identifies the resource.

Returns:

  • (String) —

    The unique string that identifies the resource



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

def sid
  @properties['sid']
end

#to_s ⇒ Object

Provide a user friendly representation



792
793
794
795
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 792

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

#typing_indicator_timeout ⇒ String

Returns How long in seconds to wait before assuming the user is no longer typing.

Returns:

  • (String) —

    How long in seconds to wait before assuming the user is no longer typing



544
545
546
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 544

def typing_indicator_timeout
  @properties['typing_indicator_timeout']
end

#update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset, pre_webhook_retry_count: :unset, post_webhook_retry_count: :unset, notifications_log_enabled: :unset) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

  • friendly_name (String) (defaults to: :unset) —

    A descriptive string that you create to describe the resource.

  • default_service_role_sid (String) (defaults to: :unset) —

    The service role assigned to users when they are added to the service. See the Roles endpoint for more details.

  • default_channel_role_sid (String) (defaults to: :unset) —

    The channel role assigned to users when they are added to a channel. See the Roles endpoint for more details.

  • default_channel_creator_role_sid (String) (defaults to: :unset) —

    The channel role assigned to a channel creator when they join a new channel. See the Roles endpoint for more details.

  • read_status_enabled (Boolean) (defaults to: :unset) —

    Whether to enable the Message Consumption Horizon feature. The default is true.

  • reachability_enabled (Boolean) (defaults to: :unset) —

    Whether to enable the Reachability Indicator for this Service instance. The default is false.

  • typing_indicator_timeout (String) (defaults to: :unset) —

    How long in seconds after a started typing event until clients should assume that user is no longer typing, even if no ended typing message was received. The default is 5 seconds.

  • consumption_report_interval (String) (defaults to: :unset) —

    DEPRECATED. The interval in seconds between consumption reports submission batches from client endpoints.

  • notifications_new_message_enabled (Boolean) (defaults to: :unset) —

    Whether to send a notification when a new message is added to a channel. Can be: true or false and the default is false.

  • notifications_new_message_template (String) (defaults to: :unset) —

    The template to use to create the notification text displayed when a new message is added to a channel and notifications.new_message.enabled is true.

  • notifications_new_message_sound (String) (defaults to: :unset) —

    The name of the sound to play when a new message is added to a channel and notifications.new_message.enabled is true.

  • notifications_new_message_badge_count_enabled (Boolean) (defaults to: :unset) —

    Whether the new message badge is enabled. Can be: true or false and the default is false.

  • notifications_added_to_channel_enabled (Boolean) (defaults to: :unset) —

    Whether to send a notification when a member is added to a channel. Can be: true or false and the default is false.

  • notifications_added_to_channel_template (String) (defaults to: :unset) —

    The template to use to create the notification text displayed when a member is added to a channel and notifications.added_to_channel.enabled is true.

  • notifications_added_to_channel_sound (String) (defaults to: :unset) —

    The name of the sound to play when a member is added to a channel and notifications.added_to_channel.enabled is true.

  • notifications_removed_from_channel_enabled (Boolean) (defaults to: :unset) —

    Whether to send a notification to a user when they are removed from a channel. Can be: true or false and the default is false.

  • notifications_removed_from_channel_template (String) (defaults to: :unset) —

    The template to use to create the notification text displayed to a user when they are removed from a channel and notifications.removed_from_channel.enabled is true.

  • notifications_removed_from_channel_sound (String) (defaults to: :unset) —

    The name of the sound to play to a user when they are removed from a channel and notifications.removed_from_channel.enabled is true.

  • notifications_invited_to_channel_enabled (Boolean) (defaults to: :unset) —

    Whether to send a notification when a user is invited to a channel. Can be: true or false and the default is false.

  • notifications_invited_to_channel_template (String) (defaults to: :unset) —

    The template to use to create the notification text displayed when a user is invited to a channel and notifications.invited_to_channel.enabled is true.

  • notifications_invited_to_channel_sound (String) (defaults to: :unset) —

    The name of the sound to play when a user is invited to a channel and notifications.invited_to_channel.enabled is true.

  • pre_webhook_url (String) (defaults to: :unset) —

    The URL for pre-event webhooks, which are called by using the webhook_method. See Webhook Events for more details.

  • post_webhook_url (String) (defaults to: :unset) —

    The URL for post-event webhooks, which are called by using the webhook_method. See Webhook Events for more details.

  • webhook_method (String) (defaults to: :unset) —

    The HTTP method to use for calls to the pre_webhook_url and post_webhook_url webhooks. Can be: POST or GET and the default is POST. See Webhook Events for more details.

  • webhook_filters (String) (defaults to: :unset) —

    The list of WebHook events that are enabled for this Service instance. See Webhook Events for more details.

  • limits_channel_members (String) (defaults to: :unset) —

    The maximum number of Members that can be added to Channels within this Service. Can be up to 1,000.

  • limits_user_channels (String) (defaults to: :unset) —

    The maximum number of Channels Users can be a Member of within this Service. Can be up to 1,000.

  • media_compatibility_message (String) (defaults to: :unset) —

    The message to send when a media message has no text. Can be used as placeholder message.

  • pre_webhook_retry_count (String) (defaults to: :unset) —

    The number of times to retry a call to the pre_webhook_url if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. Default retry count is 0 times, which means the call won't be retried.

  • post_webhook_retry_count (String) (defaults to: :unset) —

    The number of times to retry a call to the post_webhook_url if the request times out (after 5 seconds) or it receives a 429, 503, or 504 HTTP response. The default is 0, which means the call won't be retried.

  • notifications_log_enabled (Boolean) (defaults to: :unset) —

    Whether to log notifications. Can be: true or false and the default is false.

Returns:



726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 726

def update(friendly_name: :unset, default_service_role_sid: :unset, default_channel_role_sid: :unset, default_channel_creator_role_sid: :unset, read_status_enabled: :unset, reachability_enabled: :unset, typing_indicator_timeout: :unset, consumption_report_interval: :unset, notifications_new_message_enabled: :unset, notifications_new_message_template: :unset, notifications_new_message_sound: :unset, notifications_new_message_badge_count_enabled: :unset, notifications_added_to_channel_enabled: :unset, notifications_added_to_channel_template: :unset, notifications_added_to_channel_sound: :unset, notifications_removed_from_channel_enabled: :unset, notifications_removed_from_channel_template: :unset, notifications_removed_from_channel_sound: :unset, notifications_invited_to_channel_enabled: :unset, notifications_invited_to_channel_template: :unset, notifications_invited_to_channel_sound: :unset, pre_webhook_url: :unset, post_webhook_url: :unset, webhook_method: :unset, webhook_filters: :unset, limits_channel_members: :unset, limits_user_channels: :unset, media_compatibility_message: :unset, pre_webhook_retry_count: :unset, post_webhook_retry_count: :unset, notifications_log_enabled: :unset)
  context.update(
      friendly_name: friendly_name,
      default_service_role_sid: default_service_role_sid,
      default_channel_role_sid: default_channel_role_sid,
      default_channel_creator_role_sid: default_channel_creator_role_sid,
      read_status_enabled: read_status_enabled,
      reachability_enabled: reachability_enabled,
      typing_indicator_timeout: typing_indicator_timeout,
      consumption_report_interval: consumption_report_interval,
      notifications_new_message_enabled: notifications_new_message_enabled,
      notifications_new_message_template: notifications_new_message_template,
      notifications_new_message_sound: notifications_new_message_sound,
      notifications_new_message_badge_count_enabled: notifications_new_message_badge_count_enabled,
      notifications_added_to_channel_enabled: notifications_added_to_channel_enabled,
      notifications_added_to_channel_template: notifications_added_to_channel_template,
      notifications_added_to_channel_sound: notifications_added_to_channel_sound,
      notifications_removed_from_channel_enabled: notifications_removed_from_channel_enabled,
      notifications_removed_from_channel_template: notifications_removed_from_channel_template,
      notifications_removed_from_channel_sound: notifications_removed_from_channel_sound,
      notifications_invited_to_channel_enabled: notifications_invited_to_channel_enabled,
      notifications_invited_to_channel_template: notifications_invited_to_channel_template,
      notifications_invited_to_channel_sound: notifications_invited_to_channel_sound,
      pre_webhook_url: pre_webhook_url,
      post_webhook_url: post_webhook_url,
      webhook_method: webhook_method,
      webhook_filters: webhook_filters,
      limits_channel_members: limits_channel_members,
      limits_user_channels: limits_user_channels,
      media_compatibility_message: media_compatibility_message,
      pre_webhook_retry_count: pre_webhook_retry_count,
      post_webhook_retry_count: post_webhook_retry_count,
      notifications_log_enabled: notifications_log_enabled,
  )
end

#url ⇒ String

Returns The absolute URL of the Service resource.

Returns:

  • (String) —

    The absolute URL of the Service resource



610
611
612
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 610

def url
  @properties['url']
end

#users ⇒ users

Access the users

Returns:



779
780
781
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 779

def users
  context.users
end

#webhook_filters ⇒ String

Returns The list of WebHook events that are enabled for this Service instance.

Returns:

  • (String) —

    The list of WebHook events that are enabled for this Service instance



580
581
582
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 580

def webhook_filters
  @properties['webhook_filters']
end

#webhook_method ⇒ String

Returns The HTTP method to use for both PRE and POST webhooks.

Returns:

  • (String) —

    The HTTP method to use for both PRE and POST webhooks



574
575
576
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 574

def webhook_method
  @properties['webhook_method']
end