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.



578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 578

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.



628
629
630
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 628

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:



613
614
615
616
617
618
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 613

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:



658
659
660
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 658

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:



670
671
672
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 670

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:



664
665
666
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 664

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.



694
695
696
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 694

def details
    @properties['details']
end

#entity_sidString

Returns The unique SID identifier of the Entity.

Returns:

  • (String)

    The unique SID identifier of the Entity.



640
641
642
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 640

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.



676
677
678
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 676

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.



652
653
654
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 652

def factor_sid
    @properties['factor_sid']
end

#factor_typeFactorTypes

Returns:

  • (FactorTypes)


712
713
714
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 712

def factor_type
    @properties['factor_type']
end

#fetchChallengeInstance

Fetch the ChallengeInstance

Returns:



731
732
733
734
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 731

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



700
701
702
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 700

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.



646
647
648
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 646

def identity
    @properties['identity']
end

#inspectObject

Provide a detailed, user friendly representation



768
769
770
771
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 768

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.



724
725
726
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 724

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.



706
707
708
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 706

def 
    @properties['metadata']
end

#notificationsnotifications

Access the notifications

Returns:



755
756
757
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 755

def notifications
    context.notifications
end

#responded_reasonChallengeReasons

Returns:

  • (ChallengeReasons)


688
689
690
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 688

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.



634
635
636
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 634

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.



622
623
624
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 622

def sid
    @properties['sid']
end

#statusChallengeStatuses

Returns:

  • (ChallengeStatuses)


682
683
684
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 682

def status
    @properties['status']
end

#to_sObject

Provide a user friendly representation



761
762
763
764
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 761

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:



741
742
743
744
745
746
747
748
749
750
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 741

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.



718
719
720
# File 'lib/twilio-ruby/rest/verify/v2/service/entity/challenge.rb', line 718

def url
    @properties['url']
end