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.



328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 328

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.



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

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:



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

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:



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

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:



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

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:



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

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.



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

def details
    @properties['details']
end

#entity_sidString

Returns The unique SID identifier of the Entity.

Returns:

  • (String)

    The unique SID identifier of the Entity.



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

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.



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

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.



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

def factor_sid
    @properties['factor_sid']
end

#factor_typeFactorTypes

Returns:

  • (FactorTypes)


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

def factor_type
    @properties['factor_type']
end

#fetchChallengeInstance

Fetch the ChallengeInstance

Returns:



480
481
482
483
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 480

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"`



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

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.



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

def identity
    @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



517
518
519
520
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 517

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.



473
474
475
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 473

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.



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

def 
    @properties['metadata']
end

#notificationsnotifications

Access the notifications

Returns:



504
505
506
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 504

def notifications
    context.notifications
end

#responded_reasonChallengeReasons

Returns:

  • (ChallengeReasons)


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

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.



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

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.



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

def sid
    @properties['sid']
end

#statusChallengeStatuses

Returns:

  • (ChallengeStatuses)


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

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



510
511
512
513
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 510

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:



490
491
492
493
494
495
496
497
498
499
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 490

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.



467
468
469
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 467

def url
    @properties['url']
end