File: appverify.rb

package info (click to toggle)
ruby-telesignenterprise 5.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 100 kB
  • sloc: ruby: 316; makefile: 4
file content (64 lines) | stat: -rw-r--r-- 2,497 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
require 'telesign'
require_relative 'constants'

module TelesignEnterprise

  # App Verify is a secure, lightweight SDK that integrates a frictionless user verification process into existing
  # native mobile applications.
  class AppVerifyClient < Telesign::RestClient

    APP_VERIFY_BASE_RESOURCE = "/v1/verify/auto/voice"
    INITIATE_RESOURCE = "#{APP_VERIFY_BASE_RESOURCE}/initiate"
    FINALIZE_RESOURCE = "#{APP_VERIFY_BASE_RESOURCE}/finalize"
    FINALIZE_CALLERID_RESOURCE = "#{APP_VERIFY_BASE_RESOURCE}/finalize/callerid"
    FINALIZE_TIMEOUT_RESOURCE = "#{APP_VERIFY_BASE_RESOURCE}/finalize/timeout"

    def initialize(customer_id,
                   api_key,
                   rest_endpoint: 'https://rest-ww.telesign.com',
                   timeout: nil,
                   source: 'ruby_telesign_enterprise',
                   sdk_version_origin: TelesignEnterprise::SDK_VERSION,
                   sdk_version_dependency: Gem.loaded_specs['telesign'].version)

      super(customer_id,
            api_key,
            rest_endpoint: rest_endpoint,
            timeout: timeout,
            source: source,
            sdk_version_origin: sdk_version_origin,
            sdk_version_dependency: sdk_version_dependency)
    end
    
    # Send call with verification code (Initiate)
    # See https://developer.telesign.com/enterprise/reference/sendappverifycode
    def initiate(phone_number, params = {})
      post(INITIATE_RESOURCE, phone_number: phone_number, **params)
    end

    # End call (Finalize)
    # See https://developer.telesign.com/enterprise/reference/endappverifycall
    def finalize(reference_id, params = {})
      post(FINALIZE_RESOURCE, reference_id: reference_id, **params)
    end

    # Report unknown caller ID
    # See https://developer.telesign.com/enterprise/reference/reportappverifycallerid
    def report_unknown_caller_id(reference_id, unknown_caller_id, params = {})
      post(FINALIZE_CALLERID_RESOURCE, reference_id: reference_id, unknown_caller_id: unknown_caller_id, **params)
    end

    # Report timeout
    # See https://developer.telesign.com/enterprise/reference/reportappverifytimeout
    def report_timeout(reference_id)
      post(FINALIZE_TIMEOUT_RESOURCE, reference_id: reference_id)
    end

    # Get transaction status
    # See https://developer.telesign.com/enterprise/reference/getappverifystatus
    def get_transaction_status(reference_id)
      get("#{APP_VERIFY_BASE_RESOURCE}/#{reference_id}")
    end

  end
end