Class: Arca::WSCDC
- Inherits:
-
Object
- Object
- Arca::WSCDC
- Includes:
- TypeConversions
- Defined in:
- lib/arca/wscdc.rb
Constant Summary collapse
- WSDL =
{ development: "https://wswhomo.afip.gov.ar/WSCDC/service.asmx?WSDL", production: "https://servicios1.afip.gov.ar/WSCDC/service.asmx?WSDL", test: "#{Root}/test/fixtures/wscdc/wscdc.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
-
#comprobante_constatar(cmp_req) ⇒ Object
Constata un comprobante.
-
#comprobantes_modalidad_consultar ⇒ Object
Modalidades de autorización (CAE, CAEA, CAI).
-
#comprobantes_tipo_consultar ⇒ Object
Tipos de comprobante.
-
#documentos_tipo_consultar ⇒ Object
Tipos de documento.
- #dummy ⇒ Object
-
#initialize(options = {}) ⇒ WSCDC
constructor
A new instance of WSCDC.
-
#opcionales_tipo_consultar ⇒ Object
Tipos de datos opcionales.
Methods included from TypeConversions
Constructor Details
#initialize(options = {}) ⇒ WSCDC
Returns a new instance of WSCDC.
18 19 20 21 22 23 24 25 26 |
# File 'lib/arca/wscdc.rb', line 18 def initialize( = {}) @cuit = normalize_cuit([:cuit]) @wsaa = WSAA.new .merge(service: "wscdc") @client = Client.new Hash([:savon]).reverse_merge( wsdl: WSDL[@wsaa.env], soap_version: 1, convert_request_keys_to: :camelcase ) end |
Instance Attribute Details
#cuit ⇒ Object (readonly)
Returns the value of attribute cuit.
16 17 18 |
# File 'lib/arca/wscdc.rb', line 16 def cuit @cuit end |
#wsaa ⇒ Object (readonly)
Returns the value of attribute wsaa.
16 17 18 |
# File 'lib/arca/wscdc.rb', line 16 def wsaa @wsaa end |
Instance Method Details
#comprobante_constatar(cmp_req) ⇒ Object
Constata un comprobante. cmp_req: hash con cbte_modo, cuit_emisor, pto_vta, cbte_tipo, cbte_nro, cbte_fch, imp_total, cod_autorizacion y opcionalmente doc_tipo_receptor, doc_nro_receptor, opcionales. Returns hash con :cmp_resp, :resultado ('A'|'R'), :observaciones, :fch_proceso, :errors.
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/arca/wscdc.rb', line 42 def comprobante_constatar(cmp_req) = { auth: auth, cmp_req: cmp_req } r = raw_request(:comprobante_constatar, ) result = r[:comprobante_constatar_result] if result[:errors] && (errs = Array.wrap(result[:errors][:err])).any? raise ResponseError, errs.map { |e| { code: e[:code], msg: e[:msg] } } end { cmp_resp: result[:cmp_resp], resultado: result[:resultado], observaciones: parse_observaciones(result[:observaciones]), fch_proceso: result[:fch_proceso], errors: parse_errors(result[:errors]), events: parse_events(result[:events]) } end |
#comprobantes_modalidad_consultar ⇒ Object
Modalidades de autorización (CAE, CAEA, CAI).
61 62 63 64 |
# File 'lib/arca/wscdc.rb', line 61 def comprobantes_modalidad_consultar r = request(:comprobantes_modalidad_consultar) get_array(r, :fac_mod_tipo) end |
#comprobantes_tipo_consultar ⇒ Object
Tipos de comprobante.
67 68 69 70 |
# File 'lib/arca/wscdc.rb', line 67 def comprobantes_tipo_consultar r = request(:comprobantes_tipo_consultar) x2r get_array(r, :cbte_tipo), id: :integer, fch_desde: :date, fch_hasta: :date end |
#documentos_tipo_consultar ⇒ Object
Tipos de documento.
73 74 75 76 |
# File 'lib/arca/wscdc.rb', line 73 def documentos_tipo_consultar r = request(:documentos_tipo_consultar) x2r get_array(r, :doc_tipo), id: :integer, fch_desde: :date, fch_hasta: :date end |
#dummy ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'lib/arca/wscdc.rb', line 28 def dummy r = raw_request(:comprobante_dummy, nil) result = r[:comprobante_dummy_result] { app_server: result[:app_server], db_server: result[:db_server], auth_server: result[:auth_server] } end |
#opcionales_tipo_consultar ⇒ Object
Tipos de datos opcionales.
79 80 81 82 |
# File 'lib/arca/wscdc.rb', line 79 def opcionales_tipo_consultar r = request(:opcionales_tipo_consultar) get_array(r, :opcional_tipo) end |