# frozen_string_literal: true class Universign::API ## Universign Timestamp POST API # Official documentation is at https://help.universign.com/hc/fr/articles/360000898965-Guide-d-intégration-horodatage def self.ensure_properly_configured! if userpwd.blank? raise StandardError, 'Universign API is not properly configured' end end def self.timestamp(data) ensure_properly_configured! response = Typhoeus.post( UNIVERSIGN_API_URL, userpwd: userpwd, body: body(data) ) if response.success? response.body else raise StandardError, "Universign timestamp query failed: #{response.status_message}" end end private def self.body(data) { 'hashAlgo': 'SHA256', 'withCert': 'true', 'hashValue': data } end def self.userpwd Rails.application.secrets.universign[:userpwd] end end