sw-sdk-ruby 0.0.2.2.pre
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 +7 -0
- data/README.md +470 -0
- data/Response.rb +47 -0
- data/lib/AcceptReject/accept_reject.rb +24 -0
- data/lib/AcceptReject/accept_reject_request.rb +58 -0
- data/lib/Authentication/Auth.rb +12 -0
- data/lib/Authentication/auth_request.rb +15 -0
- data/lib/Authentication/auth_response.rb +44 -0
- data/lib/Balance/Balance.rb +12 -0
- data/lib/Balance/balance_request.rb +16 -0
- data/lib/Cancelation/Cancelation.rb +24 -0
- data/lib/Cancelation/cancelation_request.rb +56 -0
- data/lib/Issue/Issue.rb +32 -0
- data/lib/Issue/issue_request.rb +37 -0
- data/lib/Pdf/Pdf.rb +12 -0
- data/lib/Pdf/pdf_request.rb +22 -0
- data/lib/Pdf/pdf_response.rb +22 -0
- data/lib/Pendings/Pendings.rb +12 -0
- data/lib/Pendings/pendings_request.rb +16 -0
- data/lib/Relations/Relations.rb +24 -0
- data/lib/Relations/relations_request.rb +57 -0
- data/lib/Response.rb +46 -0
- data/lib/Response/generic_response.rb +30 -0
- data/lib/Services.rb +60 -0
- data/lib/Stamp/Stamp.rb +21 -0
- data/lib/Stamp/stamp_request.rb +26 -0
- data/lib/StatusCfdi/status_cfdi.rb +7 -0
- data/lib/StatusCfdi/status_cfdi_request.rb +30 -0
- data/lib/StatusCfdi/status_cfdi_response.rb +66 -0
- data/lib/Validation/Validate.rb +20 -0
- data/lib/Validation/validate_request.rb +44 -0
- metadata +76 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 84a76dd98feda41bc5a481b9bbeee672f16f49e8312a30dad22cdee6c066fad5
|
|
4
|
+
data.tar.gz: a1b5ea10e0e97669266eb15d05ab4f7b58503895c0ccb5b1eff28c71e7ebbab1
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 70261ad1f5c360bf9f21eac2734b3a62895fd2c66741661cac962d96315e6796af9d8b2844b66bad37e35ef7012143d0744c353a10f6b96f44803b491a14b0c1
|
|
7
|
+
data.tar.gz: 2854d41336fa6b3721185e96c4a47b369641ce27f53f6fb4819b251be6b58031f44d7d9641e65bbdd923bd53d732620f7bd178ac5c0db45bac3122e28b71b42b
|
data/README.md
ADDED
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
[](http://sw.com.mx/)
|
|
2
|
+
# Requerimientos #
|
|
3
|
+
|
|
4
|
+
**Ruby 2.1** o superior.
|
|
5
|
+
|
|
6
|
+
[Net/Http](https://rubygems.org/gems/net-http-persistent/versions/3.0.0)
|
|
7
|
+
|
|
8
|
+
[URI](https://rubygems.org/gems/uri-handler/versions/1.0.2)
|
|
9
|
+
|
|
10
|
+
**Instalación con RubyGems**
|
|
11
|
+
|
|
12
|
+
Ejecutar los comandos directamente en la consola tal cual aparecen en la página de rubygems, en este caso:
|
|
13
|
+
|
|
14
|
+
>- gem install net-http-persistent
|
|
15
|
+
>- gem install uri-handler
|
|
16
|
+
|
|
17
|
+
# Consumo #
|
|
18
|
+
|
|
19
|
+
Para efectos prácticos, usaremos el siguiente array asociativo como conjunto de parámetros utilizados por los servicios.
|
|
20
|
+
|
|
21
|
+
> params = {"url" => 'http://services.test.sw.com.mx', "user" => 'demo', "password" => '123456789'}
|
|
22
|
+
|
|
23
|
+
## Authentication ##
|
|
24
|
+
|
|
25
|
+
Parámetros necesarios: url, user y password.
|
|
26
|
+
|
|
27
|
+
La clase de authentication, nos sirve para obtener un token de 2 hrs de duración. Podrá ser utilizado en los siguientes servicios para consumo.
|
|
28
|
+
|
|
29
|
+
**Funciones disponibles**
|
|
30
|
+
|
|
31
|
+
- set(Params)
|
|
32
|
+
- authentication
|
|
33
|
+
|
|
34
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
35
|
+
|
|
36
|
+
```rb
|
|
37
|
+
require 'Authentication/auth.rb'
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
**Ejemplo de uso**
|
|
41
|
+
|
|
42
|
+
```rb
|
|
43
|
+
Auth::set(params)
|
|
44
|
+
token = Auth::authentication.get_token
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Las funciones utilizables para el objeto obtenido son las siguientes
|
|
48
|
+
|
|
49
|
+
**En caso de éxito**
|
|
50
|
+
>- *get_status*
|
|
51
|
+
>- *get_data*
|
|
52
|
+
>- *get_response*
|
|
53
|
+
>- *get_time_expire*
|
|
54
|
+
>- *get_token*
|
|
55
|
+
>- *get_status_code*
|
|
56
|
+
|
|
57
|
+
**En caso de error**
|
|
58
|
+
>- *get_message*
|
|
59
|
+
>- *get_messageDetail*
|
|
60
|
+
|
|
61
|
+
## Balance ##
|
|
62
|
+
|
|
63
|
+
Parámetros necesarios: [url, user y password] o [url y token].
|
|
64
|
+
|
|
65
|
+
La clase de Balance nos ayuda a obtener información referente a nuestra cuenta. Así sabremos cuando nos quedan pocos timbres o cuantos tenemos asignados, etc.
|
|
66
|
+
|
|
67
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
68
|
+
|
|
69
|
+
```rb
|
|
70
|
+
require 'Authentication/auth.rb'
|
|
71
|
+
require 'Balance/balance.rb'
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**Ejemplo de uso**
|
|
75
|
+
|
|
76
|
+
```rb
|
|
77
|
+
Balance::set(params)
|
|
78
|
+
response = Balance::account_balance
|
|
79
|
+
timbres = response.get_data['saldoTimbres']
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Las funciones utilizables para el objeto obtenido son las siguientes
|
|
83
|
+
|
|
84
|
+
**En caso de éxito**
|
|
85
|
+
>- *get_status*
|
|
86
|
+
>- *get_data*
|
|
87
|
+
>- *get_response*
|
|
88
|
+
>- *get_status_code*
|
|
89
|
+
|
|
90
|
+
**En caso de error**
|
|
91
|
+
>- *get_message*
|
|
92
|
+
>- *get_messageDetail*
|
|
93
|
+
|
|
94
|
+
## Cancelación ##
|
|
95
|
+
|
|
96
|
+
Parámetros necesarios: [url, user y password] o [url y token]. Además de los parámetros que nos sean necesarios dependiendo del tipo de cancelación a usar.
|
|
97
|
+
|
|
98
|
+
La clase de Cancelation nos servirá para cancelar algún comprobante anteriormente ya timbrado, teniendo diversas opciones para poder cancelar dicho documento.
|
|
99
|
+
|
|
100
|
+
**Funciones disponibles**
|
|
101
|
+
|
|
102
|
+
- cancel_csd(uuid, rfc, password_csd, b64_csd, b64_key)
|
|
103
|
+
- cancel_uuid(uuid, rfc)
|
|
104
|
+
- cancel_pfx(uuid, rfc, password_csd, b64_pfx)
|
|
105
|
+
- cancel_xml(xml_cancel)
|
|
106
|
+
|
|
107
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
108
|
+
|
|
109
|
+
```rb
|
|
110
|
+
require 'Authentication/auth.rb'
|
|
111
|
+
require 'Cancelation/cancelation.rb'
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**Ejemplo de uso**
|
|
115
|
+
|
|
116
|
+
```rb
|
|
117
|
+
Cancelation::set(params)
|
|
118
|
+
response_csd = Cancelation::cancel_csd(uuid, rfc, password_csd, b64_csd, b64_key)
|
|
119
|
+
response_uuid = Cancelation::cancel_uuid(uuid, rfc)
|
|
120
|
+
response_pfx = Cancelation::cancel_pfx(uuid, rfc, password_csd, b64_pfx)
|
|
121
|
+
response_xml = Cancelation::cancel_xml(xml_cancel)
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Las funciones utilizables para estos objetos de cancelación son los siguientes
|
|
125
|
+
|
|
126
|
+
**En caso de éxito**
|
|
127
|
+
>- *get_status*
|
|
128
|
+
>- *get_data*
|
|
129
|
+
>- *get_response*
|
|
130
|
+
>- *get_status_code*
|
|
131
|
+
|
|
132
|
+
**En caso de error**
|
|
133
|
+
>- *get_message*
|
|
134
|
+
>- *get_messageDetail*
|
|
135
|
+
|
|
136
|
+
## Issue ##
|
|
137
|
+
|
|
138
|
+
Parámetros necesarios: [user, password y url] o [token y url], así como el XML a timbrar utilizando emisión-timbrado.
|
|
139
|
+
|
|
140
|
+
La clase Issue nos ayudará a timbrar nuestros documentos XML por medio de emisión-timbrado. A diferencia de la clase Stamp, esta clase además de timbrar el documento le pondrá el sello.
|
|
141
|
+
Nota: Para realizar el sellado, los certificados del **rfc emisor** deberán estar almacenados en el administrador de timbres.
|
|
142
|
+
|
|
143
|
+
**Funciones disponibles**
|
|
144
|
+
|
|
145
|
+
- set(params)
|
|
146
|
+
- issue_v1(xml, b64)
|
|
147
|
+
- issue_v2(xml, b64)
|
|
148
|
+
- issue_v3(xml, b64)
|
|
149
|
+
- issue_v4(xml, b64)
|
|
150
|
+
- > **b64** es un parámetro opcional y se debe indicar en *true* si el XML va encodeado en base64. De no indicarse por defecto se tomará el valor de *false*
|
|
151
|
+
|
|
152
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
153
|
+
|
|
154
|
+
```rb
|
|
155
|
+
require 'Authentication/auth.rb'
|
|
156
|
+
require 'Issue/issue.rb'
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
**Ejemplo de uso**
|
|
160
|
+
|
|
161
|
+
```rb
|
|
162
|
+
Issue::set(params)
|
|
163
|
+
response = Issue::issue_v4(xml,false)
|
|
164
|
+
File.open(response.get_data['uuid']+'.xml', 'w') { |file| file.write(response.get_data['cfdi']) }
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
168
|
+
|
|
169
|
+
**En caso de éxito**
|
|
170
|
+
>- *get_status*
|
|
171
|
+
>- *get_data*
|
|
172
|
+
>- *get_response*
|
|
173
|
+
>- *get_status_code*
|
|
174
|
+
|
|
175
|
+
**En caso de error**
|
|
176
|
+
>- *get_message*
|
|
177
|
+
>- *get_messageDetail*
|
|
178
|
+
|
|
179
|
+
## IssueJson ##
|
|
180
|
+
|
|
181
|
+
Parámetros necesarios: [user, password y url] o [token y url], así como el JSON a timbrar utilizando emisión-timbrado.
|
|
182
|
+
|
|
183
|
+
La clase Issue nos ayudará a timbrar nuestros documentos JSON por medio de emisión-timbrado.
|
|
184
|
+
|
|
185
|
+
**Funciones disponibles**
|
|
186
|
+
|
|
187
|
+
- set(params)
|
|
188
|
+
- issue_JSON_v1(json)
|
|
189
|
+
- issue_JSON_v2(json)
|
|
190
|
+
- issue_JSON_v3(json)
|
|
191
|
+
- issue_JSON_v4(json)
|
|
192
|
+
|
|
193
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
194
|
+
|
|
195
|
+
```rb
|
|
196
|
+
require 'Authentication/auth.rb'
|
|
197
|
+
require 'Issue/issue.rb'
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Ejemplo de uso**
|
|
201
|
+
|
|
202
|
+
```rb
|
|
203
|
+
Issue::set(params)
|
|
204
|
+
response = Issue::issue_JSON_v4(json)
|
|
205
|
+
File.open(response.get_data['uuid']+'.xml', 'w') { |file| file.write(response.get_data['cfdi']) }
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
209
|
+
|
|
210
|
+
**En caso de éxito**
|
|
211
|
+
>- *get_status*
|
|
212
|
+
>- *get_data*
|
|
213
|
+
>- *get_response*
|
|
214
|
+
>- *get_status_code*
|
|
215
|
+
|
|
216
|
+
**En caso de error**
|
|
217
|
+
>- *get_message*
|
|
218
|
+
>- *get_messageDetail*
|
|
219
|
+
|
|
220
|
+
## Stamp ##
|
|
221
|
+
|
|
222
|
+
Parámetros necesarios: [user, password y url] o [token y url], así como el XML a timbrar.
|
|
223
|
+
|
|
224
|
+
La clase Stamp se utiliza para el timbrado de documentos XML. El documento deberá venir ya con el sello.
|
|
225
|
+
|
|
226
|
+
**Funciones disponibles**
|
|
227
|
+
|
|
228
|
+
- set(params)
|
|
229
|
+
- stamp_v1(xml, b64)
|
|
230
|
+
- stamp_v2(xml, b64)
|
|
231
|
+
- stamp_v3(xml, b64)
|
|
232
|
+
- stamp_v4(xml, b64)
|
|
233
|
+
> **b64** es un parámetro opcional y se debe indicar en *true* si el XML va encodeado en base 64. De no indicarse por defecto se tomará el valor de *false*
|
|
234
|
+
|
|
235
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
236
|
+
|
|
237
|
+
```rb
|
|
238
|
+
require 'Authentication/auth.rb'
|
|
239
|
+
require 'Stamp/stamp.rb'
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
Ejemplo de uso
|
|
243
|
+
|
|
244
|
+
```rb
|
|
245
|
+
Stamp::set(params)
|
|
246
|
+
response = Stamp::stamp_v4(xml)
|
|
247
|
+
File.open(response.get_data['uuid']+'.xml', 'w') { |file| file.write(response.get_data['cfdi']) }
|
|
248
|
+
```
|
|
249
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
250
|
+
|
|
251
|
+
**En caso de éxito**
|
|
252
|
+
>- *get_status*
|
|
253
|
+
>- *get_data*
|
|
254
|
+
>- *get_response*
|
|
255
|
+
>- *get_status_code*
|
|
256
|
+
|
|
257
|
+
**En caso de error**
|
|
258
|
+
>- *get_message*
|
|
259
|
+
>- *get_messageDetail*
|
|
260
|
+
## Validación ##
|
|
261
|
+
|
|
262
|
+
Parámetros necesarios: [user, password y url] o [token y url]. Además de parámetros adicionales según sea el caso.
|
|
263
|
+
|
|
264
|
+
La clase Validation servirá para validar que algunas cosas se encuentren de manera correcta antes de proceder al timbrado del mismo. Por ejemplo, nos pueden ayudar a decir si nuestro XML no tiene algún error, o consultar algún RFC de la lista de contribuyentes obligados.
|
|
265
|
+
|
|
266
|
+
Funciones disponibles
|
|
267
|
+
|
|
268
|
+
- set(params)
|
|
269
|
+
- validate_xml(xml)
|
|
270
|
+
- validate_LRFC(rfc)
|
|
271
|
+
- validate_LCO(no_cert)
|
|
272
|
+
|
|
273
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
274
|
+
|
|
275
|
+
```rb
|
|
276
|
+
require 'Authentication/auth.rb'
|
|
277
|
+
require 'Validation/validate.rb'
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Ejemplo de uso
|
|
281
|
+
|
|
282
|
+
```rb
|
|
283
|
+
Validate::set(params)
|
|
284
|
+
response_xml = Validate::validateXml(xml)
|
|
285
|
+
puts response_xml.get_response
|
|
286
|
+
response_LRFC = Validate::validate_LRFC(rfc)
|
|
287
|
+
puts response_LRFC.get_data
|
|
288
|
+
response_LCO = Validate::validate_LCO(no_cert)
|
|
289
|
+
puts responseNoCert.get_data
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
293
|
+
|
|
294
|
+
**En caso de éxito**
|
|
295
|
+
>- *get_status*
|
|
296
|
+
>- *get_data*
|
|
297
|
+
>- *get_response*
|
|
298
|
+
>- *get_status_code*
|
|
299
|
+
|
|
300
|
+
**En caso de error**
|
|
301
|
+
>- *get_message*
|
|
302
|
+
>- *get_messageDetail*
|
|
303
|
+
|
|
304
|
+
## Pendings ##
|
|
305
|
+
|
|
306
|
+
Parámetros necesarios: [user, password y url] o [token y url]. Además de el RFC del cual consultaremos los UUID's pendientes.
|
|
307
|
+
|
|
308
|
+
La clase Pendings servirá para obtener una lista de UUID's que tenga pendientes el RFC.
|
|
309
|
+
|
|
310
|
+
**Funciones disponibles**
|
|
311
|
+
|
|
312
|
+
- set(params)
|
|
313
|
+
- get_pendings(rfc)
|
|
314
|
+
|
|
315
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
316
|
+
|
|
317
|
+
```rb
|
|
318
|
+
require 'Authentication/auth.rb'
|
|
319
|
+
require 'Pendings/pendings.rb'
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
**Ejemplo de uso**
|
|
323
|
+
|
|
324
|
+
```rb
|
|
325
|
+
rfc = 'LAN7008173R5'
|
|
326
|
+
Pendings::set(params)
|
|
327
|
+
reponse = Pendings::get_pendings(rfc)
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
331
|
+
|
|
332
|
+
**En caso de éxito**
|
|
333
|
+
>- *get_status*
|
|
334
|
+
>- *get_data*
|
|
335
|
+
>- *get_response*
|
|
336
|
+
>- *get_status_code*
|
|
337
|
+
|
|
338
|
+
**En caso de error**
|
|
339
|
+
>- *get_message*
|
|
340
|
+
>- *get_messageDetail*
|
|
341
|
+
|
|
342
|
+
## AcceptReject ##
|
|
343
|
+
|
|
344
|
+
Parámetros necesarios: [user, password y url] o [token y url]. Además de parámetros adicionales según sea el caso.
|
|
345
|
+
|
|
346
|
+
La clase AcceptReject servirá para aceptar o rechazar alguna factura que tenga pendiente el RFC asociado.
|
|
347
|
+
|
|
348
|
+
**Funciones disponibles**
|
|
349
|
+
|
|
350
|
+
- set(params)
|
|
351
|
+
- accept_reject_csd(uuids, rfc, password, csd, key)
|
|
352
|
+
- accept_reject_pfx(uuids, rfc, password, pfx)
|
|
353
|
+
- accept_reject_uuid(uuid, rfc, action)
|
|
354
|
+
- accept_reject_xml(xml)
|
|
355
|
+
> Action puede ser "aceptacion" o "rechazo"
|
|
356
|
+
|
|
357
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
358
|
+
|
|
359
|
+
```rb
|
|
360
|
+
require 'Authentication/auth.rb'
|
|
361
|
+
require 'AcceptReject/accept_reject.rb'
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
**Ejemplo de uso**
|
|
365
|
+
|
|
366
|
+
```rb
|
|
367
|
+
b64_csd = read_file('../../resources/b64CSD.txt')
|
|
368
|
+
b64_key = read_file('../../resources/b64Key.txt')
|
|
369
|
+
password_csd = '12345678a'
|
|
370
|
+
uuids = []
|
|
371
|
+
uuids << {"uuid" => "6b02b155-25fd-488d-862b-5a5dc5694b62", "action" => "Rechazo"}
|
|
372
|
+
uuids << {"uuid" => "ef47cd9e-b495-483d-b7ad-7f374fe8e353", "action" => "Rechazo"}
|
|
373
|
+
rfc = 'LAN7008173R5'
|
|
374
|
+
AcceptReject::set(params)
|
|
375
|
+
response = AcceptReject::accept_reject_csd(uuids, rfc, password_csd, b64_csd, b64_key)
|
|
376
|
+
puts response.get_response
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
380
|
+
|
|
381
|
+
**En caso de éxito**
|
|
382
|
+
>- *get_status*
|
|
383
|
+
>- *get_data*
|
|
384
|
+
>- *get_response*
|
|
385
|
+
>- *get_status_code*
|
|
386
|
+
|
|
387
|
+
**En caso de error**
|
|
388
|
+
>- *get_message*
|
|
389
|
+
>- *get_messageDetail*
|
|
390
|
+
|
|
391
|
+
## Relations ##
|
|
392
|
+
|
|
393
|
+
Parámetros necesarios: [user, password y url] o [token y url]. Además de parámetros adicionales según sea el caso.
|
|
394
|
+
|
|
395
|
+
La clase Relations servirá para consultar las facturas que se encuentren relacionadas a un UUID.
|
|
396
|
+
|
|
397
|
+
**Funciones disponibles**
|
|
398
|
+
|
|
399
|
+
- set(params)
|
|
400
|
+
- relations_csd(uuid, rfc, passwordcsd, b64CSD, b64Key)
|
|
401
|
+
- relations_pfx(uuid, rfc, passwordcsd, b64PFX)
|
|
402
|
+
- relations_uuid(uuid, rfc)
|
|
403
|
+
- relations_xml(xml)
|
|
404
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
405
|
+
|
|
406
|
+
```rb
|
|
407
|
+
require 'Authentication/Auth.rb'
|
|
408
|
+
require 'Relations/relations.rb'
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
**Ejemplo de uso**
|
|
412
|
+
|
|
413
|
+
```rb
|
|
414
|
+
b64_csd = read_file('../../resources/b64CSD.txt')
|
|
415
|
+
b64_key = read_file('../../resources/b64Key.txt')
|
|
416
|
+
password_csd = '12345678a'
|
|
417
|
+
uuid = "77e5ee7e-518e-48d1-b719-2562eaf9cb1f"
|
|
418
|
+
rfc = 'LAN7008173R5'
|
|
419
|
+
Relations::set(params)
|
|
420
|
+
response = Relations::relations_csd(uuid, rfc, password_csd, b64_csd, b64_key)
|
|
421
|
+
```
|
|
422
|
+
|
|
423
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
424
|
+
|
|
425
|
+
**En caso de éxito**
|
|
426
|
+
>- *get_status*
|
|
427
|
+
>- *get_data*
|
|
428
|
+
>- *get_response*
|
|
429
|
+
>- *get_status_code*
|
|
430
|
+
|
|
431
|
+
**En caso de error**
|
|
432
|
+
>- *get_message*
|
|
433
|
+
>- *get_messageDetail*
|
|
434
|
+
|
|
435
|
+
## Status Cfdi ##
|
|
436
|
+
|
|
437
|
+
Parámetros necesarios: [url de consulta, action], así como parámetros correspondientes a la factura como son: rfcEmisor, rfcReceptor, total, y uuid.
|
|
438
|
+
|
|
439
|
+
La clase Status Cfdi servirá para consultar el estatus de cancelación, si es cancelable, vigente o cancelada de nuestras facturas.
|
|
440
|
+
|
|
441
|
+
**Funciones disponibles**
|
|
442
|
+
|
|
443
|
+
- status(rfc_emisor, rfc_receptor, total, uuid, url, action)
|
|
444
|
+
|
|
445
|
+
Importar la clase al comienzo de nuestro programa de la siguiente manera
|
|
446
|
+
|
|
447
|
+
```rb
|
|
448
|
+
require_relative 'StatusCfdi/status_cfdi.rb'
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
**Ejemplo de uso**
|
|
452
|
+
|
|
453
|
+
```rb
|
|
454
|
+
url = 'https://consultaqr.facturaelectronica.sat.gob.mx/ConsultaCFDIService.svc'
|
|
455
|
+
action = 'http://tempuri.org/IConsultaCFDIService/Consulta'
|
|
456
|
+
rfc_emisor = 'LAN7008173R5'
|
|
457
|
+
rfc_receptor = 'LAN8507268IA'
|
|
458
|
+
total = '5800.00'
|
|
459
|
+
uuid = 'a9143107-25c5-4fb9-b0eb-2fcbcb855967'
|
|
460
|
+
response = StatusCfdi::status(rfc_emisor, rfc_receptor, total, uuid, url, action)
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
Las funciones correspondientes al objeto que regresan estas funciones son las siguientes
|
|
464
|
+
|
|
465
|
+
>- *get_status_code*
|
|
466
|
+
>- *get_response*
|
|
467
|
+
>- *get_codigoEstatus*
|
|
468
|
+
>- *get_esCancelable*
|
|
469
|
+
>- *get_estado*
|
|
470
|
+
>- *get_estatusCancelacion*
|