@facturacr/atv-sdk 1.0.1 → 1.2.0

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.
Files changed (58) hide show
  1. package/.github/workflows/publish.yml +10 -12
  2. package/.github/workflows/release-please.yml +17 -0
  3. package/CHANGELOG.md +8 -0
  4. package/dist/src/ATV/core/CreateDocFactory.d.ts +2 -0
  5. package/dist/src/ATV/core/CreateDocFactory.js.map +1 -1
  6. package/dist/src/ATV/core/Person.d.ts +1 -1
  7. package/dist/src/ATV/core/ReceptorConsecutive.d.ts +13 -0
  8. package/dist/src/ATV/core/ReceptorConsecutive.js +21 -0
  9. package/dist/src/ATV/core/ReceptorConsecutive.js.map +1 -0
  10. package/dist/src/ATV/core/documentNames.types.d.ts +1 -1
  11. package/dist/src/ATV/core/types.d.ts +20 -0
  12. package/dist/src/ATV/core/types.js +10 -0
  13. package/dist/src/ATV/core/types.js.map +1 -0
  14. package/dist/src/ATV/index.d.ts +8 -0
  15. package/dist/src/ATV/index.js +5 -0
  16. package/dist/src/ATV/index.js.map +1 -1
  17. package/dist/src/ATV/mappers/billDocToAtv.d.ts +2 -0
  18. package/dist/src/ATV/mappers/billDocToAtv.js +20 -1
  19. package/dist/src/ATV/mappers/billDocToAtv.js.map +1 -1
  20. package/dist/src/ATV/useCases/createDocument/types.d.ts +16 -13
  21. package/dist/src/ATV/useCases/createReceptorMessage/index.d.ts +40 -0
  22. package/dist/src/ATV/useCases/createReceptorMessage/index.js +114 -0
  23. package/dist/src/ATV/useCases/createReceptorMessage/index.js.map +1 -0
  24. package/dist/src/confirmXML.js +1 -1
  25. package/dist/src/confirmXML.js.map +1 -1
  26. package/dist/src/electronicBill.js.map +1 -1
  27. package/dist/src/helpers/comprobantes.js.map +1 -1
  28. package/dist/src/index.d.ts +1 -0
  29. package/dist/src/index.js +3 -1
  30. package/dist/src/index.js.map +1 -1
  31. package/dist/src/lib/genJSON/confirmXML.js +3 -3
  32. package/dist/src/lib/genJSON/confirmXML.js.map +1 -1
  33. package/dist/src/lib/genJSON/index.js.map +1 -1
  34. package/dist/src/lib/genXML/index.d.ts +2 -1
  35. package/dist/src/lib/genXML/index.js +3 -3
  36. package/dist/src/lib/genXML/index.js.map +1 -1
  37. package/dist/src/types/facturaInterfaces.d.ts +19 -2
  38. package/examples/README.md +10 -5
  39. package/examples/atvAccept.ts +87 -0
  40. package/package.json +1 -1
  41. package/src/ATV/core/CreateDocFactory.ts +2 -0
  42. package/src/ATV/core/Person.ts +1 -1
  43. package/src/ATV/core/ReceptorConsecutive.ts +27 -0
  44. package/src/ATV/core/documentNames.types.ts +2 -1
  45. package/src/ATV/core/types.ts +22 -0
  46. package/src/ATV/index.ts +6 -0
  47. package/src/ATV/mappers/billDocToAtv.ts +20 -0
  48. package/src/ATV/useCases/createDocument/types.ts +16 -13
  49. package/src/ATV/useCases/createReceptorMessage/index.ts +129 -0
  50. package/src/confirmXML.ts +2 -2
  51. package/src/electronicBill.ts +2 -1
  52. package/src/helpers/comprobantes.ts +1 -1
  53. package/src/index.ts +1 -1
  54. package/src/lib/genJSON/confirmXML.ts +5 -5
  55. package/src/lib/genJSON/index.ts +1 -1
  56. package/src/lib/genXML/index.ts +2 -1
  57. package/src/types/facturaInterfaces.ts +21 -2
  58. package/examples/confirmXML.ts +0 -76
@@ -51,7 +51,7 @@ export interface Resumen {
51
51
  export interface Persona {
52
52
  Nombre: string;
53
53
  Identificacion: {
54
- Tipo?: string;
54
+ Tipo?: '01' | '02';
55
55
  Numero: string;
56
56
  };
57
57
  NombreComercial?: string;
@@ -104,8 +104,27 @@ export interface Document {
104
104
  InformacionReferencia?: InformacionReferencia;
105
105
  }
106
106
 
107
+ export interface XMLRawDocument extends Document {
108
+
109
+ }
110
+
111
+ interface MensajeReceptor {
112
+ Clave: string;
113
+ NumeroCedulaEmisor: string;
114
+ FechaEmisionDoc: string;
115
+ Mensaje: string;
116
+ DetalleMensaje: string;
117
+ MontoTotalImpuesto: number;
118
+ CodigoActividad: string;
119
+ CondicionImpuesto: string;
120
+ MontoTotalDeGastoAplicable: number;
121
+ TotalFactura: number;
122
+ NumeroCedulaReceptor: string;
123
+ NumeroConsecutivoReceptor: string;
124
+ }
125
+
107
126
  export interface InvoiceDocumentContainer {
108
- [key: string]: Document;
127
+ [key: string]: Document | MensajeReceptor;
109
128
  }
110
129
 
111
130
  export type ConfirmationMessageRaw = {
@@ -1,76 +0,0 @@
1
- import confirmXML from '@src/confirmXML'
2
- import { sendToCustomURL } from '@src/services/send/index'
3
- import getToken from '@src/services/getToken'
4
- import fs from 'fs'
5
-
6
- const USERNAME_TEST = process.env.USERNAME_TEST
7
- const PASSWORD_TEST = process.env.PASSWORD_TEST
8
-
9
- const SOURCE_P12_URI = process.env.SOURCE_P12_URI
10
- const SOURCE_P12_PASSPORT = process.env.SOURCE_P12_PASSPORT
11
- const XML_TO_CONFIRM = process.env.XML_TO_CONFIRM
12
-
13
- function decodeBase64(encodedStr: string): string {
14
- const buff = Buffer.from(encodedStr, 'base64')
15
- return buff.toString('ascii')
16
- }
17
-
18
- function getConfimation(token: string, data: any, ms: number): Promise<any> {
19
- return new Promise((resolve, reject): any => {
20
- setTimeout(() => {
21
- const location = data.headers.location
22
- console.log('location', location)
23
- sendToCustomURL(token, location)
24
- .then(data => resolve(data))
25
- .catch(err => reject(err))
26
- }, ms)
27
- })
28
- }
29
-
30
- async function main(): Promise<void> {
31
- try {
32
- const pem = fs.readFileSync(SOURCE_P12_URI, 'binary')
33
- const xml = fs.readFileSync(XML_TO_CONFIRM, 'utf-8')
34
- const token = await getToken({
35
- client_id: 'api-stag', // eslint-disable-line
36
- client_secret: '', // eslint-disable-line
37
- grant_type: 'password', // eslint-disable-line
38
- username: USERNAME_TEST,
39
- password: PASSWORD_TEST
40
- })
41
- const consecutivo = {
42
- consecutivo: '0000000013'
43
- }
44
- const data = await confirmXML({
45
- token: token.data.access_token,
46
- consecutivo,
47
- xmlStr: xml,
48
- tipoDocKey: 'CCE',
49
- pemOpt: {
50
- buffer: pem,
51
- password: SOURCE_P12_PASSPORT
52
- }
53
- })
54
- if (data) {
55
- const secondResponse = await getConfimation(token.data.access_token, data, 10000)
56
- .catch(err => {
57
- const response = err.response || {}
58
- console.log('response', response)
59
- })
60
- const XMLResponse = secondResponse.data['respuesta-xml']
61
- if (!XMLResponse) {
62
- const state = secondResponse.data['ind-estado']
63
- console.log('state', state)
64
- return
65
- }
66
- const text = decodeBase64(XMLResponse)
67
- console.log('secondResponse', text)
68
- } else {
69
- console.log('no data', data)
70
- }
71
- } catch (error) {
72
- console.warn(error.code)
73
- }
74
- }
75
-
76
- main()