Class: Twilio::REST::IpMessaging::V2::ServiceContext

Inherits:
Twilio::REST::InstanceContext show all
Defined in:
lib/twilio-ruby/rest/ip_messaging/v2/service.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/role.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/user.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/binding.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/channel.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/channel/invite.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/channel/member.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/channel/message.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/channel/webhook.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_binding.rb,
lib/twilio-ruby/rest/ip_messaging/v2/service/user/user_channel.rb

Defined Under Namespace

Classes: BindingContext, BindingInstance, BindingList, BindingPage, ChannelContext, ChannelInstance, ChannelList, ChannelPage, RoleContext, RoleInstance, RoleList, RolePage, UserContext, UserInstance, UserList, UserPage

Instance Method Summary collapse

Constructor Details

#initialize(version, sid) ⇒ ServiceContext

Initialize the ServiceContext

Parameters:

  • version (Version)

    Version that contains the resource

  • sid (String)

    The sid



167
168
169
170
171
172
173
174
175
176
177
178
179
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 167

def initialize(version, sid)
  super(version)

  # Path Solution
  @solution = {sid: sid, }
  @uri = "/Services/#{@solution[:sid]}"

  # Dependents
  @channels = nil
  @roles = nil
  @users = nil
  @bindings = nil
end

Instance Method Details

#bindings(sid = :unset) ⇒ BindingList, BindingContext

Access the bindings

Returns:

Raises:

  • (ArgumentError)


373
374
375
376
377
378
379
380
381
382
383
384
385
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 373

def bindings(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return BindingContext.new(@version, @solution[:sid], sid, )
  end

  unless @bindings
    @bindings = BindingList.new(@version, service_sid: @solution[:sid], )
  end

  @bindings
end

#channels(sid = :unset) ⇒ ChannelList, ChannelContext

Access the channels

Returns:

Raises:

  • (ArgumentError)


319
320
321
322
323
324
325
326
327
328
329
330
331
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 319

def channels(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return ChannelContext.new(@version, @solution[:sid], sid, )
  end

  unless @channels
    @channels = ChannelList.new(@version, service_sid: @solution[:sid], )
  end

  @channels
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



199
200
201
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 199

def delete
  @version.delete('delete', @uri)
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



184
185
186
187
188
189
190
191
192
193
194
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 184

def fetch
  params = Twilio::Values.of({})

  payload = @version.fetch(
      'GET',
      @uri,
      params,
  )

  ServiceInstance.new(@version, payload, sid: @solution[:sid], )
end

#roles(sid = :unset) ⇒ RoleList, RoleContext

Access the roles

Returns:

Raises:

  • (ArgumentError)


337
338
339
340
341
342
343
344
345
346
347
348
349
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 337

def roles(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return RoleContext.new(@version, @solution[:sid], sid, )
  end

  unless @roles
    @roles = RoleList.new(@version, service_sid: @solution[:sid], )
  end

  @roles
end

#to_sObject

Provide a user friendly representation



389
390
391
392
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 389

def to_s
  context = @solution.map {|k, v| "#{k}: #{v}"}.join(',')
  "#<Twilio.IpMessaging.V2.ServiceContext #{context}>"
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)

    Human-readable name for this service instance

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

    The default_service_role_sid

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

    Channel role assigned on channel join (see [Roles](www.twilio.com/docs/chat/api/roles) data model for the details)

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

    Channel role assigned to creator of channel when joining for first time

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

    ‘true` if the member read status feature is enabled, `false` if not. Defaults to `true`.

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

    ‘true` if the reachability feature should be enabled. Defaults to `false`

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

    The duration in seconds indicating the timeout after “started typing” event when client should assume that user is not typing anymore even if no “ended typing” message received

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

    The consumption_report_interval

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

    The notifications.new_message.enabled

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

    The notifications.new_message.template

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

    The notifications.new_message.sound

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

    The notifications.new_message.badge_count_enabled

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

    The notifications.added_to_channel.enabled

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

    The notifications.added_to_channel.template

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

    The notifications.added_to_channel.sound

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

    The notifications.removed_from_channel.enabled

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

    The notifications.removed_from_channel.template

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

    The notifications.removed_from_channel.sound

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

    The notifications.invited_to_channel.enabled

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

    The notifications.invited_to_channel.template

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

    The notifications.invited_to_channel.sound

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

    The webhook URL for PRE-Event webhooks. See [Webhook Events](www.twilio.com/docs/chat/webhook-events) for more details.

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

    The webhook URL for POST-Event webhooks. See [Webhook Events](www.twilio.com/docs/chat/webhook-events) for more details.

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

    The webhook request format to use. Must be POST or GET. 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. The maximum allowed value is 1,000

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

    The maximum number of Channels Users can be a Member of within this Service. The maximum value allowed is 1,000

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

    The media.compatibility_message

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

    Count of times webhook will be retried in case of timeout (5 seconds) or 429/503/504 HTTP responses. Default retry count is 0 times.

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

    Count of times webhook will be retried in case of timeout (5 seconds) or 429/503/504 HTTP responses. Default retry count is 0 times.

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

    The notifications.log_enabled

Returns:



271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 271

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)
  data = Twilio::Values.of({
      'FriendlyName' => friendly_name,
      'DefaultServiceRoleSid' => default_service_role_sid,
      'DefaultChannelRoleSid' => default_channel_role_sid,
      'DefaultChannelCreatorRoleSid' => default_channel_creator_role_sid,
      'ReadStatusEnabled' => read_status_enabled,
      'ReachabilityEnabled' => reachability_enabled,
      'TypingIndicatorTimeout' => typing_indicator_timeout,
      'ConsumptionReportInterval' => consumption_report_interval,
      'Notifications.NewMessage.Enabled' => notifications_new_message_enabled,
      'Notifications.NewMessage.Template' => notifications_new_message_template,
      'Notifications.NewMessage.Sound' => notifications_new_message_sound,
      'Notifications.NewMessage.BadgeCountEnabled' => notifications_new_message_badge_count_enabled,
      'Notifications.AddedToChannel.Enabled' => notifications_added_to_channel_enabled,
      'Notifications.AddedToChannel.Template' => notifications_added_to_channel_template,
      'Notifications.AddedToChannel.Sound' => notifications_added_to_channel_sound,
      'Notifications.RemovedFromChannel.Enabled' => notifications_removed_from_channel_enabled,
      'Notifications.RemovedFromChannel.Template' => notifications_removed_from_channel_template,
      'Notifications.RemovedFromChannel.Sound' => notifications_removed_from_channel_sound,
      'Notifications.InvitedToChannel.Enabled' => notifications_invited_to_channel_enabled,
      'Notifications.InvitedToChannel.Template' => notifications_invited_to_channel_template,
      'Notifications.InvitedToChannel.Sound' => notifications_invited_to_channel_sound,
      'PreWebhookUrl' => pre_webhook_url,
      'PostWebhookUrl' => post_webhook_url,
      'WebhookMethod' => webhook_method,
      'WebhookFilters' => Twilio.serialize_list(webhook_filters) { |e| e },
      'Limits.ChannelMembers' => limits_channel_members,
      'Limits.UserChannels' => limits_user_channels,
      'Media.CompatibilityMessage' => media_compatibility_message,
      'PreWebhookRetryCount' => pre_webhook_retry_count,
      'PostWebhookRetryCount' => post_webhook_retry_count,
      'Notifications.LogEnabled' => notifications_log_enabled,
  })

  payload = @version.update(
      'POST',
      @uri,
      data: data,
  )

  ServiceInstance.new(@version, payload, sid: @solution[:sid], )
end

#users(sid = :unset) ⇒ UserList, UserContext

Access the users

Returns:

Raises:

  • (ArgumentError)


355
356
357
358
359
360
361
362
363
364
365
366
367
# File 'lib/twilio-ruby/rest/ip_messaging/v2/service.rb', line 355

def users(sid=:unset)
  raise ArgumentError, 'sid cannot be nil' if sid.nil?

  if sid != :unset
    return UserContext.new(@version, @solution[:sid], sid, )
  end

  unless @users
    @users = UserList.new(@version, service_sid: @solution[:sid], )
  end

  @users
end