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.



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
339
340
341
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 313

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.



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

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:



347
348
349
350
351
352
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 347

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:



392
393
394
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 392

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:



404
405
406
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 404

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:



398
399
400
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 398

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.



428
429
430
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 428

def details
    @properties['details']
end

#entity_sidString

Returns The unique SID identifier of the Entity.

Returns:

  • (String)

    The unique SID identifier of the Entity.



374
375
376
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 374

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.



410
411
412
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 410

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.



386
387
388
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 386

def factor_sid
    @properties['factor_sid']
end

#factor_typeFactorTypes

Returns:

  • (FactorTypes)


446
447
448
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 446

def factor_type
    @properties['factor_type']
end

#fetchChallengeInstance

Fetch the ChallengeInstance

Returns:



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

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



434
435
436
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 434

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.



380
381
382
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 380

def identity
    @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



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

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.



458
459
460
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 458

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.



440
441
442
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 440

def 
    @properties['metadata']
end

#notificationsnotifications

Access the notifications

Returns:



489
490
491
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 489

def notifications
    context.notifications
end

#responded_reasonChallengeReasons

Returns:

  • (ChallengeReasons)


422
423
424
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 422

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.



368
369
370
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 368

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.



356
357
358
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 356

def sid
    @properties['sid']
end

#statusChallengeStatuses

Returns:

  • (ChallengeStatuses)


416
417
418
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 416

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



495
496
497
498
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 495

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:



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

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.



452
453
454
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 452

def url
    @properties['url']
end