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.



781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 781

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:



836
837
838
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 836

def 
    @properties['account_sid']
end

#bindingsbindings

Access the bindings

Returns:



1088
1089
1090
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 1088

def bindings
    context.bindings
end

#channelschannels

Access the channels

Returns:



1095
1096
1097
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 1095

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.



896
897
898
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 896

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:



821
822
823
824
825
826
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 821

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:



848
849
850
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 848

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:



854
855
856
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 854

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:



872
873
874
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 872

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:



866
867
868
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 866

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:



860
861
862
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 860

def default_service_role_sid
    @properties['default_service_role_sid']
end

#deleteBoolean

Delete the ServiceInstance

Returns:

  • (Boolean)

    True if delete succeeds, false otherwise



969
970
971
972
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 969

def delete

    context.delete
end

#fetchServiceInstance

Fetch the ServiceInstance

Returns:



977
978
979
980
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 977

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.



842
843
844
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 842

def friendly_name
    @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



1122
1123
1124
1125
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 1122

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.



902
903
904
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 902

def limits
    @properties['limits']
end

Returns:



962
963
964
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 962

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.



950
951
952
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 950

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:



944
945
946
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 944

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.



938
939
940
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 938

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:



914
915
916
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 914

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.



932
933
934
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 932

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:



908
909
910
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 908

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:



884
885
886
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 884

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:



878
879
880
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 878

def read_status_enabled
    @properties['read_status_enabled']
end

#rolesroles

Access the roles

Returns:



1102
1103
1104
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 1102

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.



830
831
832
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 830

def sid
    @properties['sid']
end

#to_sObject

Provide a user friendly representation



1115
1116
1117
1118
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 1115

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.



890
891
892
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 890

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:



1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 1016

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.



956
957
958
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 956

def url
    @properties['url']
end

#usersusers

Access the users

Returns:



1109
1110
1111
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 1109

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:



926
927
928
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 926

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.



920
921
922
# File 'lib/twilio-ruby/rest/chat/v2/service.rb', line 920

def webhook_method
    @properties['webhook_method']
end