Sha256: 7a132c38e631fa7c30877b65856c3a751a11ddceee440e0f3d5448e73377bf59
Contents?: true
Size: 1.05 KB
Versions: 2
Compression:
Stored size: 1.05 KB
Contents
# frozen_string_literal: true require 'faraday' module ANAF module WebServices class VatRegistry # :nodoc: BASE_URL = 'https://webservicesp.anaf.ro' PATH = '/PlatitorTvaRest/api/v8/ws/tva' attr_reader :ids def initialize(ids) @ids = ids end def call return [] if request_body.empty? response = conn.post(PATH, request_body) body = JSON.parse(response.body) return body['found'] if response.success? && body['cod'] == 200 raise InvalidRequest, body['message'] rescue JSON::ParserError raise InvalidRequest, response.body rescue Faraday::TimeoutError, Faraday::ConnectionFailed raise TimeoutError end def request_body @request_body ||= ids.map { |id| { cui: id, data: date } } end private def conn @conn ||= Faraday.new(BASE_URL, request: { timeout: 5 }) do |f| f.request :json end end def date @date ||= Date.today.to_s end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
anaf-web_services-0.3.1 | lib/anaf/web_services/vat_registry.rb |
anaf-web_services-0.3.0 | lib/anaf/web_services/vat_registry.rb |