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/service-resource) 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.



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

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



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

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



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

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



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

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:



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

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



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

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



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

def date_updated
  @properties['date_updated']
end

#deleteBoolean

Delete the WebhookInstance

Returns:

  • (Boolean)

    true if delete succeeds, false otherwise



452
453
454
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 452

def delete
  context.delete
end

#fetchWebhookInstance

Fetch the WebhookInstance

Returns:



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

def fetch
  context.fetch
end

#inspectObject

Provide a detailed, user friendly representation



465
466
467
468
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 465

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



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

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



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

def sid
  @properties['sid']
end

#to_sObject

Provide a user friendly representation



458
459
460
461
# File 'lib/twilio-ruby/rest/chat/v2/service/channel/webhook.rb', line 458

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



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

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:



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

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



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

def url
  @properties['url']
end