Class: Arca::WSRGIVA
- Inherits:
-
Object
- Object
- Arca::WSRGIVA
- Defined in:
- lib/arca/wsrgiva.rb
Constant Summary collapse
- WSDL =
{ development: "https://fwshomo.afip.gov.ar/wsrgiva/services/RegimenPercepcionIVAService?wsdl", production: "https://serviciosjava.afip.gov.ar/wsrgiva/services/RegimenPercepcionIVAService?wdsl", test: "#{Root}/test/fixtures/wsrgiva/wsrgiva.wsdl" }.freeze
Instance Attribute Summary collapse
-
#cuit ⇒ Object
readonly
Returns the value of attribute cuit.
-
#wsaa ⇒ Object
readonly
Returns the value of attribute wsaa.
Instance Method Summary collapse
-
#consultar_constancia_por_lote(cuits, tipo_bienes_involucrados: 1) ⇒ Object
Consulta la situación fiscal de hasta 100 contribuyentes.
- #dummy ⇒ Object
-
#initialize(options = {}) ⇒ WSRGIVA
constructor
A new instance of WSRGIVA.
Constructor Details
#initialize(options = {}) ⇒ WSRGIVA
Returns a new instance of WSRGIVA.
16 17 18 19 20 21 22 23 |
# File 'lib/arca/wsrgiva.rb', line 16 def initialize( = {}) @cuit = normalize_cuit([:cuit]) @wsaa = WSAA.new .merge(service: "wsrgiva") @client = Client.new Hash([:savon]).reverse_merge( wsdl: WSDL[@wsaa.env], soap_version: 1 ) end |
Instance Attribute Details
#cuit ⇒ Object (readonly)
Returns the value of attribute cuit.
14 15 16 |
# File 'lib/arca/wsrgiva.rb', line 14 def cuit @cuit end |
#wsaa ⇒ Object (readonly)
Returns the value of attribute wsaa.
14 15 16 |
# File 'lib/arca/wsrgiva.rb', line 14 def wsaa @wsaa end |
Instance Method Details
#consultar_constancia_por_lote(cuits, tipo_bienes_involucrados: 1) ⇒ Object
Consulta la situación fiscal de hasta 100 contribuyentes. cuits: array of 11-digit CUIT strings/integers (max 100). tipo_bienes_involucrados: 1 (único valor admitido; nuevo/usado). Returns array of constancia hashes (one per CUIT): success with fecha_consulta, id_contribuyente, descripcion_contribuyente, vigencia, codigo_leyenda, descripcion_leyenda, codigo_seguridad; or error with codigo_error, descripcion_error.
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/arca/wsrgiva.rb', line 41 def consultar_constancia_por_lote(cuits, tipo_bienes_involucrados: 1) cuits = Array(cuits).map { |c| c.to_s.gsub(/\D/, "") } raise ArgumentError, "Maximum 100 CUITs per request" if cuits.size > 100 raise ArgumentError, "tipo_bienes_involucrados must be 1" if tipo_bienes_involucrados != 1 datos_transaccion = cuits.map do |cuit| { cuit_contribuyente: cuit.to_i, tipo_bienes_involucrados: 1 } end = { auth_request: @wsaa.auth.merge(cuit_representada: cuit), datos_transaccion_array: { datos_transaccion: datos_transaccion } } result = request(:consultar_constancia_por_lote_v2, )[:return] constancias = result[:constancia] Array.wrap(constancias) end |
#dummy ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/arca/wsrgiva.rb', line 25 def dummy r = request(:dummy)[:return] { app_server: r[:appserver] || r[:app_server], auth_server: r[:authserver] || r[:auth_server], db_server: r[:dbserver] || r[:db_server] } end |