sunat-engine-nest 1.0.3 → 1.0.5

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.
package/README.md CHANGED
@@ -14,7 +14,7 @@ pnpm add sunat-engine-nest
14
14
 
15
15
  ## Configuración
16
16
 
17
- Registra el módulo en tu `AppModule`:
17
+ Registra el módulo en tu `AppModule`. Puedes definir las credenciales de tu empresa **una sola vez** en el módulo usando el campo `sunat`, evitando repetirlas en cada llamada.
18
18
 
19
19
  ```typescript
20
20
  import { SunatEngineModule } from 'sunat-engine-nest';
@@ -23,6 +23,13 @@ import { SunatEngineModule } from 'sunat-engine-nest';
23
23
  @Module({
24
24
  imports: [
25
25
  SunatEngineModule.forRoot({
26
+ sunat: {
27
+ ruc: '20123456789',
28
+ solUser: 'MODDATOS',
29
+ solPass: 'moddatos',
30
+ certPem: 'BASE64_DEL_P12_O_PEM',
31
+ endpointMode: 'beta', // 'beta' | 'produccion'
32
+ },
26
33
  gre: {
27
34
  authUrl: 'https://gre-test.nubefact.com/v1',
28
35
  apiUrl: 'https://gre-test.nubefact.com/v1',
@@ -47,6 +54,13 @@ import { ConfigModule, ConfigService } from '@nestjs/config';
47
54
  imports: [ConfigModule],
48
55
  inject: [ConfigService],
49
56
  useFactory: (config: ConfigService) => ({
57
+ sunat: {
58
+ ruc: config.get('SUNAT_RUC'),
59
+ solUser: config.get('SUNAT_SOL_USER'),
60
+ solPass: config.get('SUNAT_SOL_PASS'),
61
+ certPem: config.get('SUNAT_CERT_PEM'),
62
+ endpointMode: config.get('SUNAT_MODE') ?? 'beta',
63
+ },
50
64
  gre: {
51
65
  authUrl: config.get('GRE_AUTH_URL'),
52
66
  apiUrl: config.get('GRE_API_URL'),
@@ -60,37 +74,35 @@ import { ConfigModule, ConfigService } from '@nestjs/config';
60
74
  export class AppModule {}
61
75
  ```
62
76
 
63
- ## Variables de entorno (GRE)
77
+ ## Variables de entorno (sunat + GRE)
64
78
 
65
79
  ```env
80
+ SUNAT_RUC=20123456789
81
+ SUNAT_SOL_USER=MODDATOS
82
+ SUNAT_SOL_PASS=moddatos
83
+ SUNAT_CERT_PEM=BASE64_DEL_P12
84
+ SUNAT_MODE=beta
85
+
66
86
  GRE_AUTH_URL=https://gre-test.nubefact.com/v1
67
87
  GRE_API_URL=https://gre-test.nubefact.com/v1
68
88
  GRE_CLIENT_ID=tu_client_id
69
89
  GRE_CLIENT_SECRET=tu_client_secret
70
- GRE_SCOPE=https://api-cpe.sunat.gob.pe
71
90
  ```
72
91
 
73
92
  ## Uso
74
93
 
75
- Inyecta `SunatEngineService` en cualquier servicio o controlador:
94
+ Inyecta `SunatEngineService` en cualquier servicio o controlador. Si configuraste `sunat:{}` en el módulo, **no necesitas pasar credenciales en cada llamada**:
76
95
 
77
96
  ```typescript
78
97
  import { Injectable } from '@nestjs/common';
79
- import { SunatEngineService, InvoicePayload, CompanyCredentials } from 'sunat-engine-nest';
98
+ import { SunatEngineService, InvoicePayload } from 'sunat-engine-nest';
80
99
 
81
100
  @Injectable()
82
101
  export class InvoicesService {
83
102
  constructor(private readonly engine: SunatEngineService) {}
84
103
 
85
104
  async sendInvoice() {
86
- const credentials: CompanyCredentials = {
87
- ruc: '20123456789',
88
- solUser: 'MODDATOS',
89
- solPass: 'moddatos',
90
- certPem: 'BASE64_DEL_P12_O_PEM',
91
- endpointMode: 'beta', // 'beta' | 'produccion'
92
- };
93
-
105
+ // Sin credenciales usa las del módulo automáticamente
94
106
  const payload: InvoicePayload = {
95
107
  tipoOperacion: '0101',
96
108
  tipoDoc: '01', // 01=Factura, 03=Boleta
@@ -132,11 +144,25 @@ export class InvoicesService {
132
144
  mtoImpVenta: 236,
133
145
  };
134
146
 
135
- return this.engine.sendInvoice(payload, credentials);
147
+ return this.engine.sendInvoice(payload); // credenciales del módulo
136
148
  }
137
149
  }
138
150
  ```
139
151
 
152
+ También puedes sobreescribir las credenciales por llamada cuando manejas múltiples empresas:
153
+
154
+ ```typescript
155
+ // Credenciales específicas para esta llamada (tienen prioridad sobre el módulo)
156
+ return this.engine.sendInvoice(payload, {
157
+ ruc: '20987654321',
158
+ solUser: 'OTRO_USUARIO',
159
+ solPass: 'otra_clave',
160
+ certPem: 'OTRO_CERT_BASE64',
161
+ });
162
+ ```
163
+
164
+ ```
165
+
140
166
  ## Documentos soportados
141
167
 
142
168
  | Tipo | Método | Descripción |
@@ -222,16 +248,7 @@ Si este proyecto te ha sido útil y quieres apoyar su desarrollo continuo, puede
222
248
 
223
249
  **Número:** `+51 907 596 305`
224
250
 
225
- - [Escríbeme por WhatsApp](https://wa.me/51907596305) para consultas, soporte o coordinar una transferencia.
226
-
227
- ### Transferencia bancaria (BCP — Soles)
228
-
229
- | Campo | Detalle |
230
- |-------|---------|
231
- | Banco | BCP |
232
- | Moneda | Soles (PEN) |
233
- | N° de cuenta | `19399752856058` |
234
- | CCI | `00219319975285605810` |
251
+ - [Escríbeme por WhatsApp](https://wa.me/51907596305) para consultas, soporte o donaciones.
235
252
 
236
253
  Cualquier aporte, por pequeño que sea, ayuda a mantener la librería actualizada y en funcionamiento. ¡Gracias por tu apoyo!
237
254
 
@@ -9,7 +9,16 @@ export interface SunatEngineGreOptions {
9
9
  solPass?: string;
10
10
  scope?: string;
11
11
  }
12
+ export interface SunatEngineCredentialsOptions {
13
+ ruc?: string;
14
+ solUser?: string;
15
+ solPass?: string;
16
+ certPem?: string;
17
+ certKey?: string;
18
+ endpointMode?: 'beta' | 'produccion';
19
+ }
12
20
  export interface SunatEngineOptions {
21
+ sunat?: SunatEngineCredentialsOptions;
13
22
  gre?: SunatEngineGreOptions;
14
23
  }
15
24
  export interface SunatEngineAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
@@ -1 +1 @@
1
- {"version":3,"file":"sunat-engine.module.js","sourceRoot":"","sources":["../src/sunat-engine.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+E;AAC/E,iEAA4D;AAC5D,oEAA+D;AAC/D,gEAA2D;AAC3D,6DAAwD;AACxD,iEAA4D;AAC5D,qEAAgE;AAwBnD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAI3D,MAAM,gBAAgB,GAAG;IACvB,yCAAkB;IAClB,qCAAgB;IAChB,mCAAe;IACf,iCAAc;IACd,qCAAgB;IAChB,yCAAkB;CACnB,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,yCAAkB;IAClB,qCAAgB;IAChB,mCAAe;IACf,iCAAc;IACd,qCAAgB;IAChB,yCAAkB;CACnB,CAAC;AAIK,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAc5B,MAAM,CAAC,OAAO,CAAC,UAA8B,EAAE;QAC7C,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,4BAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACpD,GAAG,gBAAgB;aACpB;YACD,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;IAkBD,MAAM,CAAC,YAAY,CAAC,YAAqC;QACvD,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE;YACnC,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,4BAAoB;oBAC7B,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE;iBAClC;gBACD,GAAG,gBAAgB;aACpB;YACD,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AA1DY,8CAAiB;4BAAjB,iBAAiB;IAF7B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,iBAAiB,CA0D7B"}
1
+ {"version":3,"file":"sunat-engine.module.js","sourceRoot":"","sources":["../src/sunat-engine.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+E;AAC/E,iEAA4D;AAC5D,oEAA+D;AAC/D,gEAA2D;AAC3D,6DAAwD;AACxD,iEAA4D;AAC5D,qEAAgE;AAkCnD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAI3D,MAAM,gBAAgB,GAAG;IACvB,yCAAkB;IAClB,qCAAgB;IAChB,mCAAe;IACf,iCAAc;IACd,qCAAgB;IAChB,yCAAkB;CACnB,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,yCAAkB;IAClB,qCAAgB;IAChB,mCAAe;IACf,iCAAc;IACd,qCAAgB;IAChB,yCAAkB;CACnB,CAAC;AAIK,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAc5B,MAAM,CAAC,OAAO,CAAC,UAA8B,EAAE;QAC7C,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,MAAM,EAAE,IAAI;YACZ,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,4BAAoB,EAAE,QAAQ,EAAE,OAAO,EAAE;gBACpD,GAAG,gBAAgB;aACpB;YACD,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;IAkBD,MAAM,CAAC,YAAY,CAAC,YAAqC;QACvD,OAAO;YACL,MAAM,EAAE,mBAAiB;YACzB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,YAAY,CAAC,OAAO,IAAI,EAAE;YACnC,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,4BAAoB;oBAC7B,UAAU,EAAE,YAAY,CAAC,UAAU;oBACnC,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,EAAE;iBAClC;gBACD,GAAG,gBAAgB;aACpB;YACD,OAAO,EAAE,cAAc;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AA1DY,8CAAiB;4BAAjB,iBAAiB;IAF7B,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,iBAAiB,CA0D7B"}
@@ -3,18 +3,21 @@ import { XmlSignerService } from './signer/xml-signer.service';
3
3
  import { SunatSoapClient } from './soap/sunat-soap.client';
4
4
  import { SunatGreClient } from './gre/sunat-gre.client';
5
5
  import { CdrParserService } from './cdr/cdr-parser.service';
6
+ import { SunatEngineOptions } from './sunat-engine.module';
6
7
  export declare class SunatEngineService {
7
8
  private readonly signer;
8
9
  private readonly soap;
9
10
  private readonly gre;
10
11
  private readonly cdrParser;
12
+ private readonly options;
11
13
  private readonly logger;
12
- constructor(signer: XmlSignerService, soap: SunatSoapClient, gre: SunatGreClient, cdrParser: CdrParserService);
13
- sendInvoice(payload: InvoicePayload, credentials: CompanyCredentials): Promise<EngineResponse>;
14
- sendNote(payload: NotePayload, credentials: CompanyCredentials): Promise<EngineResponse>;
15
- sendDespatch(payload: DespatchPayload, credentials: CompanyCredentials): Promise<EngineResponse>;
16
- sendSummary(payload: SummaryPayload, credentials: CompanyCredentials): Promise<EngineResponse>;
17
- sendVoided(payload: VoidedPayload, credentials: CompanyCredentials): Promise<EngineResponse>;
18
- getTicketStatus(ticket: string, credentials: CompanyCredentials, endpointType?: 'factura' | 'guia'): Promise<EngineResponse>;
14
+ constructor(signer: XmlSignerService, soap: SunatSoapClient, gre: SunatGreClient, cdrParser: CdrParserService, options: SunatEngineOptions);
15
+ private resolveCredentials;
16
+ sendInvoice(payload: InvoicePayload, credentials?: Partial<CompanyCredentials>): Promise<EngineResponse>;
17
+ sendNote(payload: NotePayload, credentials?: Partial<CompanyCredentials>): Promise<EngineResponse>;
18
+ sendDespatch(payload: DespatchPayload, credentials?: Partial<CompanyCredentials>): Promise<EngineResponse>;
19
+ sendSummary(payload: SummaryPayload, credentials?: Partial<CompanyCredentials>): Promise<EngineResponse>;
20
+ sendVoided(payload: VoidedPayload, credentials?: Partial<CompanyCredentials>): Promise<EngineResponse>;
21
+ getTicketStatus(ticket: string, credentials?: Partial<CompanyCredentials>, endpointType?: 'factura' | 'guia'): Promise<EngineResponse>;
19
22
  private signDocument;
20
23
  }
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  var SunatEngineService_1;
12
15
  Object.defineProperty(exports, "__esModule", { value: true });
13
16
  exports.SunatEngineService = void 0;
@@ -21,25 +24,36 @@ const xml_signer_service_1 = require("./signer/xml-signer.service");
21
24
  const sunat_soap_client_1 = require("./soap/sunat-soap.client");
22
25
  const sunat_gre_client_1 = require("./gre/sunat-gre.client");
23
26
  const cdr_parser_service_1 = require("./cdr/cdr-parser.service");
27
+ const sunat_engine_module_1 = require("./sunat-engine.module");
24
28
  let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
25
- constructor(signer, soap, gre, cdrParser) {
29
+ constructor(signer, soap, gre, cdrParser, options) {
26
30
  this.signer = signer;
27
31
  this.soap = soap;
28
32
  this.gre = gre;
29
33
  this.cdrParser = cdrParser;
34
+ this.options = options;
30
35
  this.logger = new common_1.Logger(SunatEngineService_1.name);
31
36
  }
37
+ resolveCredentials(perCall) {
38
+ const global = this.options.sunat ?? {};
39
+ const merged = { ...global, ...perCall };
40
+ if (!merged.ruc || !merged.solUser || !merged.solPass || !merged.certPem) {
41
+ throw new Error('Credenciales incompletas: proporciona ruc, solUser, solPass y certPem en sunat:{} del módulo o en cada llamada');
42
+ }
43
+ return merged;
44
+ }
32
45
  async sendInvoice(payload, credentials) {
46
+ const creds = this.resolveCredentials(credentials);
33
47
  const xmlUnsigned = (0, invoice_builder_1.buildInvoiceXml)(payload);
34
- const { signedXml, hash } = this.signDocument(xmlUnsigned, credentials);
35
- const fileName = this.soap.buildZipFileName(credentials.ruc, payload.tipoDoc, payload.serie, payload.correlativo);
48
+ const { signedXml, hash } = this.signDocument(xmlUnsigned, creds);
49
+ const fileName = this.soap.buildZipFileName(creds.ruc, payload.tipoDoc, payload.serie, payload.correlativo);
36
50
  const result = await this.soap.sendBill({
37
- ruc: credentials.ruc,
38
- solUser: credentials.solUser,
39
- solPass: credentials.solPass,
51
+ ruc: creds.ruc,
52
+ solUser: creds.solUser,
53
+ solPass: creds.solPass,
40
54
  fileName,
41
55
  xmlSigned: signedXml,
42
- mode: credentials.endpointMode ?? 'beta',
56
+ mode: creds.endpointMode ?? 'beta',
43
57
  });
44
58
  if (!result.success) {
45
59
  return { xml: Buffer.from(signedXml).toString('base64'), hash, sunatResponse: { success: false, error: result.error } };
@@ -58,16 +72,17 @@ let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
58
72
  };
59
73
  }
60
74
  async sendNote(payload, credentials) {
75
+ const creds = this.resolveCredentials(credentials);
61
76
  const xmlUnsigned = (0, note_builder_1.buildNoteXml)(payload);
62
- const { signedXml, hash } = this.signDocument(xmlUnsigned, credentials);
63
- const fileName = this.soap.buildZipFileName(credentials.ruc, payload.tipoDoc, payload.serie, payload.correlativo);
77
+ const { signedXml, hash } = this.signDocument(xmlUnsigned, creds);
78
+ const fileName = this.soap.buildZipFileName(creds.ruc, payload.tipoDoc, payload.serie, payload.correlativo);
64
79
  const result = await this.soap.sendBill({
65
- ruc: credentials.ruc,
66
- solUser: credentials.solUser,
67
- solPass: credentials.solPass,
80
+ ruc: creds.ruc,
81
+ solUser: creds.solUser,
82
+ solPass: creds.solPass,
68
83
  fileName,
69
84
  xmlSigned: signedXml,
70
- mode: credentials.endpointMode ?? 'beta',
85
+ mode: creds.endpointMode ?? 'beta',
71
86
  });
72
87
  const cdrResponse = result.cdrZipBase64
73
88
  ? await this.cdrParser.parse(result.cdrZipBase64)
@@ -84,19 +99,20 @@ let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
84
99
  };
85
100
  }
86
101
  async sendDespatch(payload, credentials) {
102
+ const creds = this.resolveCredentials(credentials);
87
103
  const xmlUnsigned = (0, despatch_builder_1.buildDespatchXml)(payload);
88
- const { signedXml, hash } = this.signDocument(xmlUnsigned, credentials);
104
+ const { signedXml, hash } = this.signDocument(xmlUnsigned, creds);
89
105
  const result = await this.gre.sendGRE({
90
- ruc: credentials.ruc,
91
- solUser: credentials.solUser,
92
- solPass: credentials.solPass,
106
+ ruc: creds.ruc,
107
+ solUser: creds.solUser,
108
+ solPass: creds.solPass,
93
109
  serie: payload.serie,
94
110
  correlativo: payload.correlativo,
95
111
  signedXml,
96
- clientId: credentials.greClientId,
97
- clientSecret: credentials.greClientSecret,
98
- authUrl: credentials.greAuthUrl,
99
- apiUrl: credentials.greApiUrl,
112
+ clientId: creds.greClientId,
113
+ clientSecret: creds.greClientSecret,
114
+ authUrl: creds.greAuthUrl,
115
+ apiUrl: creds.greApiUrl,
100
116
  });
101
117
  return {
102
118
  xml: Buffer.from(signedXml).toString('base64'),
@@ -109,17 +125,18 @@ let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
109
125
  };
110
126
  }
111
127
  async sendSummary(payload, credentials) {
128
+ const creds = this.resolveCredentials(credentials);
112
129
  const xmlUnsigned = (0, summary_builder_1.buildSummaryXml)(payload);
113
- const { signedXml, hash } = this.signDocument(xmlUnsigned, credentials);
130
+ const { signedXml, hash } = this.signDocument(xmlUnsigned, creds);
114
131
  const fecha = payload.fecResumen.slice(0, 10);
115
- const fileName = this.soap.buildSummaryFileName(credentials.ruc, 'RC', fecha, payload.correlativo);
132
+ const fileName = this.soap.buildSummaryFileName(creds.ruc, 'RC', fecha, payload.correlativo);
116
133
  const result = await this.soap.sendSummary({
117
- ruc: credentials.ruc,
118
- solUser: credentials.solUser,
119
- solPass: credentials.solPass,
134
+ ruc: creds.ruc,
135
+ solUser: creds.solUser,
136
+ solPass: creds.solPass,
120
137
  fileName,
121
138
  xmlSigned: signedXml,
122
- mode: credentials.endpointMode ?? 'beta',
139
+ mode: creds.endpointMode ?? 'beta',
123
140
  });
124
141
  return {
125
142
  xml: Buffer.from(signedXml).toString('base64'),
@@ -132,17 +149,18 @@ let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
132
149
  };
133
150
  }
134
151
  async sendVoided(payload, credentials) {
152
+ const creds = this.resolveCredentials(credentials);
135
153
  const xmlUnsigned = (0, voided_builder_1.buildVoidedXml)(payload);
136
- const { signedXml, hash } = this.signDocument(xmlUnsigned, credentials);
154
+ const { signedXml, hash } = this.signDocument(xmlUnsigned, creds);
137
155
  const fecha = payload.fecGeneracion.slice(0, 10);
138
- const fileName = this.soap.buildSummaryFileName(credentials.ruc, 'RA', fecha, payload.correlativo);
156
+ const fileName = this.soap.buildSummaryFileName(creds.ruc, 'RA', fecha, payload.correlativo);
139
157
  const result = await this.soap.sendSummary({
140
- ruc: credentials.ruc,
141
- solUser: credentials.solUser,
142
- solPass: credentials.solPass,
158
+ ruc: creds.ruc,
159
+ solUser: creds.solUser,
160
+ solPass: creds.solPass,
143
161
  fileName,
144
162
  xmlSigned: signedXml,
145
- mode: credentials.endpointMode ?? 'beta',
163
+ mode: creds.endpointMode ?? 'beta',
146
164
  });
147
165
  return {
148
166
  xml: Buffer.from(signedXml).toString('base64'),
@@ -155,16 +173,17 @@ let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
155
173
  };
156
174
  }
157
175
  async getTicketStatus(ticket, credentials, endpointType = 'factura') {
176
+ const creds = this.resolveCredentials(credentials);
158
177
  if (endpointType === 'guia') {
159
178
  const result = await this.gre.getStatus({
160
- ruc: credentials.ruc,
161
- solUser: credentials.solUser,
162
- solPass: credentials.solPass,
179
+ ruc: creds.ruc,
180
+ solUser: creds.solUser,
181
+ solPass: creds.solPass,
163
182
  ticket,
164
- clientId: credentials.greClientId,
165
- clientSecret: credentials.greClientSecret,
166
- authUrl: credentials.greAuthUrl,
167
- apiUrl: credentials.greApiUrl,
183
+ clientId: creds.greClientId,
184
+ clientSecret: creds.greClientSecret,
185
+ authUrl: creds.greAuthUrl,
186
+ apiUrl: creds.greApiUrl,
168
187
  });
169
188
  const cdrResponse = result.cdrZipBase64
170
189
  ? await this.cdrParser.parse(result.cdrZipBase64)
@@ -179,11 +198,11 @@ let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
179
198
  };
180
199
  }
181
200
  const result = await this.soap.getStatus({
182
- ruc: credentials.ruc,
183
- solUser: credentials.solUser,
184
- solPass: credentials.solPass,
201
+ ruc: creds.ruc,
202
+ solUser: creds.solUser,
203
+ solPass: creds.solPass,
185
204
  ticket,
186
- mode: credentials.endpointMode ?? 'beta',
205
+ mode: creds.endpointMode ?? 'beta',
187
206
  endpointType,
188
207
  });
189
208
  const cdrResponse = result.cdrZipBase64
@@ -220,9 +239,10 @@ let SunatEngineService = SunatEngineService_1 = class SunatEngineService {
220
239
  exports.SunatEngineService = SunatEngineService;
221
240
  exports.SunatEngineService = SunatEngineService = SunatEngineService_1 = __decorate([
222
241
  (0, common_1.Injectable)(),
242
+ __param(4, (0, common_1.Inject)(sunat_engine_module_1.SUNAT_ENGINE_OPTIONS)),
223
243
  __metadata("design:paramtypes", [xml_signer_service_1.XmlSignerService,
224
244
  sunat_soap_client_1.SunatSoapClient,
225
245
  sunat_gre_client_1.SunatGreClient,
226
- cdr_parser_service_1.CdrParserService])
246
+ cdr_parser_service_1.CdrParserService, Object])
227
247
  ], SunatEngineService);
228
248
  //# sourceMappingURL=sunat-engine.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sunat-engine.service.js","sourceRoot":"","sources":["../src/sunat-engine.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sunat-engine.service.js","sourceRoot":"","sources":["../src/sunat-engine.service.ts"],"names":[],"mappings":"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"}