Sha256: e70c253bdbd335ab405d0d0e1109ed7240e9a13536d8571a4a7486af15f53960

Contents?: true

Size: 1.7 KB

Versions: 5

Compression:

Stored size: 1.7 KB

Contents

# frozen_string_literal: true

module Telnyx
  class Verification < APIResource
    # Type for verification responses
    class Response < TelnyxObject; end

    extend APIOperations::Create
    extend APIOperations::NestedResource

    class << self
      private :create
    end

    nested_resource_class_methods "by_telephone",
                                  path: "by_tn",
                                  operations: [:retrieve],
                                  instance_methods: {
                                    retrieve: "by_telephone",
                                  }

    def self.submit_code(params = {})
      url = "#{resource_url}/by_phone_number/#{CGI.escape params[:phone_number]}/actions/verify"
      resp, _opts = request(:post, url, params)
      Response.construct_from resp.data[:data]
    end

    # Trigger a call verification.
    def self.call(params = {}, opts = {})
      create(params, { **opts, resource_url: "#{resource_url}/call" })
    end

    # Trigger an SMS verification.
    def self.sms(params = {}, opts = {})
      create(params, { **opts, resource_url: "#{resource_url}/sms" })
    end

    # Trigger a PSD2 verification.
    def self.psd2(params = {}, opts = {})
      create(params, { **opts, resource_url: "#{resource_url}/psd2" })
    end

    # Trigger a flashcall verification.
    def self.flashcall(params = {}, opts = {})
      create(params, { **opts, resource_url: "#{resource_url}/flashcall" })
    end

    # Trigger a whatsapp verification.
    def self.whatsapp(params = {}, opts = {})
      create(params, { **opts, resource_url: "#{resource_url}/whatsapp" })
    end

    OBJECT_NAME = "verify_verification".freeze
    RESOURCE_PATH = "verifications".freeze
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
telnyx-3.0.5 lib/telnyx/verification.rb
telnyx-3.0.4 lib/telnyx/verification.rb
telnyx-3.0.3 lib/telnyx/verification.rb
telnyx-3.0.2 lib/telnyx/verification.rb
telnyx-3.0.0 lib/telnyx/verification.rb