Class: Twilio::REST::Chat::V2::ServiceContext::ChannelContext::WebhookInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, channel_sid: nil, sid: nil) ⇒ WebhookInstance

Initialize the WebhookInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • service_sid (String) (defaults to: nil)

    The SID of the Service the Channel Webhook resource is associated with.

  • channel_sid (String) (defaults to: nil)

    The SID of the Channel the Channel Webhook resource belongs to.

  • sid (String) (defaults to: nil)

    The SID of the Channel Webhook resource to fetch.


316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 316

def initialize(version, payload, service_sid: nil, channel_sid: nil, sid: nil)
  super(version)

  # Marshaled Properties
  @properties = {
      'sid' => payload['sid'],
      'account_sid' => payload['account_sid'],
      'service_sid' => payload['service_sid'],
      'channel_sid' => payload['channel_sid'],
      'type' => payload['type'],
      'url' => payload['url'],
      'configuration' => payload['configuration'],
      'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
      'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
  }

  # Context
  @instance_context = nil
  @params = {
      'service_sid' => service_sid,
      'channel_sid' => channel_sid,
      '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


365
366
367
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 365

def 
  @properties['account_sid']
end

#channel_sidString

Returns The SID of the Channel the Channel Webhook resource belongs to.

Returns:

  • (String)

    The SID of the Channel the Channel Webhook resource belongs to


377
378
379
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 377

def channel_sid
  @properties['channel_sid']
end

#configurationHash

Returns The JSON string that describes the configuration object for the channel webhook.

Returns:

  • (Hash)

    The JSON string that describes the configuration object for the channel webhook


395
396
397
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 395

def configuration
  @properties['configuration']
end

#contextWebhookContext

Generate an instance context for the instance, the context is capable of performing various actions. All instance actions are proxied to the context

Returns:


345
346
347
348
349
350
351
352
353
354
355
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 345

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

#date_createdTime

Returns The ISO 8601 date and time in GMT when the resource was created.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was created


401
402
403
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 401

def date_created
  @properties['date_created']
end

#date_updatedTime

Returns The ISO 8601 date and time in GMT when the resource was last updated.

Returns:

  • (Time)

    The ISO 8601 date and time in GMT when the resource was last updated


407
408
409
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 407

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Delete the WebhookInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise


455
456
457
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 455

def delete
  context.delete
end

#fetchWebhookInstance

Fetch the WebhookInstance

Returns:


414
415
416
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 414

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation


468
469
470
471
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 468

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

#service_sidString

Returns The SID of the Service that the Channel Webhook resource is associated with.

Returns:

  • (String)

    The SID of the Service that the Channel Webhook resource is associated with


371
372
373
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 371

def service_sid
  @properties['service_sid']
end

#sidString

Returns The unique string that identifies the resource.

Returns:

  • (String)

    The unique string that identifies the resource


359
360
361
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 359

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation


461
462
463
464
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 461

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

#typeString

Returns The type of webhook.

Returns:

  • (String)

    The type of webhook


383
384
385
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 383

def type
  @properties['type']
end

#update(configuration_url: :unset, configuration_method: :unset, configuration_filters: :unset, configuration_triggers: :unset, configuration_flow_sid: :unset, configuration_retry_count: :unset) ⇒ WebhookInstance

Update the WebhookInstance

Parameters:

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

    The URL of the webhook to call using the `configuration.method`.

  • configuration_method (webhook.Method) (defaults to: :unset)

    The HTTP method used to call `configuration.url`. Can be: `GET` or `POST` and the default is `POST`.

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

    The events that cause us to call the Channel Webhook. Used when `type` is `webhook`. This parameter takes only one event. To specify more than one event, repeat this parameter for each event. For the list of possible events, see Webhook Event Triggers.

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

    A string that will cause us to call the webhook when it is present in a message body. This parameter takes only one trigger string. To specify more than one, repeat this parameter for each trigger string up to a total of 5 trigger strings. Used only when `type` = `trigger`.

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

    The SID of the Studio Flow to call when an event in `configuration.filters` occurs. Used only when `type` = `studio`.

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

    The number of times to retry the webhook if the first attempt fails. Can be an integer between 0 and 3, inclusive, and the default is 0.

Returns:


441
442
443
444
445
446
447
448
449
450
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 441

def update(configuration_url: :unset, configuration_method: :unset, configuration_filters: :unset, configuration_triggers: :unset, configuration_flow_sid: :unset, configuration_retry_count: :unset)
  context.update(
      configuration_url: configuration_url,
      configuration_method: configuration_method,
      configuration_filters: configuration_filters,
      configuration_triggers: configuration_triggers,
      configuration_flow_sid: configuration_flow_sid,
      configuration_retry_count: configuration_retry_count,
  )
end

#urlString

Returns The absolute URL of the Channel Webhook resource.

Returns:

  • (String)

    The absolute URL of the Channel Webhook resource


389
390
391
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 389

def url
  @properties['url']
end