Class: Twilio::REST::IpMessaging::V2::ServiceInstance

Inherits:
Twilio::REST::InstanceResource show all
Defined in:
lib/twilio-ruby/rest/ip_messaging/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 SID of the Service resource to fetch.



431
432
433
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
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 431

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_sidString

Returns The SID of the Account that created the resource.

Returns:

  • (String)

    The SID of the Account that created the resource



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

def 
  @properties['account_sid']
end

#bindingsbindings

Access the bindings

Returns:



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

def bindings
  context.bindings
end

#channelschannels

Access the channels

Returns:



757
758
759
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 757

def channels
  context.channels
end

#consumption_report_intervalString

Returns DEPRECATED.

Returns:

  • (String)

    DEPRECATED



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

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:



470
471
472
473
474
475
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 470

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

#date_createdTime

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



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

def date_created
  @properties['date_created']
end

#date_updatedTime

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



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

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.

Returns:

  • (String)

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



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

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.

Returns:

  • (String)

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



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

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.

Returns:

  • (String)

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



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

def default_service_role_sid
  @properties['default_service_role_sid']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



625
626
627
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 625

def delete
  context.delete
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



618
619
620
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 618

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



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

def friendly_name
  @properties['friendly_name']
end

#inspectObject

Provide a detailed, user friendly representation



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

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

#limitsHash

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

Returns:

  • (Hash)

    An object that describes the limits of the service instance



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

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



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

def links
  @properties['links']
end

#mediaHash

Returns The properties of the media that the service supports.

Returns:

  • (Hash)

    The properties of the media that the service supports



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

def media
  @properties['media']
end

#notificationsHash

Returns The notification configuration for the Service instance.

Returns:

  • (Hash)

    The notification configuration for the Service instance



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

def notifications
  @properties['notifications']
end

#post_webhook_retry_countString

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



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

def post_webhook_retry_count
  @properties['post_webhook_retry_count']
end

#post_webhook_urlString

Returns The URL for post-event webhooks.

Returns:

  • (String)

    The URL for post-event webhooks



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

def post_webhook_url
  @properties['post_webhook_url']
end

#pre_webhook_retry_countString

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



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

def pre_webhook_retry_count
  @properties['pre_webhook_retry_count']
end

#pre_webhook_urlString

Returns The webhook URL for pre-event webhooks.

Returns:

  • (String)

    The webhook URL for pre-event webhooks



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

def pre_webhook_url
  @properties['pre_webhook_url']
end

#reachability_enabledBoolean

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



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

def reachability_enabled
  @properties['reachability_enabled']
end

#read_status_enabledBoolean

Returns Whether the Message Consumption Horizon feature is enabled.

Returns:

  • (Boolean)

    Whether the Message Consumption Horizon feature is enabled



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

def read_status_enabled
  @properties['read_status_enabled']
end

#rolesroles

Access the roles

Returns:



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

def roles
  context.roles
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource



479
480
481
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 479

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



784
785
786
787
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 784

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

#typing_indicator_timeoutString

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



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

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/api/roles) 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/api/roles) 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/api/roles) 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 (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:



718
719
720
721
722
723
724
725
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
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 718

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



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

def url
  @properties['url']
end

#usersusers

Access the users

Returns:



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

def users
  context.users
end

#webhook_filtersString

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



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

def webhook_filters
  @properties['webhook_filters']
end

#webhook_methodString

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



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

def webhook_method
  @properties['webhook_method']
end