module Universign::Service::Transaction::ClassMethods
Public Instance Methods
Signs a document
@param [Array<Universign::Document>] documents Documents to sign @param [Array<Universign::SignerTransaction>] signers @param [Hash] options @option options: [String] :custom_id Custom ID of the document @option options: [String] :description Description of the signature @option options: [String] :handwritten_signature_mode Type of signature @option options: [String] :certificate_type Type of certificate @option options: [String] :language Document's language @option options: [String] :identification_type @option options: [Boolean] :handwritten_signature @option options: [String] :profile @option options: [Boolean] :final_doc_sent @option options: [Boolean] :final_doc_requester_sent
@raise [ArgumentError] Raised if unknown_key passed in options
@return [Universign::Transaction]
# File lib/universign/service/transaction.rb, line 61 def create(documents:, signers:, options: {}) @client = Universign::Client.new sign_options = DEFAULT_OPTIONS.merge( documents: documents.map(&:params), signers: signers.map(&:params), ) options.each do |key, value| known_key = AVAILABLE_OPTIONS[key] if known_key sign_options[known_key] = value else raise "Unknown Key" end end safeguard do result = @client.call("requester.requestTransaction", sign_options) Universign::Transaction.new(result['id'], result['url']) end end