Class: Twilio::REST::Verify::V2::ServiceContext::EntityContext::ChallengeInstance

Inherits:
InstanceResource
  • Object
show all
Defined in:
lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb

Instance Method Summary collapse

Constructor Details

#initialize(version, payload, service_sid: nil, identity: nil, sid: nil) ⇒ ChallengeInstance

Initialize the ChallengeInstance

Parameters:

  • version (Version)

    Version that contains the resource

  • payload (Hash)

    payload that contains response from Twilio

  • account_sid (String)

    The SID of the Account that created this Challenge resource.

  • sid (String) (defaults to: nil)

    The SID of the Call resource to fetch.



310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 310

def initialize(version, payload , service_sid: nil, identity: nil, sid: nil)
    super(version)
    
    # Marshaled Properties
    @properties = { 
        'sid' => payload['sid'],
        'account_sid' => payload['account_sid'],
        'service_sid' => payload['service_sid'],
        'entity_sid' => payload['entity_sid'],
        'identity' => payload['identity'],
        'factor_sid' => payload['factor_sid'],
        'date_created' => Twilio.deserialize_iso8601_datetime(payload['date_created']),
        'date_updated' => Twilio.deserialize_iso8601_datetime(payload['date_updated']),
        'date_responded' => Twilio.deserialize_iso8601_datetime(payload['date_responded']),
        'expiration_date' => Twilio.deserialize_iso8601_datetime(payload['expiration_date']),
        'status' => payload['status'],
        'responded_reason' => payload['responded_reason'],
        'details' => payload['details'],
        'hidden_details' => payload['hidden_details'],
        'metadata' => payload['metadata'],
        'factor_type' => payload['factor_type'],
        'url' => payload['url'],
        'links' => payload['links'],
    }

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

Instance Method Details

#account_sidString

Returns The unique SID identifier of the Account.

Returns:

  • (String)

    The unique SID identifier of the Account.



359
360
361
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 359

def 
    @properties['account_sid']
end

#contextChallengeContext

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

Returns:



344
345
346
347
348
349
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 344

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

#date_createdTime

Returns The date that this Challenge was created, given in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



389
390
391
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 389

def date_created
    @properties['date_created']
end

#date_respondedTime

Returns The date that this Challenge was responded, given in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



401
402
403
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 401

def date_responded
    @properties['date_responded']
end

#date_updatedTime

Returns The date that this Challenge was updated, given in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format.

Returns:



395
396
397
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 395

def date_updated
    @properties['date_updated']
end

#detailsHash

Returns Details provided to give context about the Challenge. Intended to be shown to the end user.

Returns:

  • (Hash)

    Details provided to give context about the Challenge. Intended to be shown to the end user.



425
426
427
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 425

def details
    @properties['details']
end

#entity_sidString

Returns The unique SID identifier of the Entity.

Returns:

  • (String)

    The unique SID identifier of the Entity.



371
372
373
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 371

def entity_sid
    @properties['entity_sid']
end

#expiration_dateTime

Returns The date-time when this Challenge expires, given in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format. The default value is five (5) minutes after Challenge creation. The max value is sixty (60) minutes after creation.

Returns:

  • (Time)

    The date-time when this Challenge expires, given in [ISO 8601](en.wikipedia.org/wiki/ISO_8601) format. The default value is five (5) minutes after Challenge creation. The max value is sixty (60) minutes after creation.



407
408
409
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 407

def expiration_date
    @properties['expiration_date']
end

#factor_sidString

Returns The unique SID identifier of the Factor.

Returns:

  • (String)

    The unique SID identifier of the Factor.



383
384
385
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 383

def factor_sid
    @properties['factor_sid']
end

#factor_typeFactorTypes

Returns:

  • (FactorTypes)


443
444
445
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 443

def factor_type
    @properties['factor_type']
end

#fetchChallengeInstance

Fetch the ChallengeInstance

Returns:



462
463
464
465
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 462

def fetch

    context.fetch
end

#hidden_detailsHash

Returns Details provided to give context about the Challenge. Intended to be hidden from the end user. It must be a stringified JSON with only strings values eg. ‘"172.168.1.234"`.

Returns:

  • (Hash)

    Details provided to give context about the Challenge. Intended to be hidden from the end user. It must be a stringified JSON with only strings values eg. ‘"172.168.1.234"`



431
432
433
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 431

def hidden_details
    @properties['hidden_details']
end

#identityString

Returns Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user’s UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.

Returns:

  • (String)

    Customer unique identity for the Entity owner of the Challenge. This identifier should be immutable, not PII, length between 8 and 64 characters, and generated by your external system, such as your user’s UUID, GUID, or SID. It can only contain dash (-) separated alphanumeric characters.



377
378
379
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 377

def identity
    @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



499
500
501
502
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 499

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

Returns Contains a dictionary of URL links to nested resources of this Challenge.

Returns:

  • (Hash)

    Contains a dictionary of URL links to nested resources of this Challenge.



455
456
457
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 455

def links
    @properties['links']
end

#metadataHash

Returns Custom metadata associated with the challenge. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. ‘"Android"`. Can be up to 1024 characters in length.

Returns:

  • (Hash)

    Custom metadata associated with the challenge. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. ‘"Android"`. Can be up to 1024 characters in length.



437
438
439
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 437

def 
    @properties['metadata']
end

#notificationsnotifications

Access the notifications

Returns:



486
487
488
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 486

def notifications
    context.notifications
end

#responded_reasonChallengeReasons

Returns:

  • (ChallengeReasons)


419
420
421
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 419

def responded_reason
    @properties['responded_reason']
end

#service_sidString

Returns The unique SID identifier of the Service.

Returns:

  • (String)

    The unique SID identifier of the Service.



365
366
367
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 365

def service_sid
    @properties['service_sid']
end

#sidString

Returns A 34 character string that uniquely identifies this Challenge.

Returns:

  • (String)

    A 34 character string that uniquely identifies this Challenge.



353
354
355
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 353

def sid
    @properties['sid']
end

#statusChallengeStatuses

Returns:

  • (ChallengeStatuses)


413
414
415
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 413

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



492
493
494
495
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 492

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

#update(auth_payload: :unset, metadata: :unset) ⇒ ChallengeInstance

Update the ChallengeInstance

Parameters:

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

    The optional payload needed to verify the Challenge. E.g., a TOTP would use the numeric code. For ‘TOTP` this value must be between 3 and 8 characters long. For `Push` this value can be up to 5456 characters in length

  • metadata (Object) (defaults to: :unset)

    Custom metadata associated with the challenge. This is added by the Device/SDK directly to allow for the inclusion of device information. It must be a stringified JSON with only strings values eg. ‘\"Android\"`. Can be up to 1024 characters in length.

Returns:



472
473
474
475
476
477
478
479
480
481
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 472

def update(
    auth_payload: :unset, 
    metadata: :unset
)

    context.update(
        auth_payload: auth_payload, 
        metadata: , 
    )
end

#urlString

Returns The URL of this resource.

Returns:

  • (String)

    The URL of this resource.



449
450
451
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 449

def url
    @properties['url']
end