Class: Twilio::REST::Notify::V1::ServiceInstance

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

Overview

PLEASE NOTE that this class contains beta products that are subject to change. Use them with caution.

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



357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 357

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']),
      'apn_credential_sid' => payload['apn_credential_sid'],
      'gcm_credential_sid' => payload['gcm_credential_sid'],
      'fcm_credential_sid' => payload['fcm_credential_sid'],
      'messaging_service_sid' => payload['messaging_service_sid'],
      'facebook_messenger_page_id' => payload['facebook_messenger_page_id'],
      'default_apn_notification_protocol_version' => payload['default_apn_notification_protocol_version'],
      'default_gcm_notification_protocol_version' => payload['default_gcm_notification_protocol_version'],
      'default_fcm_notification_protocol_version' => payload['default_fcm_notification_protocol_version'],
      'log_enabled' => payload['log_enabled'],
      'url' => payload['url'],
      'links' => payload['links'],
      'alexa_skill_id' => payload['alexa_skill_id'],
      'default_alexa_notification_protocol_version' => payload['default_alexa_notification_protocol_version'],
  }

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

Instance Method Details

#account_sidString

Returns The account_sid.

Returns:

  • (String)

    The account_sid



406
407
408
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 406

def 
  @properties['account_sid']
end

#alexa_skill_idString

Returns The alexa_skill_id.

Returns:

  • (String)

    The alexa_skill_id



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

def alexa_skill_id
  @properties['alexa_skill_id']
end

#apn_credential_sidString

Returns The SID of the Credential to be used for APN Bindings.

Returns:

  • (String)

    The SID of the Credential to be used for APN Bindings.



430
431
432
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 430

def apn_credential_sid
  @properties['apn_credential_sid']
end

#bindingsbindings

Access the bindings

Returns:



570
571
572
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 570

def bindings
  context.bindings
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:



391
392
393
394
395
396
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 391

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

#date_createdTime

Returns The date_created.

Returns:

  • (Time)

    The date_created



418
419
420
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 418

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The date_updated.

Returns:

  • (Time)

    The date_updated



424
425
426
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 424

def date_updated
  @properties['date_updated']
end

#default_alexa_notification_protocol_versionString

Returns The default_alexa_notification_protocol_version.

Returns:

  • (String)

    The default_alexa_notification_protocol_version



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

def default_alexa_notification_protocol_version
  @properties['default_alexa_notification_protocol_version']
end

#default_apn_notification_protocol_versionString

Returns The version of the protocol to be used for sending APNS notifications.

Returns:

  • (String)

    The version of the protocol to be used for sending APNS notifications.



460
461
462
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 460

def default_apn_notification_protocol_version
  @properties['default_apn_notification_protocol_version']
end

#default_fcm_notification_protocol_versionString

Returns The version of the protocol to be used for sending FCM notifications.

Returns:

  • (String)

    The version of the protocol to be used for sending FCM notifications.



472
473
474
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 472

def default_fcm_notification_protocol_version
  @properties['default_fcm_notification_protocol_version']
end

#default_gcm_notification_protocol_versionString

Returns The version of the protocol to be used for sending GCM notifications.

Returns:

  • (String)

    The version of the protocol to be used for sending GCM notifications.



466
467
468
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 466

def default_gcm_notification_protocol_version
  @properties['default_gcm_notification_protocol_version']
end

#deleteBoolean

Deletes the ServiceInstance

Returns:

  • (Boolean)

    true if delete succeeds, true otherwise



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

def delete
  context.delete
end

#facebook_messenger_page_idString

Returns The Page ID to be used to send for Facebook Messenger Bindings.

Returns:

  • (String)

    The Page ID to be used to send for Facebook Messenger Bindings.



454
455
456
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 454

def facebook_messenger_page_id
  @properties['facebook_messenger_page_id']
end

#fcm_credential_sidString

Returns The SID of the Credential to be used for FCM Bindings.

Returns:

  • (String)

    The SID of the Credential to be used for FCM Bindings.



442
443
444
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 442

def fcm_credential_sid
  @properties['fcm_credential_sid']
end

#fetchServiceInstance

Fetch a ServiceInstance

Returns:



516
517
518
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 516

def fetch
  context.fetch
end

#friendly_nameString

Returns Human-readable name for this service instance.

Returns:

  • (String)

    Human-readable name for this service instance



412
413
414
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 412

def friendly_name
  @properties['friendly_name']
end

#gcm_credential_sidString

Returns The SID of the Credential to be used for GCM Bindings.

Returns:

  • (String)

    The SID of the Credential to be used for GCM Bindings.



436
437
438
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 436

def gcm_credential_sid
  @properties['gcm_credential_sid']
end

#inspectObject

Provide a detailed, user friendly representation



590
591
592
593
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 590

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

Returns The links.

Returns:

  • (String)

    The links



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

def links
  @properties['links']
end

#log_enabledBoolean

Returns The log_enabled.

Returns:

  • (Boolean)

    The log_enabled



478
479
480
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 478

def log_enabled
  @properties['log_enabled']
end

#messaging_service_sidString

Returns The SID of the Messaging Service to be used for SMS Bindings.

Returns:

  • (String)

    The SID of the Messaging Service to be used for SMS Bindings.



448
449
450
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 448

def messaging_service_sid
  @properties['messaging_service_sid']
end

#notificationsnotifications

Access the notifications

Returns:



577
578
579
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 577

def notifications
  context.notifications
end

#sidString

Returns The sid.

Returns:

  • (String)

    The sid



400
401
402
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 400

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



583
584
585
586
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 583

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

#update(friendly_name: :unset, apn_credential_sid: :unset, gcm_credential_sid: :unset, messaging_service_sid: :unset, facebook_messenger_page_id: :unset, default_apn_notification_protocol_version: :unset, default_gcm_notification_protocol_version: :unset, fcm_credential_sid: :unset, default_fcm_notification_protocol_version: :unset, log_enabled: :unset, alexa_skill_id: :unset, default_alexa_notification_protocol_version: :unset) ⇒ ServiceInstance

Update the ServiceInstance

Parameters:

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

    Human-readable name for this service instance

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

    The SID of the default Credential to be used for APN Bindings

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

    The SID of the default Credential to be used for GCM Bindings

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

    The SID of the [Messaging Service](www.twilio.com/docs/api/rest/sending-messages#messaging-services) to be used for SMS Bindings. In order to send SMS notifications this parameter has to be set.

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

    The Page ID to be used to send for Facebook Messenger Bindings. It has to match the Page ID you configured when you [enabled Facebook Messaging](www.twilio.com/console/sms/settings) on your account. Facebook Messenger integration is in beta. You need to be in the beta program to be able to enable Facebook Messaging for your account.

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

    The version of the protocol to be used for sending APNS notifications. Can be overriden on a Binding by Binding basis when creating a Binding resource.

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

    The version of the protocol to be used for sending GCM notifications. Can be overriden on a Binding by Binding basis when creating a Binding resource.

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

    The SID of the default Credential to be used for FCM Bindings

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

    The version of the protocol to be used for sending FCM notifications. Can be overriden on a Binding by Binding basis when creating a Binding resource.

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

    The log_enabled

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

    The alexa_skill_id

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

    The default_alexa_notification_protocol_version

Returns:



550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
# File 'lib/twilio-ruby/rest/notify/v1/service.rb', line 550

def update(friendly_name: :unset, apn_credential_sid: :unset, gcm_credential_sid: :unset, messaging_service_sid: :unset, facebook_messenger_page_id: :unset, default_apn_notification_protocol_version: :unset, default_gcm_notification_protocol_version: :unset, fcm_credential_sid: :unset, default_fcm_notification_protocol_version: :unset, log_enabled: :unset, alexa_skill_id: :unset, default_alexa_notification_protocol_version: :unset)
  context.update(
      friendly_name: friendly_name,
      apn_credential_sid: apn_credential_sid,
      gcm_credential_sid: gcm_credential_sid,
      messaging_service_sid: messaging_service_sid,
      facebook_messenger_page_id: facebook_messenger_page_id,
      default_apn_notification_protocol_version: default_apn_notification_protocol_version,
      default_gcm_notification_protocol_version: default_gcm_notification_protocol_version,
      fcm_credential_sid: fcm_credential_sid,
      default_fcm_notification_protocol_version: default_fcm_notification_protocol_version,
      log_enabled: log_enabled,
      alexa_skill_id: alexa_skill_id,
      default_alexa_notification_protocol_version: default_alexa_notification_protocol_version,
  )
end

#urlString

Returns The url.

Returns:

  • (String)

    The url



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

def url
  @properties['url']
end