arca.rb 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.devcontainer/devcontainer.json +20 -10
- data/.mise.toml +4 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +15 -0
- data/Gemfile.lock +4 -1
- data/README.md +29 -0
- data/bin/devcontainer +28 -0
- data/lib/arca/ve_consumer.rb +131 -0
- data/lib/arca/version.rb +1 -1
- data/lib/arca/wsfe.rb +13 -2
- data/lib/arca.rb +1 -0
- data/test/arca/ve_consumer_test.rb +128 -0
- data/test/arca/wsfe_test.rb +30 -0
- data/test/fixtures/ve_consumer/consultar_comunicaciones/soap_fault.xml +13 -0
- data/test/fixtures/ve_consumer/consultar_comunicaciones/success.xml +28 -0
- data/test/fixtures/ve_consumer/consultar_estados/success.xml +17 -0
- data/test/fixtures/ve_consumer/consultar_sistemas_publicadores/success.xml +15 -0
- data/test/fixtures/ve_consumer/consumir_comunicacion/success.xml +19 -0
- data/test/fixtures/ve_consumer/consumir_comunicacion/with_adjuntos.xml +34 -0
- data/test/fixtures/ve_consumer/ve_consumer.wsdl +256 -0
- data/test/fixtures/wsfe/fe_param_get_actividades/success.xml +20 -0
- data/test/fixtures/wsfe/fe_param_get_condicion_iva_receptor/success.xml +14 -0
- data/test/fixtures/wsfe/fecaea_sin_movimiento_consultar/success.xml +15 -0
- data/test/fixtures/wsfe/wsfe.wsdl +124 -0
- metadata +16 -3
- data/.devcontainer/Dockerfile +0 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 83fb68cdac99771719d984f0140a1ccc3a68efa3c7b31aeb73dddc538514f76d
|
|
4
|
+
data.tar.gz: 543051f05bdade2f33a8dd2bd9ef7c5a3dba1855e213fa8821a44b8c4f7226f0
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 53d5c866b44f162ee646258f6e6aad01a930c21efeb339775d703307b287c1736fbe4e298600d98e22b96eafaa720180942b84b5cd0b15ed9087e18f31e78244
|
|
7
|
+
data.tar.gz: edf788cf929d1dc23d1c22f9309aefa37e6f0a2d92cb3161e920f2a0b71d6ace6fe8d40b7eea74069b12ce7bf1ba9bcfd6789f746e39ba7c6fc4070dd3b64dd0
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
2
|
+
"name": "arca.rb",
|
|
3
|
+
"runArgs": [
|
|
4
|
+
"--name",
|
|
5
|
+
"arca.rb"
|
|
6
|
+
],
|
|
7
|
+
"image": "ghcr.io/rails/devcontainer/images/ruby:4.0.0",
|
|
8
|
+
"workspaceFolder": "/workspaces/arca.rb",
|
|
9
|
+
"workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/arca.rb,type=bind,consistency=cached",
|
|
10
|
+
"remoteEnv": {
|
|
11
|
+
"ANTHROPIC_API_KEY": "${localEnv:ANTHROPIC_API_KEY}"
|
|
12
|
+
},
|
|
13
|
+
"postCreateCommand": "bin/devcontainer",
|
|
14
|
+
"customizations": {
|
|
15
|
+
"vscode": {
|
|
16
|
+
"extensions": [
|
|
17
|
+
"Shopify.ruby-lsp",
|
|
18
|
+
"anthropic.claude-code"
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
12
22
|
}
|
data/.mise.toml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4.0.0
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Arca Changelog
|
|
2
2
|
|
|
3
|
+
## [1.1.2] 2025-03-02
|
|
4
|
+
|
|
5
|
+
- **VEConsumer** — Nuevo servicio: Ventanilla Electrónica - Consumir Comunicaciones (`veconsumerws`). Permite consultar y leer comunicaciones enviadas a un contribuyente vía SOAP 1.2.
|
|
6
|
+
- `consultar_comunicaciones(filter = {})` — consulta paginada con filtros opcionales (estado, fechas, sistema publicador, referencias, etc.).
|
|
7
|
+
- `consumir_comunicacion(id, incluir_adjuntos: false)` — recupera una comunicación y la marca como leída; con `incluir_adjuntos: true` extrae el contenido binario vía MTOM en `adjunto[:content]`.
|
|
8
|
+
- `consultar_sistemas_publicadores(id_sistema_publicador: nil)` — lista sistemas publicadores habilitados.
|
|
9
|
+
- `consultar_estados` — lista los posibles estados (1=No leída, 2=Leída).
|
|
10
|
+
- Los errores SOAP Fault del servicio se traducen a `ResponseError` con soporte para `e.code?`.
|
|
11
|
+
|
|
12
|
+
## [1.1.1] - 2025-02-20
|
|
13
|
+
|
|
14
|
+
- **WSFE:** Agregado `tipos_condicion_iva_receptor(clase_cmp: nil)` para consultar condiciones de IVA del receptor con filtro opcional por clase de comprobante.
|
|
15
|
+
- **WSFE:** Agregado `actividades` para obtener el listado de actividades económicas.
|
|
16
|
+
- **WSFE:** Agregado `consultar_caea_sin_movimientos(caea, pto_vta)` para consultar CAEA sin movimientos.
|
|
17
|
+
|
|
3
18
|
## [1.1.0]
|
|
4
19
|
|
|
5
20
|
- **WSAA:** Store opcional para TA. Podés pasar `store:` con un objeto que implemente `read(cuit:, env:, service:)` y `write(cuit:, env:, service:, ta:, expires_at:)` para guardar el token en tu backend (p. ej. DB por tenant con cifrado). Sin `store`, se sigue usando el archivo JSON en `tmp/`.
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
arca.rb (1.1.
|
|
4
|
+
arca.rb (1.1.2)
|
|
5
5
|
activesupport
|
|
6
6
|
builder
|
|
7
7
|
httpclient
|
|
@@ -89,6 +89,8 @@ GEM
|
|
|
89
89
|
nkf (0.2.0)
|
|
90
90
|
nokogiri (1.19.0-aarch64-linux-gnu)
|
|
91
91
|
racc (~> 1.4)
|
|
92
|
+
nokogiri (1.19.0-arm64-darwin)
|
|
93
|
+
racc (~> 1.4)
|
|
92
94
|
nokogiri (1.19.0-x86_64-linux-gnu)
|
|
93
95
|
racc (~> 1.4)
|
|
94
96
|
nori (2.7.1)
|
|
@@ -165,6 +167,7 @@ GEM
|
|
|
165
167
|
|
|
166
168
|
PLATFORMS
|
|
167
169
|
aarch64-linux
|
|
170
|
+
arm64-darwin-24
|
|
168
171
|
x86_64-linux
|
|
169
172
|
|
|
170
173
|
DEPENDENCIES
|
data/README.md
CHANGED
|
@@ -13,6 +13,7 @@ Cliente Ruby para integrar webservices SOAP de AFIP y ARCA en Argentina. Soporta
|
|
|
13
13
|
- **Autenticación WSAA** - Manejo automático de tokens y certificados
|
|
14
14
|
- **Producción y homologación** - Ambientes configurables
|
|
15
15
|
- **Padrón AFIP** - Consulta de contribuyentes (A4, A5, A100)
|
|
16
|
+
- **Ventanilla Electrónica (VEConsumer)** - Consulta y lectura de comunicaciones de AFIP
|
|
16
17
|
|
|
17
18
|
## Requisitos
|
|
18
19
|
|
|
@@ -72,6 +73,7 @@ Opción del constructor: `env: :development` o `env: :production` (symbol o stri
|
|
|
72
73
|
| WS Constancia Inscripción | `Arca::WSConstanciaInscripcion` | Constancia de inscripción |
|
|
73
74
|
| Padrón A4 / A5 / A100 | `Arca::PersonaServiceA4`, `PersonaServiceA5`, `PersonaServiceA100` | Consulta padrón de contribuyentes |
|
|
74
75
|
| WConsDeclaracion | `Arca::WConsDeclaracion` | Declaraciones aduaneras |
|
|
76
|
+
| VEConsumer | `Arca::VEConsumer` | Ventanilla Electrónica — comunicaciones del contribuyente |
|
|
75
77
|
|
|
76
78
|
## Uso
|
|
77
79
|
|
|
@@ -173,6 +175,33 @@ ws = Arca::WSConstanciaInscripcion.new(env: :development, cuit: '20123456789', k
|
|
|
173
175
|
ws.get_persona('20123456789')
|
|
174
176
|
```
|
|
175
177
|
|
|
178
|
+
### VEConsumer (Ventanilla Electrónica)
|
|
179
|
+
```ruby
|
|
180
|
+
ws = Arca::VEConsumer.new(env: :development, cuit: '20123456789', key: key, cert: cert)
|
|
181
|
+
|
|
182
|
+
# Consultar comunicaciones (paginado, con filtros opcionales)
|
|
183
|
+
r = ws.consultar_comunicaciones(estado: 1, pagina: 1)
|
|
184
|
+
r[:items] # Array de ComunicacionSimplificada
|
|
185
|
+
r[:total_paginas] # total de páginas
|
|
186
|
+
|
|
187
|
+
# Leer una comunicación (la marca como leída)
|
|
188
|
+
com = ws.consumir_comunicacion(12_061_068)
|
|
189
|
+
com[:estado] # "2" (leída)
|
|
190
|
+
com[:adjuntos] # [] si no tiene adjuntos
|
|
191
|
+
|
|
192
|
+
# Leer con adjuntos binarios vía MTOM
|
|
193
|
+
com = ws.consumir_comunicacion(12_061_068, incluir_adjuntos: true)
|
|
194
|
+
com[:adjuntos][0][:filename] # "informe.pdf"
|
|
195
|
+
com[:adjuntos][0][:content] # contenido binario (String)
|
|
196
|
+
|
|
197
|
+
# Sistemas publicadores habilitados
|
|
198
|
+
ws.consultar_sistemas_publicadores
|
|
199
|
+
ws.consultar_sistemas_publicadores(id_sistema_publicador: 88)
|
|
200
|
+
|
|
201
|
+
# Estados posibles (1=No leída, 2=Leída)
|
|
202
|
+
ws.consultar_estados
|
|
203
|
+
```
|
|
204
|
+
|
|
176
205
|
### WConsDeclaracion (Declaraciones aduaneras)
|
|
177
206
|
```ruby
|
|
178
207
|
ws = Arca::WConsDeclaracion.new(cuit: '20123456789', key: key, cert: cert, env: :development)
|
data/bin/devcontainer
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
export DEBIAN_FRONTEND=noninteractive
|
|
5
|
+
|
|
6
|
+
# Add Charm apt repo for gum and gitleaks
|
|
7
|
+
sudo mkdir -p /etc/apt/keyrings
|
|
8
|
+
curl -fsSL https://repo.charm.sh/apt/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/charm.gpg > /dev/null
|
|
9
|
+
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list > /dev/null
|
|
10
|
+
|
|
11
|
+
sudo apt-get update
|
|
12
|
+
sudo apt-get install -y --no-install-recommends \
|
|
13
|
+
ca-certificates \
|
|
14
|
+
curl \
|
|
15
|
+
gh \
|
|
16
|
+
gum \
|
|
17
|
+
zlib1g-dev
|
|
18
|
+
|
|
19
|
+
sudo rm -rf /var/lib/apt/lists/*
|
|
20
|
+
|
|
21
|
+
if ! command -v mise >/dev/null 2>&1; then
|
|
22
|
+
curl -fsSL https://mise.jdx.dev/install.sh | sh
|
|
23
|
+
ln -sfn "$HOME/.local/bin/mise" /usr/local/bin/mise
|
|
24
|
+
mise trust
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# Claude Code CLI
|
|
28
|
+
curl -fsSL https://claude.ai/install.sh | bash
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# VEConsumer: Web Service de Ventanilla Electrónica - Consumir Comunicaciones (AFIP).
|
|
4
|
+
# Permite consultar y leer comunicaciones enviadas a un contribuyente.
|
|
5
|
+
# Documentación: VE-CU-WS-Consumir-Comunicaciones v1.3.0.
|
|
6
|
+
# Id del servicio WSAA: "veconsumerws".
|
|
7
|
+
module Arca
|
|
8
|
+
class VEConsumer
|
|
9
|
+
WSDL = {
|
|
10
|
+
development: "https://stable-middleware-tecno-ext.afip.gob.ar/ve-ws/services/veconsumer?wsdl",
|
|
11
|
+
production: "https://infraestructura.afip.gob.ar/ve-ws/services/veconsumer?wsdl",
|
|
12
|
+
test: "#{Root}/test/fixtures/ve_consumer/ve_consumer.wsdl"
|
|
13
|
+
}.freeze
|
|
14
|
+
|
|
15
|
+
attr_reader :wsaa, :cuit
|
|
16
|
+
|
|
17
|
+
def initialize(options = {})
|
|
18
|
+
@cuit = normalize_cuit(options[:cuit])
|
|
19
|
+
@wsaa = WSAA.new options.merge(service: "veconsumerws")
|
|
20
|
+
@client = Client.new Hash(options[:savon]).reverse_merge(
|
|
21
|
+
wsdl: WSDL[@wsaa.env],
|
|
22
|
+
soap_version: 2,
|
|
23
|
+
convert_request_keys_to: :camelcase
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Consulta comunicaciones del contribuyente con filtros opcionales.
|
|
28
|
+
# Claves opcionales del filter: estado, fecha_desde, fecha_hasta,
|
|
29
|
+
# comunicacion_id_desde, comunicacion_id_hasta, tiene_adjunto,
|
|
30
|
+
# sistema_publicador_id, pagina, resultados_por_pagina,
|
|
31
|
+
# referencia1, referencia2.
|
|
32
|
+
# Retorna un hash con :pagina, :total_paginas, :items_por_pagina,
|
|
33
|
+
# :total_items e :items (Array de ComunicacionSimplificada).
|
|
34
|
+
def consultar_comunicaciones(filter = {})
|
|
35
|
+
r = raw_request(:consultar_comunicaciones, auth_request.merge(filter: filter))
|
|
36
|
+
paginada = r[:respuesta_paginada]
|
|
37
|
+
paginada.merge(items: get_array(paginada[:items], :comunicacion_simplificada))
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Recupera una comunicación por id y la marca como leída.
|
|
41
|
+
# Con incluir_adjuntos: true se incluyen los adjuntos vía MTOM en la respuesta;
|
|
42
|
+
# el contenido binario de cada adjunto queda en :content como String.
|
|
43
|
+
# Retorna la Comunicacion con :adjuntos como Array.
|
|
44
|
+
def consumir_comunicacion(id_comunicacion, incluir_adjuntos: false)
|
|
45
|
+
response = client_request(:consumir_comunicacion, auth_request.merge(
|
|
46
|
+
id_comunicacion: id_comunicacion,
|
|
47
|
+
incluir_adjuntos: incluir_adjuntos
|
|
48
|
+
))
|
|
49
|
+
resp = response.to_hash[:consumir_comunicacion_response]
|
|
50
|
+
raise ServerError, "Unexpected response structure" unless resp
|
|
51
|
+
|
|
52
|
+
comunicacion = resp[:comunicacion]
|
|
53
|
+
comunicacion.merge(adjuntos: build_adjuntos(comunicacion[:adjuntos], response.attachments))
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Lista los sistemas publicadores habilitados en Ventanilla Electrónica.
|
|
57
|
+
# Con id_sistema_publicador filtra por sistema específico.
|
|
58
|
+
def consultar_sistemas_publicadores(id_sistema_publicador: nil)
|
|
59
|
+
params = auth_request
|
|
60
|
+
params = params.merge(id_sistema_publicador: id_sistema_publicador) if id_sistema_publicador
|
|
61
|
+
r = raw_request(:consultar_sistemas_publicadores, params)
|
|
62
|
+
Array.wrap(r.dig(:sistemas, :sistema))
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
# Lista los posibles estados de una comunicación. 1=No leída, 2=Leída.
|
|
66
|
+
def consultar_estados
|
|
67
|
+
r = raw_request(:consultar_estados, auth_request)
|
|
68
|
+
Array.wrap(r.dig(:estados, :estado))
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
private
|
|
72
|
+
|
|
73
|
+
def auth_request
|
|
74
|
+
{ auth_request: @wsaa.auth.merge(cuit_representada: cuit) }
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def client_request(action, body)
|
|
78
|
+
@client.request(action, body)
|
|
79
|
+
rescue ServerError => e
|
|
80
|
+
raise parse_fault(e)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def raw_request(action, body)
|
|
84
|
+
resp = client_request(action, body).to_hash[:"#{action}_response"]
|
|
85
|
+
raise ServerError, "Unexpected response structure" unless resp
|
|
86
|
+
|
|
87
|
+
resp
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def parse_fault(error)
|
|
91
|
+
match = error.message.match(/Error (\d+): (.+)/)
|
|
92
|
+
return error unless match
|
|
93
|
+
|
|
94
|
+
ResponseError.new([ { code: match[1], msg: match[2].strip } ])
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
def build_adjuntos(adjuntos_element, mtom_parts)
|
|
98
|
+
return [] unless adjuntos_element && adjuntos_element[:adjunto]
|
|
99
|
+
|
|
100
|
+
items = Array.wrap(adjuntos_element[:adjunto])
|
|
101
|
+
return items if mtom_parts.empty?
|
|
102
|
+
|
|
103
|
+
by_cid = mtom_parts.each_with_object({}) do |part, h|
|
|
104
|
+
cid = part.header[:content_id].to_s.tr("<>", "")
|
|
105
|
+
h[cid] = part.body.decoded
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
items.map do |adj|
|
|
109
|
+
href = adj.dig(:content, :include, :"@href").to_s
|
|
110
|
+
next adj unless href.start_with?("cid:")
|
|
111
|
+
|
|
112
|
+
cid = href.delete_prefix("cid:")
|
|
113
|
+
adj.merge(content: by_cid.fetch(cid, adj[:content]))
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
def get_array(container, element)
|
|
118
|
+
return [] unless container && container[element]
|
|
119
|
+
|
|
120
|
+
Array.wrap(container[element])
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
def normalize_cuit(value)
|
|
124
|
+
if value.nil? || value == ""
|
|
125
|
+
0
|
|
126
|
+
else
|
|
127
|
+
value.to_s.gsub(/\D/, "").to_i
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
end
|
data/lib/arca/version.rb
CHANGED
data/lib/arca/wsfe.rb
CHANGED
|
@@ -60,11 +60,17 @@ module Arca
|
|
|
60
60
|
x2r get_array(r, :tributo_tipo), id: :integer, fch_desde: :date, fch_hasta: :date
|
|
61
61
|
end
|
|
62
62
|
|
|
63
|
-
def tipos_condicion_iva_receptor
|
|
64
|
-
|
|
63
|
+
def tipos_condicion_iva_receptor(clase_cmp: nil)
|
|
64
|
+
params = clase_cmp ? auth.merge("ClaseCmp" => clase_cmp) : auth
|
|
65
|
+
r = request :fe_param_get_condicion_iva_receptor, params
|
|
65
66
|
x2r get_array(r, :condicion_iva_receptor), id: :integer
|
|
66
67
|
end
|
|
67
68
|
|
|
69
|
+
def actividades
|
|
70
|
+
r = request :fe_param_get_actividades, auth
|
|
71
|
+
x2r get_array(r, :actividades_tipo), id: :integer, orden: :integer
|
|
72
|
+
end
|
|
73
|
+
|
|
68
74
|
def puntos_venta
|
|
69
75
|
r = request :fe_param_get_ptos_venta, auth
|
|
70
76
|
# Extract standard fields: nro, fch_baja, bloqueado
|
|
@@ -167,6 +173,11 @@ module Arca
|
|
|
167
173
|
request :fecaea_sin_movimiento_informar, auth.merge("CAEA" => caea, "PtoVta" => pto_vta)
|
|
168
174
|
end
|
|
169
175
|
|
|
176
|
+
def consultar_caea_sin_movimientos(caea, pto_vta)
|
|
177
|
+
r = request :fecaea_sin_movimiento_consultar, auth.merge("CAEA" => caea, "PtoVta" => pto_vta)
|
|
178
|
+
x2r get_array(r, :fecaea_sin_mov), pto_vta: :integer
|
|
179
|
+
end
|
|
180
|
+
|
|
170
181
|
def ultimo_comprobante_autorizado(opciones)
|
|
171
182
|
request(:fe_comp_ultimo_autorizado, auth.merge(opciones))[:cbte_nro].to_i
|
|
172
183
|
end
|
data/lib/arca.rb
CHANGED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "test_helper"
|
|
4
|
+
|
|
5
|
+
module Arca
|
|
6
|
+
class VEConsumerTest < TestCase
|
|
7
|
+
def ta
|
|
8
|
+
@ta ||= { token: "t", sign: "s" }
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def ws
|
|
12
|
+
@ws ||= VEConsumer.new(cuit: "20111111112").tap { |w| w.wsaa.stubs auth: ta }
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def test_consultar_comunicaciones
|
|
16
|
+
savon.expects(:consultar_comunicaciones)
|
|
17
|
+
.with(message: { auth_request: ta.merge(cuit_representada: 20_111_111_112), filter: {} })
|
|
18
|
+
.returns(fixture("ve_consumer/consultar_comunicaciones/success"))
|
|
19
|
+
r = ws.consultar_comunicaciones
|
|
20
|
+
assert_equal "1", r[:pagina]
|
|
21
|
+
assert_equal "1", r[:total_paginas]
|
|
22
|
+
assert_equal 1, r[:items].size
|
|
23
|
+
assert_hash_includes r[:items][0], id_comunicacion: "1", estado_desc: "Comunicacion Leida"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
def test_consultar_comunicaciones_con_filtros
|
|
27
|
+
savon.expects(:consultar_comunicaciones)
|
|
28
|
+
.with(message: {
|
|
29
|
+
auth_request: ta.merge(cuit_representada: 20_111_111_112),
|
|
30
|
+
filter: { estado: 1, fecha_desde: "2012-01-01", pagina: 2 }
|
|
31
|
+
})
|
|
32
|
+
.returns(fixture("ve_consumer/consultar_comunicaciones/success"))
|
|
33
|
+
ws.consultar_comunicaciones(estado: 1, fecha_desde: "2012-01-01", pagina: 2)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def test_consumir_comunicacion
|
|
37
|
+
savon.expects(:consumir_comunicacion)
|
|
38
|
+
.with(message: {
|
|
39
|
+
auth_request: ta.merge(cuit_representada: 20_111_111_112),
|
|
40
|
+
id_comunicacion: 12_061_068,
|
|
41
|
+
incluir_adjuntos: false
|
|
42
|
+
})
|
|
43
|
+
.returns(fixture("ve_consumer/consumir_comunicacion/success"))
|
|
44
|
+
r = ws.consumir_comunicacion(12_061_068)
|
|
45
|
+
assert_hash_includes r, id_comunicacion: "12061068", estado: "1"
|
|
46
|
+
assert_equal [], r[:adjuntos]
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def test_consumir_comunicacion_con_adjuntos
|
|
50
|
+
boundary = "testboundary"
|
|
51
|
+
xml_part = fixture("ve_consumer/consumir_comunicacion/with_adjuntos")
|
|
52
|
+
binary = "PKbinarydata"
|
|
53
|
+
multipart_body = "--#{boundary}\r\nContent-Type: application/xop+xml; charset=UTF-8\r\n\r\n" \
|
|
54
|
+
"#{xml_part}\r\n" \
|
|
55
|
+
"--#{boundary}\r\nContent-Type: application/octet-stream\r\nContent-ID: <testcid@test>\r\n\r\n" \
|
|
56
|
+
"#{binary}\r\n" \
|
|
57
|
+
"--#{boundary}--\r\n"
|
|
58
|
+
savon.expects(:consumir_comunicacion)
|
|
59
|
+
.with(message: {
|
|
60
|
+
auth_request: ta.merge(cuit_representada: 20_111_111_112),
|
|
61
|
+
id_comunicacion: 12_061_068,
|
|
62
|
+
incluir_adjuntos: true
|
|
63
|
+
})
|
|
64
|
+
.returns(code: 200,
|
|
65
|
+
headers: { "Content-Type" => "multipart/related; boundary=\"#{boundary}\"" },
|
|
66
|
+
body: multipart_body)
|
|
67
|
+
r = ws.consumir_comunicacion(12_061_068, incluir_adjuntos: true)
|
|
68
|
+
assert_equal 1, r[:adjuntos].size
|
|
69
|
+
assert_equal "attach.zip", r[:adjuntos][0][:filename]
|
|
70
|
+
assert_equal binary, r[:adjuntos][0][:content]
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_soap_fault_levanta_response_error
|
|
74
|
+
savon.expects(:consultar_comunicaciones)
|
|
75
|
+
.with(message: :any)
|
|
76
|
+
.returns(fixture("ve_consumer/consultar_comunicaciones/soap_fault"))
|
|
77
|
+
error = assert_raises(ResponseError) { ws.consultar_comunicaciones }
|
|
78
|
+
assert error.code?(104)
|
|
79
|
+
assert_equal "104", error.errors[0][:code]
|
|
80
|
+
assert_equal "La Comunicación [1] no existe", error.errors[0][:msg]
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def test_consultar_sistemas_publicadores
|
|
84
|
+
savon.expects(:consultar_sistemas_publicadores)
|
|
85
|
+
.with(message: { auth_request: ta.merge(cuit_representada: 20_111_111_112) })
|
|
86
|
+
.returns(fixture("ve_consumer/consultar_sistemas_publicadores/success"))
|
|
87
|
+
r = ws.consultar_sistemas_publicadores
|
|
88
|
+
assert_equal 1, r.size
|
|
89
|
+
assert_hash_includes r[0], id: "88", descripcion: "MDQ"
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def test_consultar_sistemas_publicadores_con_id
|
|
93
|
+
savon.expects(:consultar_sistemas_publicadores)
|
|
94
|
+
.with(message: {
|
|
95
|
+
auth_request: ta.merge(cuit_representada: 20_111_111_112),
|
|
96
|
+
id_sistema_publicador: 88
|
|
97
|
+
})
|
|
98
|
+
.returns(fixture("ve_consumer/consultar_sistemas_publicadores/success"))
|
|
99
|
+
ws.consultar_sistemas_publicadores(id_sistema_publicador: 88)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_consultar_estados
|
|
103
|
+
savon.expects(:consultar_estados)
|
|
104
|
+
.with(message: { auth_request: ta.merge(cuit_representada: 20_111_111_112) })
|
|
105
|
+
.returns(fixture("ve_consumer/consultar_estados/success"))
|
|
106
|
+
r = ws.consultar_estados
|
|
107
|
+
assert_equal 2, r.size
|
|
108
|
+
assert_hash_includes r[0], id: "1", descripcion: "Comunicacion No Leida"
|
|
109
|
+
assert_equal "2", r[1][:id]
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def test_entorno_development
|
|
113
|
+
Client.expects(:new).with { |opts| opts[:wsdl] == WSAA::WSDL[:development] }.returns(stub(operations: []))
|
|
114
|
+
Client.expects(:new).with do |opts|
|
|
115
|
+
opts[:wsdl] == VEConsumer::WSDL[:development] && opts[:soap_version] == 2
|
|
116
|
+
end.returns(stub(operations: []))
|
|
117
|
+
VEConsumer.new(cuit: "1", env: :development)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def test_entorno_production
|
|
121
|
+
Client.expects(:new).with { |opts| opts[:wsdl] == WSAA::WSDL[:production] }.returns(stub(operations: []))
|
|
122
|
+
Client.expects(:new).with do |opts|
|
|
123
|
+
opts[:wsdl] == VEConsumer::WSDL[:production] && opts[:soap_version] == 2
|
|
124
|
+
end.returns(stub(operations: []))
|
|
125
|
+
VEConsumer.new(cuit: "1", env: :production)
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
end
|
data/test/arca/wsfe_test.rb
CHANGED
|
@@ -63,6 +63,28 @@ module Arca
|
|
|
63
63
|
ws.tipos_tributos
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
+
def test_tipos_condicion_iva_receptor
|
|
67
|
+
savon.expects(:fe_param_get_condicion_iva_receptor).with(message: auth)
|
|
68
|
+
.returns(fixture("wsfe/fe_param_get_condicion_iva_receptor/success"))
|
|
69
|
+
result = ws.tipos_condicion_iva_receptor
|
|
70
|
+
assert_equal 1, result.first[:id]
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def test_tipos_condicion_iva_receptor_con_clase_cmp
|
|
74
|
+
savon.expects(:fe_param_get_condicion_iva_receptor)
|
|
75
|
+
.with(message: has_path("//Auth/Token" => "t", "//ClaseCmp" => "A"))
|
|
76
|
+
.returns(fixture("wsfe/fe_param_get_condicion_iva_receptor/success"))
|
|
77
|
+
ws.tipos_condicion_iva_receptor(clase_cmp: "A")
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
def test_actividades
|
|
81
|
+
savon.expects(:fe_param_get_actividades).with(message: auth).returns(fixture("wsfe/fe_param_get_actividades/success"))
|
|
82
|
+
assert_equal [
|
|
83
|
+
{ id: 620000, orden: 1, desc: "Telecomunicaciones alámbricas" },
|
|
84
|
+
{ id: 620100, orden: 2, desc: "Telecomunicaciones inalámbricas" }
|
|
85
|
+
], ws.actividades
|
|
86
|
+
end
|
|
87
|
+
|
|
66
88
|
def test_puntos_venta
|
|
67
89
|
savon.expects(:fe_param_get_ptos_venta).with(message: auth).returns(fixture("wsfe/fe_param_get_ptos_venta/success"))
|
|
68
90
|
assert_equal [
|
|
@@ -215,6 +237,14 @@ module Arca
|
|
|
215
237
|
assert_hash_includes rta, caea: "21043476341977", resultado: "A"
|
|
216
238
|
end
|
|
217
239
|
|
|
240
|
+
def test_consultar_caea_sin_movimientos
|
|
241
|
+
savon.expects(:fecaea_sin_movimiento_consultar).with(message: has_path(
|
|
242
|
+
"//Auth/Token" => "t", "//CAEA" => "21043476341977", "//PtoVta" => 3
|
|
243
|
+
)).returns(fixture("wsfe/fecaea_sin_movimiento_consultar/success"))
|
|
244
|
+
assert_equal [{ caea: "21043476341977", fch_proceso: "20110202", pto_vta: 3 }],
|
|
245
|
+
ws.consultar_caea_sin_movimientos("21043476341977", 3)
|
|
246
|
+
end
|
|
247
|
+
|
|
218
248
|
def test_consultar_caea
|
|
219
249
|
savon.expects(:fecaea_consultar).with(message: has_path("//Periodo" => "201101",
|
|
220
250
|
"//Orden" => 1)).returns(fixture("wsfe/fecaea_consultar/success"))
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
|
|
3
|
+
<soap:Body>
|
|
4
|
+
<soap:Fault>
|
|
5
|
+
<soap:Code>
|
|
6
|
+
<soap:Value>soap:Receiver</soap:Value>
|
|
7
|
+
</soap:Code>
|
|
8
|
+
<soap:Reason>
|
|
9
|
+
<soap:Text xml:lang="en">Error 104: La Comunicación [1] no existe</soap:Text>
|
|
10
|
+
</soap:Reason>
|
|
11
|
+
</soap:Fault>
|
|
12
|
+
</soap:Body>
|
|
13
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
|
|
3
|
+
<soap:Body>
|
|
4
|
+
<consultarComunicacionesResponse xmlns="http://ve.tecno.afip.gov.ar/domain/service/ws">
|
|
5
|
+
<RespuestaPaginada>
|
|
6
|
+
<pagina>1</pagina>
|
|
7
|
+
<totalPaginas>1</totalPaginas>
|
|
8
|
+
<itemsPorPagina>10</itemsPorPagina>
|
|
9
|
+
<totalItems>1</totalItems>
|
|
10
|
+
<items>
|
|
11
|
+
<ComunicacionSimplificada>
|
|
12
|
+
<idComunicacion>1</idComunicacion>
|
|
13
|
+
<cuitDestinatario>20111111112</cuitDestinatario>
|
|
14
|
+
<fechaPublicacion>2012-03-01 00:00:00</fechaPublicacion>
|
|
15
|
+
<fechaVencimiento>2012-03-01</fechaVencimiento>
|
|
16
|
+
<sistemaPublicador>19</sistemaPublicador>
|
|
17
|
+
<sistemaPublicadorDesc>Osiris</sistemaPublicadorDesc>
|
|
18
|
+
<estado>2</estado>
|
|
19
|
+
<estadoDesc>Comunicacion Leida</estadoDesc>
|
|
20
|
+
<asunto>Usted tiene un archivo adjunto</asunto>
|
|
21
|
+
<prioridad>3</prioridad>
|
|
22
|
+
<tieneAdjunto>true</tieneAdjunto>
|
|
23
|
+
</ComunicacionSimplificada>
|
|
24
|
+
</items>
|
|
25
|
+
</RespuestaPaginada>
|
|
26
|
+
</consultarComunicacionesResponse>
|
|
27
|
+
</soap:Body>
|
|
28
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
|
|
3
|
+
<soap:Body>
|
|
4
|
+
<consultarEstadosResponse xmlns="http://ve.tecno.afip.gov.ar/domain/service/ws">
|
|
5
|
+
<Estados>
|
|
6
|
+
<Estado>
|
|
7
|
+
<id>1</id>
|
|
8
|
+
<descripcion>Comunicacion No Leida</descripcion>
|
|
9
|
+
</Estado>
|
|
10
|
+
<Estado>
|
|
11
|
+
<id>2</id>
|
|
12
|
+
<descripcion>Comunicacion Leida</descripcion>
|
|
13
|
+
</Estado>
|
|
14
|
+
</Estados>
|
|
15
|
+
</consultarEstadosResponse>
|
|
16
|
+
</soap:Body>
|
|
17
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
|
|
3
|
+
<soap:Body>
|
|
4
|
+
<consultarSistemasPublicadoresResponse xmlns="http://ve.tecno.afip.gov.ar/domain/service/ws">
|
|
5
|
+
<Sistemas>
|
|
6
|
+
<Sistema>
|
|
7
|
+
<id>88</id>
|
|
8
|
+
<descripcion>MDQ</descripcion>
|
|
9
|
+
<certCN>mdqCN</certCN>
|
|
10
|
+
<subservicios/>
|
|
11
|
+
</Sistema>
|
|
12
|
+
</Sistemas>
|
|
13
|
+
</consultarSistemasPublicadoresResponse>
|
|
14
|
+
</soap:Body>
|
|
15
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
|
|
3
|
+
<soap:Body>
|
|
4
|
+
<consumirComunicacionResponse xmlns="http://ve.tecno.afip.gov.ar/domain/service/ws">
|
|
5
|
+
<Comunicacion>
|
|
6
|
+
<idComunicacion>12061068</idComunicacion>
|
|
7
|
+
<cuitDestinatario>20111111112</cuitDestinatario>
|
|
8
|
+
<fechaPublicacion>2011-04-18 13:06:00</fechaPublicacion>
|
|
9
|
+
<sistemaPublicador>1</sistemaPublicador>
|
|
10
|
+
<sistemaPublicadorDesc>Sistema Ventanilla Electronica</sistemaPublicadorDesc>
|
|
11
|
+
<estado>1</estado>
|
|
12
|
+
<estadoDesc>Comunicacion No Leida</estadoDesc>
|
|
13
|
+
<asunto>Actualizacion de Certificado</asunto>
|
|
14
|
+
<prioridad>2</prioridad>
|
|
15
|
+
<adjuntos/>
|
|
16
|
+
</Comunicacion>
|
|
17
|
+
</consumirComunicacionResponse>
|
|
18
|
+
</soap:Body>
|
|
19
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
|
|
3
|
+
<soap:Body>
|
|
4
|
+
<consumirComunicacionResponse xmlns="http://ve.tecno.afip.gov.ar/domain/service/ws">
|
|
5
|
+
<Comunicacion>
|
|
6
|
+
<idComunicacion>12061068</idComunicacion>
|
|
7
|
+
<cuitDestinatario>20111111112</cuitDestinatario>
|
|
8
|
+
<fechaPublicacion>2011-07-12 12:21:39</fechaPublicacion>
|
|
9
|
+
<fechaVencimiento>2011-07-12</fechaVencimiento>
|
|
10
|
+
<sistemaPublicador>88</sistemaPublicador>
|
|
11
|
+
<sistemaPublicadorDesc>MDQ</sistemaPublicadorDesc>
|
|
12
|
+
<estado>1</estado>
|
|
13
|
+
<estadoDesc>Comunicacion No Leida</estadoDesc>
|
|
14
|
+
<asunto>Mensaje generado por VeClient</asunto>
|
|
15
|
+
<prioridad>1</prioridad>
|
|
16
|
+
<adjuntos>
|
|
17
|
+
<adjunto>
|
|
18
|
+
<filename>attach.zip</filename>
|
|
19
|
+
<compressed>false</compressed>
|
|
20
|
+
<signed>false</signed>
|
|
21
|
+
<encrypted>false</encrypted>
|
|
22
|
+
<processed>false</processed>
|
|
23
|
+
<public>false</public>
|
|
24
|
+
<md5>2ea67624b8cc4340a2a6d4821627412d</md5>
|
|
25
|
+
<contentSize>453</contentSize>
|
|
26
|
+
<content>
|
|
27
|
+
<xop:Include href="cid:testcid@test" xmlns:xop="http://www.w3.org/2004/08/xop/include"/>
|
|
28
|
+
</content>
|
|
29
|
+
</adjunto>
|
|
30
|
+
</adjuntos>
|
|
31
|
+
</Comunicacion>
|
|
32
|
+
</consumirComunicacionResponse>
|
|
33
|
+
</soap:Body>
|
|
34
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
|
|
3
|
+
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
|
|
4
|
+
xmlns:tns="http://ve.tecno.afip.gov.ar/domain/service/ws"
|
|
5
|
+
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
|
6
|
+
targetNamespace="http://ve.tecno.afip.gov.ar/domain/service/ws"
|
|
7
|
+
xmlns="http://schemas.xmlsoap.org/wsdl/">
|
|
8
|
+
<wsdl:types>
|
|
9
|
+
<xsd:schema targetNamespace="http://ve.tecno.afip.gov.ar/domain/service/ws">
|
|
10
|
+
<xsd:complexType name="AuthRequestType">
|
|
11
|
+
<xsd:sequence>
|
|
12
|
+
<xsd:element name="token" type="xsd:string"/>
|
|
13
|
+
<xsd:element name="sign" type="xsd:string"/>
|
|
14
|
+
<xsd:element name="cuitRepresentada" type="xsd:long"/>
|
|
15
|
+
</xsd:sequence>
|
|
16
|
+
</xsd:complexType>
|
|
17
|
+
<xsd:complexType name="FilterType">
|
|
18
|
+
<xsd:sequence>
|
|
19
|
+
<xsd:element name="estado" type="xsd:int" minOccurs="0"/>
|
|
20
|
+
<xsd:element name="fechaDesde" type="xsd:string" minOccurs="0"/>
|
|
21
|
+
<xsd:element name="fechaHasta" type="xsd:string" minOccurs="0"/>
|
|
22
|
+
<xsd:element name="comunicacionIdDesde" type="xsd:long" minOccurs="0"/>
|
|
23
|
+
<xsd:element name="comunicacionIdHasta" type="xsd:long" minOccurs="0"/>
|
|
24
|
+
<xsd:element name="tieneAdjunto" type="xsd:boolean" minOccurs="0"/>
|
|
25
|
+
<xsd:element name="sistemaPublicadorId" type="xsd:int" minOccurs="0"/>
|
|
26
|
+
<xsd:element name="pagina" type="xsd:int" minOccurs="0"/>
|
|
27
|
+
<xsd:element name="resultadosPorPagina" type="xsd:int" minOccurs="0"/>
|
|
28
|
+
<xsd:element name="referencia1" type="xsd:string" minOccurs="0"/>
|
|
29
|
+
<xsd:element name="referencia2" type="xsd:string" minOccurs="0"/>
|
|
30
|
+
</xsd:sequence>
|
|
31
|
+
</xsd:complexType>
|
|
32
|
+
<xsd:element name="consultarComunicaciones" type="tns:ConsultarComunicacionesType"/>
|
|
33
|
+
<xsd:complexType name="ConsultarComunicacionesType">
|
|
34
|
+
<xsd:sequence>
|
|
35
|
+
<xsd:element name="authRequest" type="tns:AuthRequestType"/>
|
|
36
|
+
<xsd:element name="filter" type="tns:FilterType" minOccurs="0"/>
|
|
37
|
+
</xsd:sequence>
|
|
38
|
+
</xsd:complexType>
|
|
39
|
+
<xsd:element name="consultarComunicacionesResponse" type="tns:ConsultarComunicacionesResponseType"/>
|
|
40
|
+
<xsd:complexType name="ConsultarComunicacionesResponseType">
|
|
41
|
+
<xsd:sequence>
|
|
42
|
+
<xsd:element name="RespuestaPaginada" type="tns:RespuestaPaginadaType"/>
|
|
43
|
+
</xsd:sequence>
|
|
44
|
+
</xsd:complexType>
|
|
45
|
+
<xsd:complexType name="RespuestaPaginadaType">
|
|
46
|
+
<xsd:sequence>
|
|
47
|
+
<xsd:element name="pagina" type="xsd:int"/>
|
|
48
|
+
<xsd:element name="totalPaginas" type="xsd:int"/>
|
|
49
|
+
<xsd:element name="itemsPorPagina" type="xsd:int"/>
|
|
50
|
+
<xsd:element name="totalItems" type="xsd:int"/>
|
|
51
|
+
<xsd:element name="items" type="tns:ItemsType" minOccurs="0"/>
|
|
52
|
+
</xsd:sequence>
|
|
53
|
+
</xsd:complexType>
|
|
54
|
+
<xsd:complexType name="ItemsType">
|
|
55
|
+
<xsd:sequence>
|
|
56
|
+
<xsd:element name="ComunicacionSimplificada" type="tns:ComunicacionSimplificadaType"
|
|
57
|
+
minOccurs="0" maxOccurs="unbounded"/>
|
|
58
|
+
</xsd:sequence>
|
|
59
|
+
</xsd:complexType>
|
|
60
|
+
<xsd:complexType name="ComunicacionSimplificadaType">
|
|
61
|
+
<xsd:sequence>
|
|
62
|
+
<xsd:element name="idComunicacion" type="xsd:long"/>
|
|
63
|
+
<xsd:element name="cuitDestinatario" type="xsd:long"/>
|
|
64
|
+
<xsd:element name="fechaPublicacion" type="xsd:string"/>
|
|
65
|
+
<xsd:element name="fechaVencimiento" type="xsd:string" minOccurs="0"/>
|
|
66
|
+
<xsd:element name="sistemaPublicador" type="xsd:int"/>
|
|
67
|
+
<xsd:element name="sistemaPublicadorDesc" type="xsd:string"/>
|
|
68
|
+
<xsd:element name="estado" type="xsd:int"/>
|
|
69
|
+
<xsd:element name="estadoDesc" type="xsd:string"/>
|
|
70
|
+
<xsd:element name="asunto" type="xsd:string"/>
|
|
71
|
+
<xsd:element name="prioridad" type="xsd:int"/>
|
|
72
|
+
<xsd:element name="tieneAdjunto" type="xsd:boolean"/>
|
|
73
|
+
</xsd:sequence>
|
|
74
|
+
</xsd:complexType>
|
|
75
|
+
<xsd:element name="consumirComunicacion" type="tns:ConsumirComunicacionType"/>
|
|
76
|
+
<xsd:complexType name="ConsumirComunicacionType">
|
|
77
|
+
<xsd:sequence>
|
|
78
|
+
<xsd:element name="authRequest" type="tns:AuthRequestType"/>
|
|
79
|
+
<xsd:element name="idComunicacion" type="xsd:long"/>
|
|
80
|
+
<xsd:element name="incluirAdjuntos" type="xsd:boolean"/>
|
|
81
|
+
</xsd:sequence>
|
|
82
|
+
</xsd:complexType>
|
|
83
|
+
<xsd:element name="consumirComunicacionResponse" type="tns:ConsumirComunicacionResponseType"/>
|
|
84
|
+
<xsd:complexType name="ConsumirComunicacionResponseType">
|
|
85
|
+
<xsd:sequence>
|
|
86
|
+
<xsd:element name="Comunicacion" type="tns:ComunicacionType"/>
|
|
87
|
+
</xsd:sequence>
|
|
88
|
+
</xsd:complexType>
|
|
89
|
+
<xsd:complexType name="ComunicacionType">
|
|
90
|
+
<xsd:sequence>
|
|
91
|
+
<xsd:element name="idComunicacion" type="xsd:long"/>
|
|
92
|
+
<xsd:element name="cuitDestinatario" type="xsd:long"/>
|
|
93
|
+
<xsd:element name="fechaPublicacion" type="xsd:string"/>
|
|
94
|
+
<xsd:element name="fechaVencimiento" type="xsd:string" minOccurs="0"/>
|
|
95
|
+
<xsd:element name="sistemaPublicador" type="xsd:int"/>
|
|
96
|
+
<xsd:element name="sistemaPublicadorDesc" type="xsd:string"/>
|
|
97
|
+
<xsd:element name="estado" type="xsd:int"/>
|
|
98
|
+
<xsd:element name="estadoDesc" type="xsd:string"/>
|
|
99
|
+
<xsd:element name="asunto" type="xsd:string"/>
|
|
100
|
+
<xsd:element name="prioridad" type="xsd:int"/>
|
|
101
|
+
<xsd:element name="tieneAdjunto" type="xsd:boolean" minOccurs="0"/>
|
|
102
|
+
<xsd:element name="mensaje" type="xsd:string" minOccurs="0"/>
|
|
103
|
+
<xsd:element name="adjuntos" type="tns:AdjuntosType" minOccurs="0"/>
|
|
104
|
+
</xsd:sequence>
|
|
105
|
+
</xsd:complexType>
|
|
106
|
+
<xsd:complexType name="AdjuntosType">
|
|
107
|
+
<xsd:sequence>
|
|
108
|
+
<xsd:element name="adjunto" type="tns:AdjuntoType" minOccurs="0" maxOccurs="unbounded"/>
|
|
109
|
+
</xsd:sequence>
|
|
110
|
+
</xsd:complexType>
|
|
111
|
+
<xsd:complexType name="AdjuntoType">
|
|
112
|
+
<xsd:sequence>
|
|
113
|
+
<xsd:element name="filename" type="xsd:string"/>
|
|
114
|
+
<xsd:element name="compressed" type="xsd:boolean"/>
|
|
115
|
+
<xsd:element name="signed" type="xsd:boolean"/>
|
|
116
|
+
<xsd:element name="encrypted" type="xsd:boolean"/>
|
|
117
|
+
<xsd:element name="processed" type="xsd:boolean"/>
|
|
118
|
+
<xsd:element name="public" type="xsd:boolean"/>
|
|
119
|
+
<xsd:element name="md5" type="xsd:string" minOccurs="0"/>
|
|
120
|
+
<xsd:element name="contentSize" type="xsd:long"/>
|
|
121
|
+
<xsd:element name="content" type="xsd:base64Binary"/>
|
|
122
|
+
</xsd:sequence>
|
|
123
|
+
</xsd:complexType>
|
|
124
|
+
<xsd:element name="consultarSistemasPublicadores" type="tns:ConsultarSistemasPublicadoresType"/>
|
|
125
|
+
<xsd:complexType name="ConsultarSistemasPublicadoresType">
|
|
126
|
+
<xsd:sequence>
|
|
127
|
+
<xsd:element name="authRequest" type="tns:AuthRequestType"/>
|
|
128
|
+
<xsd:element name="idSistemaPublicador" type="xsd:long" minOccurs="0"/>
|
|
129
|
+
</xsd:sequence>
|
|
130
|
+
</xsd:complexType>
|
|
131
|
+
<xsd:element name="consultarSistemasPublicadoresResponse" type="tns:ConsultarSistemasPublicadoresResponseType"/>
|
|
132
|
+
<xsd:complexType name="ConsultarSistemasPublicadoresResponseType">
|
|
133
|
+
<xsd:sequence>
|
|
134
|
+
<xsd:element name="Sistemas" type="tns:SistemasType"/>
|
|
135
|
+
</xsd:sequence>
|
|
136
|
+
</xsd:complexType>
|
|
137
|
+
<xsd:complexType name="SistemasType">
|
|
138
|
+
<xsd:sequence>
|
|
139
|
+
<xsd:element name="Sistema" type="tns:SistemaType" minOccurs="0" maxOccurs="unbounded"/>
|
|
140
|
+
</xsd:sequence>
|
|
141
|
+
</xsd:complexType>
|
|
142
|
+
<xsd:complexType name="SistemaType">
|
|
143
|
+
<xsd:sequence>
|
|
144
|
+
<xsd:element name="id" type="xsd:int"/>
|
|
145
|
+
<xsd:element name="descripcion" type="xsd:string"/>
|
|
146
|
+
<xsd:element name="certCN" type="xsd:string" minOccurs="0"/>
|
|
147
|
+
<xsd:element name="subservicios" type="tns:SubserviciosType" minOccurs="0"/>
|
|
148
|
+
</xsd:sequence>
|
|
149
|
+
</xsd:complexType>
|
|
150
|
+
<xsd:complexType name="SubserviciosType">
|
|
151
|
+
<xsd:sequence>
|
|
152
|
+
<xsd:element name="Subservicio" type="tns:SubservicioType" minOccurs="0" maxOccurs="unbounded"/>
|
|
153
|
+
</xsd:sequence>
|
|
154
|
+
</xsd:complexType>
|
|
155
|
+
<xsd:complexType name="SubservicioType">
|
|
156
|
+
<xsd:sequence>
|
|
157
|
+
<xsd:element name="nombre" type="xsd:string"/>
|
|
158
|
+
<xsd:element name="descripcion" type="xsd:string"/>
|
|
159
|
+
</xsd:sequence>
|
|
160
|
+
</xsd:complexType>
|
|
161
|
+
<xsd:element name="consultarEstados" type="tns:ConsultarEstadosType"/>
|
|
162
|
+
<xsd:complexType name="ConsultarEstadosType">
|
|
163
|
+
<xsd:sequence>
|
|
164
|
+
<xsd:element name="authRequest" type="tns:AuthRequestType"/>
|
|
165
|
+
</xsd:sequence>
|
|
166
|
+
</xsd:complexType>
|
|
167
|
+
<xsd:element name="consultarEstadosResponse" type="tns:ConsultarEstadosResponseType"/>
|
|
168
|
+
<xsd:complexType name="ConsultarEstadosResponseType">
|
|
169
|
+
<xsd:sequence>
|
|
170
|
+
<xsd:element name="Estados" type="tns:EstadosType"/>
|
|
171
|
+
</xsd:sequence>
|
|
172
|
+
</xsd:complexType>
|
|
173
|
+
<xsd:complexType name="EstadosType">
|
|
174
|
+
<xsd:sequence>
|
|
175
|
+
<xsd:element name="Estado" type="tns:EstadoType" minOccurs="0" maxOccurs="unbounded"/>
|
|
176
|
+
</xsd:sequence>
|
|
177
|
+
</xsd:complexType>
|
|
178
|
+
<xsd:complexType name="EstadoType">
|
|
179
|
+
<xsd:sequence>
|
|
180
|
+
<xsd:element name="id" type="xsd:int"/>
|
|
181
|
+
<xsd:element name="descripcion" type="xsd:string"/>
|
|
182
|
+
</xsd:sequence>
|
|
183
|
+
</xsd:complexType>
|
|
184
|
+
</xsd:schema>
|
|
185
|
+
</wsdl:types>
|
|
186
|
+
<wsdl:message name="consultarComunicacionesIn">
|
|
187
|
+
<wsdl:part name="parameters" element="tns:consultarComunicaciones"/>
|
|
188
|
+
</wsdl:message>
|
|
189
|
+
<wsdl:message name="consultarComunicacionesOut">
|
|
190
|
+
<wsdl:part name="parameters" element="tns:consultarComunicacionesResponse"/>
|
|
191
|
+
</wsdl:message>
|
|
192
|
+
<wsdl:message name="consumirComunicacionIn">
|
|
193
|
+
<wsdl:part name="parameters" element="tns:consumirComunicacion"/>
|
|
194
|
+
</wsdl:message>
|
|
195
|
+
<wsdl:message name="consumirComunicacionOut">
|
|
196
|
+
<wsdl:part name="parameters" element="tns:consumirComunicacionResponse"/>
|
|
197
|
+
</wsdl:message>
|
|
198
|
+
<wsdl:message name="consultarSistemasPublicadoresIn">
|
|
199
|
+
<wsdl:part name="parameters" element="tns:consultarSistemasPublicadores"/>
|
|
200
|
+
</wsdl:message>
|
|
201
|
+
<wsdl:message name="consultarSistemasPublicadoresOut">
|
|
202
|
+
<wsdl:part name="parameters" element="tns:consultarSistemasPublicadoresResponse"/>
|
|
203
|
+
</wsdl:message>
|
|
204
|
+
<wsdl:message name="consultarEstadosIn">
|
|
205
|
+
<wsdl:part name="parameters" element="tns:consultarEstados"/>
|
|
206
|
+
</wsdl:message>
|
|
207
|
+
<wsdl:message name="consultarEstadosOut">
|
|
208
|
+
<wsdl:part name="parameters" element="tns:consultarEstadosResponse"/>
|
|
209
|
+
</wsdl:message>
|
|
210
|
+
<wsdl:portType name="VEConsumerPort">
|
|
211
|
+
<wsdl:operation name="consultarComunicaciones">
|
|
212
|
+
<wsdl:input message="tns:consultarComunicacionesIn"/>
|
|
213
|
+
<wsdl:output message="tns:consultarComunicacionesOut"/>
|
|
214
|
+
</wsdl:operation>
|
|
215
|
+
<wsdl:operation name="consumirComunicacion">
|
|
216
|
+
<wsdl:input message="tns:consumirComunicacionIn"/>
|
|
217
|
+
<wsdl:output message="tns:consumirComunicacionOut"/>
|
|
218
|
+
</wsdl:operation>
|
|
219
|
+
<wsdl:operation name="consultarSistemasPublicadores">
|
|
220
|
+
<wsdl:input message="tns:consultarSistemasPublicadoresIn"/>
|
|
221
|
+
<wsdl:output message="tns:consultarSistemasPublicadoresOut"/>
|
|
222
|
+
</wsdl:operation>
|
|
223
|
+
<wsdl:operation name="consultarEstados">
|
|
224
|
+
<wsdl:input message="tns:consultarEstadosIn"/>
|
|
225
|
+
<wsdl:output message="tns:consultarEstadosOut"/>
|
|
226
|
+
</wsdl:operation>
|
|
227
|
+
</wsdl:portType>
|
|
228
|
+
<wsdl:binding name="VEConsumerBinding" type="tns:VEConsumerPort">
|
|
229
|
+
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
|
|
230
|
+
<wsdl:operation name="consultarComunicaciones">
|
|
231
|
+
<soap12:operation soapAction="consultarComunicaciones" style="document"/>
|
|
232
|
+
<wsdl:input><soap12:body use="literal"/></wsdl:input>
|
|
233
|
+
<wsdl:output><soap12:body use="literal"/></wsdl:output>
|
|
234
|
+
</wsdl:operation>
|
|
235
|
+
<wsdl:operation name="consumirComunicacion">
|
|
236
|
+
<soap12:operation soapAction="consumirComunicacion" style="document"/>
|
|
237
|
+
<wsdl:input><soap12:body use="literal"/></wsdl:input>
|
|
238
|
+
<wsdl:output><soap12:body use="literal"/></wsdl:output>
|
|
239
|
+
</wsdl:operation>
|
|
240
|
+
<wsdl:operation name="consultarSistemasPublicadores">
|
|
241
|
+
<soap12:operation soapAction="consultarSistemasPublicadores" style="document"/>
|
|
242
|
+
<wsdl:input><soap12:body use="literal"/></wsdl:input>
|
|
243
|
+
<wsdl:output><soap12:body use="literal"/></wsdl:output>
|
|
244
|
+
</wsdl:operation>
|
|
245
|
+
<wsdl:operation name="consultarEstados">
|
|
246
|
+
<soap12:operation soapAction="consultarEstados" style="document"/>
|
|
247
|
+
<wsdl:input><soap12:body use="literal"/></wsdl:input>
|
|
248
|
+
<wsdl:output><soap12:body use="literal"/></wsdl:output>
|
|
249
|
+
</wsdl:operation>
|
|
250
|
+
</wsdl:binding>
|
|
251
|
+
<wsdl:service name="VEConsumer">
|
|
252
|
+
<wsdl:port name="VEConsumerPort" binding="tns:VEConsumerBinding">
|
|
253
|
+
<soap12:address location="https://stable-middleware-tecno-ext.afip.gob.ar/ve-ws/services/veconsumer"/>
|
|
254
|
+
</wsdl:port>
|
|
255
|
+
</wsdl:service>
|
|
256
|
+
</wsdl:definitions>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
2
|
+
<soap:Body>
|
|
3
|
+
<FEParamGetActividadesResponse xmlns="http://ar.gov.afip.dif.FEV1/">
|
|
4
|
+
<FEParamGetActividadesResult>
|
|
5
|
+
<ResultGet>
|
|
6
|
+
<ActividadesTipo>
|
|
7
|
+
<Id>620000</Id>
|
|
8
|
+
<Orden>1</Orden>
|
|
9
|
+
<Desc>Telecomunicaciones alámbricas</Desc>
|
|
10
|
+
</ActividadesTipo>
|
|
11
|
+
<ActividadesTipo>
|
|
12
|
+
<Id>620100</Id>
|
|
13
|
+
<Orden>2</Orden>
|
|
14
|
+
<Desc>Telecomunicaciones inalámbricas</Desc>
|
|
15
|
+
</ActividadesTipo>
|
|
16
|
+
</ResultGet>
|
|
17
|
+
</FEParamGetActividadesResult>
|
|
18
|
+
</FEParamGetActividadesResponse>
|
|
19
|
+
</soap:Body>
|
|
20
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
2
|
+
<soap:Body>
|
|
3
|
+
<FEParamGetCondicionIvaReceptorResponse xmlns="http://ar.gov.afip.dif.FEV1/">
|
|
4
|
+
<FEParamGetCondicionIvaReceptorResult>
|
|
5
|
+
<ResultGet>
|
|
6
|
+
<CondicionIvaReceptor>
|
|
7
|
+
<Id>1</Id>
|
|
8
|
+
<Desc>IVA Responsable Inscripto</Desc>
|
|
9
|
+
</CondicionIvaReceptor>
|
|
10
|
+
</ResultGet>
|
|
11
|
+
</FEParamGetCondicionIvaReceptorResult>
|
|
12
|
+
</FEParamGetCondicionIvaReceptorResponse>
|
|
13
|
+
</soap:Body>
|
|
14
|
+
</soap:Envelope>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
2
|
+
<soap:Body>
|
|
3
|
+
<FECAEASinMovimientoConsultarResponse xmlns="http://ar.gov.afip.dif.FEV1/">
|
|
4
|
+
<FECAEASinMovimientoConsultarResult>
|
|
5
|
+
<ResultGet>
|
|
6
|
+
<FECAEASinMov>
|
|
7
|
+
<CAEA>21043476341977</CAEA>
|
|
8
|
+
<FchProceso>20110202</FchProceso>
|
|
9
|
+
<PtoVta>3</PtoVta>
|
|
10
|
+
</FECAEASinMov>
|
|
11
|
+
</ResultGet>
|
|
12
|
+
</FECAEASinMovimientoConsultarResult>
|
|
13
|
+
</FECAEASinMovimientoConsultarResponse>
|
|
14
|
+
</soap:Body>
|
|
15
|
+
</soap:Envelope>
|
|
@@ -629,6 +629,39 @@
|
|
|
629
629
|
<s:element minOccurs="0" maxOccurs="1" name="FchHasta" type="s:string" />
|
|
630
630
|
</s:sequence>
|
|
631
631
|
</s:complexType>
|
|
632
|
+
<s:element name="FEParamGetCondicionIvaReceptor">
|
|
633
|
+
<s:complexType>
|
|
634
|
+
<s:sequence>
|
|
635
|
+
<s:element minOccurs="0" maxOccurs="1" name="Auth" type="tns:FEAuthRequest" />
|
|
636
|
+
<s:element minOccurs="0" maxOccurs="1" name="ClaseCmp" type="s:string" />
|
|
637
|
+
</s:sequence>
|
|
638
|
+
</s:complexType>
|
|
639
|
+
</s:element>
|
|
640
|
+
<s:element name="FEParamGetCondicionIvaReceptorResponse">
|
|
641
|
+
<s:complexType>
|
|
642
|
+
<s:sequence>
|
|
643
|
+
<s:element minOccurs="0" maxOccurs="1" name="FEParamGetCondicionIvaReceptorResult" type="tns:CondicionIvaReceptorResponse" />
|
|
644
|
+
</s:sequence>
|
|
645
|
+
</s:complexType>
|
|
646
|
+
</s:element>
|
|
647
|
+
<s:complexType name="CondicionIvaReceptorResponse">
|
|
648
|
+
<s:sequence>
|
|
649
|
+
<s:element minOccurs="0" maxOccurs="1" name="ResultGet" type="tns:ArrayOfCondicionIvaReceptor" />
|
|
650
|
+
<s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfErr" />
|
|
651
|
+
<s:element minOccurs="0" maxOccurs="1" name="Events" type="tns:ArrayOfEvt" />
|
|
652
|
+
</s:sequence>
|
|
653
|
+
</s:complexType>
|
|
654
|
+
<s:complexType name="ArrayOfCondicionIvaReceptor">
|
|
655
|
+
<s:sequence>
|
|
656
|
+
<s:element minOccurs="0" maxOccurs="unbounded" name="CondicionIvaReceptor" nillable="true" type="tns:CondicionIvaReceptor" />
|
|
657
|
+
</s:sequence>
|
|
658
|
+
</s:complexType>
|
|
659
|
+
<s:complexType name="CondicionIvaReceptor">
|
|
660
|
+
<s:sequence>
|
|
661
|
+
<s:element minOccurs="1" maxOccurs="1" name="Id" type="s:int" />
|
|
662
|
+
<s:element minOccurs="0" maxOccurs="1" name="Desc" type="s:string" />
|
|
663
|
+
</s:sequence>
|
|
664
|
+
</s:complexType>
|
|
632
665
|
<s:element name="FEParamGetTiposOpcional">
|
|
633
666
|
<s:complexType>
|
|
634
667
|
<s:sequence>
|
|
@@ -799,6 +832,39 @@
|
|
|
799
832
|
<s:element minOccurs="0" maxOccurs="1" name="FchHasta" type="s:string" />
|
|
800
833
|
</s:sequence>
|
|
801
834
|
</s:complexType>
|
|
835
|
+
<s:element name="FEParamGetActividades">
|
|
836
|
+
<s:complexType>
|
|
837
|
+
<s:sequence>
|
|
838
|
+
<s:element minOccurs="0" maxOccurs="1" name="Auth" type="tns:FEAuthRequest" />
|
|
839
|
+
</s:sequence>
|
|
840
|
+
</s:complexType>
|
|
841
|
+
</s:element>
|
|
842
|
+
<s:element name="FEParamGetActividadesResponse">
|
|
843
|
+
<s:complexType>
|
|
844
|
+
<s:sequence>
|
|
845
|
+
<s:element minOccurs="0" maxOccurs="1" name="FEParamGetActividadesResult" type="tns:ActividadesTipoResponse" />
|
|
846
|
+
</s:sequence>
|
|
847
|
+
</s:complexType>
|
|
848
|
+
</s:element>
|
|
849
|
+
<s:complexType name="ActividadesTipoResponse">
|
|
850
|
+
<s:sequence>
|
|
851
|
+
<s:element minOccurs="0" maxOccurs="1" name="ResultGet" type="tns:ArrayOfActividadesTipo" />
|
|
852
|
+
<s:element minOccurs="0" maxOccurs="1" name="Errors" type="tns:ArrayOfErr" />
|
|
853
|
+
<s:element minOccurs="0" maxOccurs="1" name="Events" type="tns:ArrayOfEvt" />
|
|
854
|
+
</s:sequence>
|
|
855
|
+
</s:complexType>
|
|
856
|
+
<s:complexType name="ArrayOfActividadesTipo">
|
|
857
|
+
<s:sequence>
|
|
858
|
+
<s:element minOccurs="0" maxOccurs="unbounded" name="ActividadesTipo" nillable="true" type="tns:ActividadesTipo" />
|
|
859
|
+
</s:sequence>
|
|
860
|
+
</s:complexType>
|
|
861
|
+
<s:complexType name="ActividadesTipo">
|
|
862
|
+
<s:sequence>
|
|
863
|
+
<s:element minOccurs="1" maxOccurs="1" name="Id" type="s:long" />
|
|
864
|
+
<s:element minOccurs="0" maxOccurs="1" name="Orden" type="s:short" />
|
|
865
|
+
<s:element minOccurs="0" maxOccurs="1" name="Desc" type="s:string" />
|
|
866
|
+
</s:sequence>
|
|
867
|
+
</s:complexType>
|
|
802
868
|
</s:schema>
|
|
803
869
|
</wsdl:types>
|
|
804
870
|
<wsdl:message name="FECAESolicitarSoapIn">
|
|
@@ -885,6 +951,12 @@
|
|
|
885
951
|
<wsdl:message name="FEParamGetTiposIvaSoapOut">
|
|
886
952
|
<wsdl:part name="parameters" element="tns:FEParamGetTiposIvaResponse" />
|
|
887
953
|
</wsdl:message>
|
|
954
|
+
<wsdl:message name="FEParamGetCondicionIvaReceptorSoapIn">
|
|
955
|
+
<wsdl:part name="parameters" element="tns:FEParamGetCondicionIvaReceptor" />
|
|
956
|
+
</wsdl:message>
|
|
957
|
+
<wsdl:message name="FEParamGetCondicionIvaReceptorSoapOut">
|
|
958
|
+
<wsdl:part name="parameters" element="tns:FEParamGetCondicionIvaReceptorResponse" />
|
|
959
|
+
</wsdl:message>
|
|
888
960
|
<wsdl:message name="FEParamGetTiposOpcionalSoapIn">
|
|
889
961
|
<wsdl:part name="parameters" element="tns:FEParamGetTiposOpcional" />
|
|
890
962
|
</wsdl:message>
|
|
@@ -915,6 +987,12 @@
|
|
|
915
987
|
<wsdl:message name="FEParamGetTiposDocSoapOut">
|
|
916
988
|
<wsdl:part name="parameters" element="tns:FEParamGetTiposDocResponse" />
|
|
917
989
|
</wsdl:message>
|
|
990
|
+
<wsdl:message name="FEParamGetActividadesSoapIn">
|
|
991
|
+
<wsdl:part name="parameters" element="tns:FEParamGetActividades" />
|
|
992
|
+
</wsdl:message>
|
|
993
|
+
<wsdl:message name="FEParamGetActividadesSoapOut">
|
|
994
|
+
<wsdl:part name="parameters" element="tns:FEParamGetActividadesResponse" />
|
|
995
|
+
</wsdl:message>
|
|
918
996
|
<wsdl:portType name="ServiceSoap">
|
|
919
997
|
<wsdl:operation name="FECAESolicitar">
|
|
920
998
|
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Solicitud de Código de Autorización Electrónico (CAE)</wsdl:documentation>
|
|
@@ -986,6 +1064,11 @@
|
|
|
986
1064
|
<wsdl:input message="tns:FEParamGetTiposIvaSoapIn" />
|
|
987
1065
|
<wsdl:output message="tns:FEParamGetTiposIvaSoapOut" />
|
|
988
1066
|
</wsdl:operation>
|
|
1067
|
+
<wsdl:operation name="FEParamGetCondicionIvaReceptor">
|
|
1068
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Recupera el listado de condiciones de IVA del receptor.</wsdl:documentation>
|
|
1069
|
+
<wsdl:input message="tns:FEParamGetCondicionIvaReceptorSoapIn" />
|
|
1070
|
+
<wsdl:output message="tns:FEParamGetCondicionIvaReceptorSoapOut" />
|
|
1071
|
+
</wsdl:operation>
|
|
989
1072
|
<wsdl:operation name="FEParamGetTiposOpcional">
|
|
990
1073
|
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Recupera el listado de identificadores para los campos Opcionales</wsdl:documentation>
|
|
991
1074
|
<wsdl:input message="tns:FEParamGetTiposOpcionalSoapIn" />
|
|
@@ -1011,6 +1094,11 @@
|
|
|
1011
1094
|
<wsdl:input message="tns:FEParamGetTiposDocSoapIn" />
|
|
1012
1095
|
<wsdl:output message="tns:FEParamGetTiposDocSoapOut" />
|
|
1013
1096
|
</wsdl:operation>
|
|
1097
|
+
<wsdl:operation name="FEParamGetActividades">
|
|
1098
|
+
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Recupera el listado de actividades habilitadas del emisor.</wsdl:documentation>
|
|
1099
|
+
<wsdl:input message="tns:FEParamGetActividadesSoapIn" />
|
|
1100
|
+
<wsdl:output message="tns:FEParamGetActividadesSoapOut" />
|
|
1101
|
+
</wsdl:operation>
|
|
1014
1102
|
</wsdl:portType>
|
|
1015
1103
|
<wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
|
|
1016
1104
|
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
|
@@ -1140,6 +1228,15 @@
|
|
|
1140
1228
|
<soap:body use="literal" />
|
|
1141
1229
|
</wsdl:output>
|
|
1142
1230
|
</wsdl:operation>
|
|
1231
|
+
<wsdl:operation name="FEParamGetCondicionIvaReceptor">
|
|
1232
|
+
<soap:operation soapAction="http://ar.gov.afip.dif.FEV1/FEParamGetCondicionIvaReceptor" style="document" />
|
|
1233
|
+
<wsdl:input>
|
|
1234
|
+
<soap:body use="literal" />
|
|
1235
|
+
</wsdl:input>
|
|
1236
|
+
<wsdl:output>
|
|
1237
|
+
<soap:body use="literal" />
|
|
1238
|
+
</wsdl:output>
|
|
1239
|
+
</wsdl:operation>
|
|
1143
1240
|
<wsdl:operation name="FEParamGetTiposOpcional">
|
|
1144
1241
|
<soap:operation soapAction="http://ar.gov.afip.dif.FEV1/FEParamGetTiposOpcional" style="document" />
|
|
1145
1242
|
<wsdl:input>
|
|
@@ -1185,6 +1282,15 @@
|
|
|
1185
1282
|
<soap:body use="literal" />
|
|
1186
1283
|
</wsdl:output>
|
|
1187
1284
|
</wsdl:operation>
|
|
1285
|
+
<wsdl:operation name="FEParamGetActividades">
|
|
1286
|
+
<soap:operation soapAction="http://ar.gov.afip.dif.FEV1/FEParamGetActividades" style="document" />
|
|
1287
|
+
<wsdl:input>
|
|
1288
|
+
<soap:body use="literal" />
|
|
1289
|
+
</wsdl:input>
|
|
1290
|
+
<wsdl:output>
|
|
1291
|
+
<soap:body use="literal" />
|
|
1292
|
+
</wsdl:output>
|
|
1293
|
+
</wsdl:operation>
|
|
1188
1294
|
</wsdl:binding>
|
|
1189
1295
|
<wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap">
|
|
1190
1296
|
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
|
|
@@ -1314,6 +1420,15 @@
|
|
|
1314
1420
|
<soap12:body use="literal" />
|
|
1315
1421
|
</wsdl:output>
|
|
1316
1422
|
</wsdl:operation>
|
|
1423
|
+
<wsdl:operation name="FEParamGetCondicionIvaReceptor">
|
|
1424
|
+
<soap12:operation soapAction="http://ar.gov.afip.dif.FEV1/FEParamGetCondicionIvaReceptor" style="document" />
|
|
1425
|
+
<wsdl:input>
|
|
1426
|
+
<soap12:body use="literal" />
|
|
1427
|
+
</wsdl:input>
|
|
1428
|
+
<wsdl:output>
|
|
1429
|
+
<soap12:body use="literal" />
|
|
1430
|
+
</wsdl:output>
|
|
1431
|
+
</wsdl:operation>
|
|
1317
1432
|
<wsdl:operation name="FEParamGetTiposOpcional">
|
|
1318
1433
|
<soap12:operation soapAction="http://ar.gov.afip.dif.FEV1/FEParamGetTiposOpcional" style="document" />
|
|
1319
1434
|
<wsdl:input>
|
|
@@ -1359,6 +1474,15 @@
|
|
|
1359
1474
|
<soap12:body use="literal" />
|
|
1360
1475
|
</wsdl:output>
|
|
1361
1476
|
</wsdl:operation>
|
|
1477
|
+
<wsdl:operation name="FEParamGetActividades">
|
|
1478
|
+
<soap12:operation soapAction="http://ar.gov.afip.dif.FEV1/FEParamGetActividades" style="document" />
|
|
1479
|
+
<wsdl:input>
|
|
1480
|
+
<soap12:body use="literal" />
|
|
1481
|
+
</wsdl:input>
|
|
1482
|
+
<wsdl:output>
|
|
1483
|
+
<soap12:body use="literal" />
|
|
1484
|
+
</wsdl:output>
|
|
1485
|
+
</wsdl:operation>
|
|
1362
1486
|
</wsdl:binding>
|
|
1363
1487
|
<wsdl:service name="Service">
|
|
1364
1488
|
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Web Service orientado al servicio de Facturacion electronica RG2485 V1</wsdl:documentation>
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: arca.rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Arca Kit
|
|
@@ -154,10 +154,10 @@ email:
|
|
|
154
154
|
- hola@arcakit.dev
|
|
155
155
|
executables:
|
|
156
156
|
- console
|
|
157
|
+
- devcontainer
|
|
157
158
|
extensions: []
|
|
158
159
|
extra_rdoc_files: []
|
|
159
160
|
files:
|
|
160
|
-
- ".devcontainer/Dockerfile"
|
|
161
161
|
- ".devcontainer/devcontainer.json"
|
|
162
162
|
- ".github/dependabot.yml"
|
|
163
163
|
- ".github/workflows/ci.yml"
|
|
@@ -176,6 +176,7 @@ files:
|
|
|
176
176
|
- SECURITY.md
|
|
177
177
|
- arca.gemspec
|
|
178
178
|
- bin/console
|
|
179
|
+
- bin/devcontainer
|
|
179
180
|
- lib/arca.rb
|
|
180
181
|
- lib/arca/client.rb
|
|
181
182
|
- lib/arca/core_ext/hash.rb
|
|
@@ -187,6 +188,7 @@ files:
|
|
|
187
188
|
- lib/arca/persona_service_a4.rb
|
|
188
189
|
- lib/arca/persona_service_a5.rb
|
|
189
190
|
- lib/arca/type_conversions.rb
|
|
191
|
+
- lib/arca/ve_consumer.rb
|
|
190
192
|
- lib/arca/version.rb
|
|
191
193
|
- lib/arca/w_cons_declaracion.rb
|
|
192
194
|
- lib/arca/ws_constancia_inscripcion.rb
|
|
@@ -203,6 +205,7 @@ files:
|
|
|
203
205
|
- test/arca/test.crt
|
|
204
206
|
- test/arca/test.key
|
|
205
207
|
- test/arca/type_conversions_test.rb
|
|
208
|
+
- test/arca/ve_consumer_test.rb
|
|
206
209
|
- test/arca/w_cons_declaracion_test.rb
|
|
207
210
|
- test/arca/ws_constancia_inscripcion_test.rb
|
|
208
211
|
- test/arca/wsaa_test.rb
|
|
@@ -210,6 +213,13 @@ files:
|
|
|
210
213
|
- test/arca/wsfe_test.rb
|
|
211
214
|
- test/arca/wsfecred_test.rb
|
|
212
215
|
- test/arca/wsrgiva_test.rb
|
|
216
|
+
- test/fixtures/ve_consumer/consultar_comunicaciones/soap_fault.xml
|
|
217
|
+
- test/fixtures/ve_consumer/consultar_comunicaciones/success.xml
|
|
218
|
+
- test/fixtures/ve_consumer/consultar_estados/success.xml
|
|
219
|
+
- test/fixtures/ve_consumer/consultar_sistemas_publicadores/success.xml
|
|
220
|
+
- test/fixtures/ve_consumer/consumir_comunicacion/success.xml
|
|
221
|
+
- test/fixtures/ve_consumer/consumir_comunicacion/with_adjuntos.xml
|
|
222
|
+
- test/fixtures/ve_consumer/ve_consumer.wsdl
|
|
213
223
|
- test/fixtures/wconsdeclaracion/detallada_estado/success.xml
|
|
214
224
|
- test/fixtures/wconsdeclaracion/detallada_lista_declaraciones/por_fecha_success.xml
|
|
215
225
|
- test/fixtures/wconsdeclaracion/detallada_lista_declaraciones/por_id_inexistente.xml
|
|
@@ -248,6 +258,8 @@ files:
|
|
|
248
258
|
- test/fixtures/wsfe/fe_comp_tot_x_request/success.xml
|
|
249
259
|
- test/fixtures/wsfe/fe_comp_ultimo_autorizado/success.xml
|
|
250
260
|
- test/fixtures/wsfe/fe_dummy/success.xml
|
|
261
|
+
- test/fixtures/wsfe/fe_param_get_actividades/success.xml
|
|
262
|
+
- test/fixtures/wsfe/fe_param_get_condicion_iva_receptor/success.xml
|
|
251
263
|
- test/fixtures/wsfe/fe_param_get_cotizacion/dolar.xml
|
|
252
264
|
- test/fixtures/wsfe/fe_param_get_cotizacion/inexistente.xml
|
|
253
265
|
- test/fixtures/wsfe/fe_param_get_ptos_venta/success.xml
|
|
@@ -266,6 +278,7 @@ files:
|
|
|
266
278
|
- test/fixtures/wsfe/fecae_solicitar/una_observacion.xml
|
|
267
279
|
- test/fixtures/wsfe/fecaea_consultar/success.xml
|
|
268
280
|
- test/fixtures/wsfe/fecaea_reg_informativo/informe_rtdo_parcial.xml
|
|
281
|
+
- test/fixtures/wsfe/fecaea_sin_movimiento_consultar/success.xml
|
|
269
282
|
- test/fixtures/wsfe/fecaea_sin_movimiento_informar/success.xml
|
|
270
283
|
- test/fixtures/wsfe/fecaea_solicitar/caea_ya_otorgado.xml
|
|
271
284
|
- test/fixtures/wsfe/fecaea_solicitar/error_distinto.xml
|
|
@@ -309,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
309
322
|
- !ruby/object:Gem::Version
|
|
310
323
|
version: '0'
|
|
311
324
|
requirements: []
|
|
312
|
-
rubygems_version:
|
|
325
|
+
rubygems_version: 4.0.3
|
|
313
326
|
specification_version: 4
|
|
314
327
|
summary: 'Cliente Ruby para webservices de AFIP/ARCA: facturación electrónica, comprobantes
|
|
315
328
|
y servicios tributarios de Argentina'
|