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](www.twilio.com/docs/chat/rest/services) the Channel Webhook resource is associated with.

  • channel_sid (String) (defaults to: nil)

    The SID of the [Channel](www.twilio.com/docs/chat/channels) the Channel Webhook resource belongs to.

  • sid (String) (defaults to: nil)

    The SID of the Channel Webhook resource to fetch.



331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 331

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



380
381
382
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 380

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



392
393
394
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 392

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



410
411
412
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 410

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:



360
361
362
363
364
365
366
367
368
369
370
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 360

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



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

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



422
423
424
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 422

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Deletes the WebhookInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



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

def delete
  context.delete
end

#fetchWebhookInstance

Fetch a WebhookInstance

Returns:



429
430
431
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 429

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



482
483
484
485
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 482

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



386
387
388
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 386

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



374
375
376
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 374

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



475
476
477
478
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 475

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



398
399
400
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 398

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 (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](www.twilio.com/docs/chat/webhook-events#webhook-event-trigger).

  • configuration_triggers (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](www.twilio.com/docs/studio/rest-api/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:



455
456
457
458
459
460
461
462
463
464
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 455

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



404
405
406
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 404

def url
  @properties['url']
end