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

  • account_sid (String)

    The SID of the Account that created this Service resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



434
435
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
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 434

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'] == nil ? payload['typing_indicator_timeout'] : payload['typing_indicator_timeout'].to_i,
        'consumption_report_interval' => payload['consumption_report_interval'] == nil ? payload['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'] == nil ? payload['pre_webhook_retry_count'] : payload['pre_webhook_retry_count'].to_i,
        'post_webhook_retry_count' => payload['post_webhook_retry_count'] == nil ? payload['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_sidString

Returns The SID of the [Account](www.twilio.com/docs/iam/api/account) that created the Service resource.

Returns:



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

def 
    @properties['account_sid']
end

#bindingsbindings

Access the bindings

Returns:



740
741
742
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 740

def bindings
    context.bindings
end

#channelschannels

Access the channels

Returns:



747
748
749
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 747

def channels
    context.channels
end

#consumption_report_intervalString

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

Returns:

  • (String)

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



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

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



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

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

#date_createdTime

Returns The date and time in GMT when the resource was created specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



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

def date_created
    @properties['date_created']
end

#date_updatedTime

Returns The date and time in GMT when the resource was last updated specified in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



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

def date_updated
    @properties['date_updated']
end

#default_channel_creator_role_sidString

Returns The channel role assigned to a channel creator when they join a new channel. See the [Role resource](www.twilio.com/docs/chat/rest/role-resource) for more info about roles.

Returns:



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

def default_channel_creator_role_sid
    @properties['default_channel_creator_role_sid']
end

#default_channel_role_sidString

Returns The channel role assigned to users when they are added to a channel. See the [Role resource](www.twilio.com/docs/chat/rest/role-resource) for more info about roles.

Returns:



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

def default_channel_role_sid
    @properties['default_channel_role_sid']
end

#default_service_role_sidString

Returns The service role assigned to users when they are added to the service. See the [Role resource](www.twilio.com/docs/chat/rest/role-resource) for more info about roles.

Returns:



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

def default_service_role_sid
    @properties['default_service_role_sid']
end

#deleteBoolean

Delete the ServiceInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



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

def delete

    context.delete
end

#fetchServiceInstance

Fetch the ServiceInstance

Returns:



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

def fetch

    context.fetch
end

#friendly_nameString

Returns The string that you assigned to describe the resource.

Returns:

  • (String)

    The string that you assigned to describe the resource.



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

def friendly_name
    @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



774
775
776
777
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 774

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

#limitsHash

Returns An object that describes the limits of the service instance. The ‘limits` object contains `channel_members` to describe the members/channel limit and `user_channels` to describe the channels/user limit. `channel_members` can be 1,000 or less, with a default of 250. `user_channels` can be 1,000 or less, with a default value of 100.

Returns:

  • (Hash)

    An object that describes the limits of the service instance. The ‘limits` object contains `channel_members` to describe the members/channel limit and `user_channels` to describe the channels/user limit. `channel_members` can be 1,000 or less, with a default of 250. `user_channels` can be 1,000 or less, with a default value of 100.



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

def limits
    @properties['limits']
end

Returns:



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

def links
    @properties['links']
end

#mediaHash

Returns An object that describes the properties of media that the service supports. The object contains the ‘size_limit_mb` property, which describes the size of the largest media file in MB; and the `compatibility_message` property, which contains the message text to send when a media message does not have any text.

Returns:

  • (Hash)

    An object that describes the properties of media that the service supports. The object contains the ‘size_limit_mb` property, which describes the size of the largest media file in MB; and the `compatibility_message` property, which contains the message text to send when a media message does not have any text.



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

def media
    @properties['media']
end

#notificationsHash

Returns The notification configuration for the Service instance. See [Push Notification Configuration](www.twilio.com/docs/chat/push-notification-configuration) for more info.

Returns:



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

def notifications
    @properties['notifications']
end

#post_webhook_retry_countString

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

Returns:

  • (String)

    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.



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

def post_webhook_retry_count
    @properties['post_webhook_retry_count']
end

#post_webhook_urlString

Returns The URL for post-event webhooks, which are called by using the ‘webhook_method`. See [Webhook Events](www.twilio.com/docs/chat/webhook-events) for more details.

Returns:



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

def post_webhook_url
    @properties['post_webhook_url']
end

#pre_webhook_retry_countString

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

Returns:

  • (String)

    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.



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

def pre_webhook_retry_count
    @properties['pre_webhook_retry_count']
end

#pre_webhook_urlString

Returns The URL for pre-event webhooks, which are called by using the ‘webhook_method`. See [Webhook Events](www.twilio.com/docs/chat/webhook-events) for more details.

Returns:



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

def pre_webhook_url
    @properties['pre_webhook_url']
end

#reachability_enabledBoolean

Returns Whether the [Reachability Indicator](www.twilio.com/docs/chat/reachability-indicator) is enabled for this Service instance. The default is ‘false`.

Returns:



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

def reachability_enabled
    @properties['reachability_enabled']
end

#read_status_enabledBoolean

Returns Whether the [Message Consumption Horizon](www.twilio.com/docs/chat/consumption-horizon) feature is enabled. The default is ‘true`.

Returns:



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

def read_status_enabled
    @properties['read_status_enabled']
end

#rolesroles

Access the roles

Returns:



754
755
756
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 754

def roles
    context.roles
end

#sidString

Returns The unique string that we created to identify the Service resource.

Returns:

  • (String)

    The unique string that we created to identify the Service resource.



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

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



767
768
769
770
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 767

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

#typing_indicator_timeoutString

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

Returns:

  • (String)

    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.



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

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 [Role resource](www.twilio.com/docs/chat/rest/role-resource) for more info about roles.

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

    The channel role assigned to users when they are added to a channel. See the [Role resource](www.twilio.com/docs/chat/rest/role-resource) for more info about roles.

  • 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 [Role resource](www.twilio.com/docs/chat/rest/role-resource) for more info about roles.

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

    Whether to enable the [Message Consumption Horizon](www.twilio.com/docs/chat/consumption-horizon) feature. The default is ‘true`.

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

    Whether to enable the [Reachability Indicator](www.twilio.com/docs/chat/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. 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. 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. 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. 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. 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](www.twilio.com/docs/chat/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](www.twilio.com/docs/chat/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](www.twilio.com/docs/chat/webhook-events) for more details.

  • webhook_filters (Array[String]) (defaults to: :unset)

    The list of webhook events that are enabled for this Service instance. See [Webhook Events](www.twilio.com/docs/chat/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. The default is ‘false`.

Returns:



668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 668

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

#urlString

Returns The absolute URL of the Service resource.

Returns:

  • (String)

    The absolute URL of the Service resource.



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

def url
    @properties['url']
end

#usersusers

Access the users

Returns:



761
762
763
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 761

def users
    context.users
end

#webhook_filtersArray<String>

Returns The list of webhook events that are enabled for this Service instance. See [Webhook Events](www.twilio.com/docs/chat/webhook-events) for more details.

Returns:



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

def webhook_filters
    @properties['webhook_filters']
end

#webhook_methodString

Returns 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](www.twilio.com/docs/chat/webhook-events) for more details.

Returns:

  • (String)

    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](www.twilio.com/docs/chat/webhook-events) for more details.



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

def webhook_method
    @properties['webhook_method']
end