@pronesoft-rd/ecf-sdk 0.0.1

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 (291) hide show
  1. package/.openapi-generator/FILES +96 -0
  2. package/.openapi-generator/VERSION +1 -0
  3. package/.openapi-generator-ignore +23 -0
  4. package/README.md +234 -0
  5. package/dist/apis/AssociatedCompaniesApi.d.ts +150 -0
  6. package/dist/apis/AssociatedCompaniesApi.js +229 -0
  7. package/dist/apis/AuthenticationApi.d.ts +64 -0
  8. package/dist/apis/AuthenticationApi.js +75 -0
  9. package/dist/apis/DigitalCertificatesApi.d.ts +70 -0
  10. package/dist/apis/DigitalCertificatesApi.js +113 -0
  11. package/dist/apis/ECFSubmissionApi.d.ts +70 -0
  12. package/dist/apis/ECFSubmissionApi.js +96 -0
  13. package/dist/apis/TaxSequencesApi.d.ts +152 -0
  14. package/dist/apis/TaxSequencesApi.js +214 -0
  15. package/dist/apis/WebhookConfigurationApi.d.ts +146 -0
  16. package/dist/apis/WebhookConfigurationApi.js +197 -0
  17. package/dist/apis/index.d.ts +6 -0
  18. package/dist/apis/index.js +24 -0
  19. package/dist/esm/apis/AssociatedCompaniesApi.d.ts +150 -0
  20. package/dist/esm/apis/AssociatedCompaniesApi.js +225 -0
  21. package/dist/esm/apis/AuthenticationApi.d.ts +64 -0
  22. package/dist/esm/apis/AuthenticationApi.js +71 -0
  23. package/dist/esm/apis/DigitalCertificatesApi.d.ts +70 -0
  24. package/dist/esm/apis/DigitalCertificatesApi.js +109 -0
  25. package/dist/esm/apis/ECFSubmissionApi.d.ts +70 -0
  26. package/dist/esm/apis/ECFSubmissionApi.js +92 -0
  27. package/dist/esm/apis/TaxSequencesApi.d.ts +152 -0
  28. package/dist/esm/apis/TaxSequencesApi.js +210 -0
  29. package/dist/esm/apis/WebhookConfigurationApi.d.ts +146 -0
  30. package/dist/esm/apis/WebhookConfigurationApi.js +193 -0
  31. package/dist/esm/apis/index.d.ts +6 -0
  32. package/dist/esm/apis/index.js +8 -0
  33. package/dist/esm/index.d.ts +3 -0
  34. package/dist/esm/index.js +5 -0
  35. package/dist/esm/models/AccountType.d.ts +30 -0
  36. package/dist/esm/models/AccountType.js +48 -0
  37. package/dist/esm/models/AdditionalInfo.d.ts +50 -0
  38. package/dist/esm/models/AdditionalInfo.js +47 -0
  39. package/dist/esm/models/AlternativeCurrency.d.ts +46 -0
  40. package/dist/esm/models/AlternativeCurrency.js +49 -0
  41. package/dist/esm/models/AssociatedCompany.d.ts +125 -0
  42. package/dist/esm/models/AssociatedCompany.js +77 -0
  43. package/dist/esm/models/AssociatedCompanySubscription.d.ts +45 -0
  44. package/dist/esm/models/AssociatedCompanySubscription.js +46 -0
  45. package/dist/esm/models/AssociatedCompanySubscriptionPlan.d.ts +38 -0
  46. package/dist/esm/models/AssociatedCompanySubscriptionPlan.js +43 -0
  47. package/dist/esm/models/BillingIndicator.d.ts +34 -0
  48. package/dist/esm/models/BillingIndicator.js +52 -0
  49. package/dist/esm/models/Buyer.d.ts +68 -0
  50. package/dist/esm/models/Buyer.js +55 -0
  51. package/dist/esm/models/CreateAssociatedCompany201Response.d.ts +39 -0
  52. package/dist/esm/models/CreateAssociatedCompany201Response.js +44 -0
  53. package/dist/esm/models/CreateTaxSequenceRequest.d.ts +47 -0
  54. package/dist/esm/models/CreateTaxSequenceRequest.js +52 -0
  55. package/dist/esm/models/CreateWebhookConfig.d.ts +53 -0
  56. package/dist/esm/models/CreateWebhookConfig.js +52 -0
  57. package/dist/esm/models/DiscountOrSurcharge.d.ts +93 -0
  58. package/dist/esm/models/DiscountOrSurcharge.js +78 -0
  59. package/dist/esm/models/EcfSubmissionResponse.d.ts +56 -0
  60. package/dist/esm/models/EcfSubmissionResponse.js +53 -0
  61. package/dist/esm/models/ElectronicDocument.d.ts +252 -0
  62. package/dist/esm/models/ElectronicDocument.js +143 -0
  63. package/dist/esm/models/Environment.d.ts +30 -0
  64. package/dist/esm/models/Environment.js +48 -0
  65. package/dist/esm/models/ErrorResponse.d.ts +44 -0
  66. package/dist/esm/models/ErrorResponse.js +45 -0
  67. package/dist/esm/models/GetNextNumber200Response.d.ts +39 -0
  68. package/dist/esm/models/GetNextNumber200Response.js +44 -0
  69. package/dist/esm/models/GetNextNumber200ResponseData.d.ts +38 -0
  70. package/dist/esm/models/GetNextNumber200ResponseData.js +43 -0
  71. package/dist/esm/models/InvoiceType.d.ts +44 -0
  72. package/dist/esm/models/InvoiceType.js +62 -0
  73. package/dist/esm/models/Item.d.ts +106 -0
  74. package/dist/esm/models/Item.js +83 -0
  75. package/dist/esm/models/ItemAdditionalTax.d.ts +38 -0
  76. package/dist/esm/models/ItemAdditionalTax.js +47 -0
  77. package/dist/esm/models/ListTaxSequences200Response.d.ts +39 -0
  78. package/dist/esm/models/ListTaxSequences200Response.js +44 -0
  79. package/dist/esm/models/OAuthTokenRequest.d.ts +43 -0
  80. package/dist/esm/models/OAuthTokenRequest.js +47 -0
  81. package/dist/esm/models/OAuthTokenResponse.d.ts +46 -0
  82. package/dist/esm/models/OAuthTokenResponse.js +45 -0
  83. package/dist/esm/models/Page.d.ts +116 -0
  84. package/dist/esm/models/Page.js +75 -0
  85. package/dist/esm/models/PaymentMethod.d.ts +40 -0
  86. package/dist/esm/models/PaymentMethod.js +58 -0
  87. package/dist/esm/models/PrintFormat.d.ts +30 -0
  88. package/dist/esm/models/PrintFormat.js +48 -0
  89. package/dist/esm/models/ReferenceInfo.d.ts +76 -0
  90. package/dist/esm/models/ReferenceInfo.js +63 -0
  91. package/dist/esm/models/Subquantity.d.ts +38 -0
  92. package/dist/esm/models/Subquantity.js +47 -0
  93. package/dist/esm/models/Subtotal.d.ts +110 -0
  94. package/dist/esm/models/Subtotal.js +71 -0
  95. package/dist/esm/models/TaxSequence.d.ts +45 -0
  96. package/dist/esm/models/TaxSequence.js +46 -0
  97. package/dist/esm/models/Totals.d.ts +173 -0
  98. package/dist/esm/models/Totals.js +90 -0
  99. package/dist/esm/models/Transport.d.ts +62 -0
  100. package/dist/esm/models/Transport.js +51 -0
  101. package/dist/esm/models/UploadCertificate201Response.d.ts +44 -0
  102. package/dist/esm/models/UploadCertificate201Response.js +45 -0
  103. package/dist/esm/models/UploadCertificateResponse.d.ts +44 -0
  104. package/dist/esm/models/UploadCertificateResponse.js +45 -0
  105. package/dist/esm/models/WebhookConfigResponse.d.ts +63 -0
  106. package/dist/esm/models/WebhookConfigResponse.js +52 -0
  107. package/dist/esm/models/WebhookEventType.d.ts +40 -0
  108. package/dist/esm/models/WebhookEventType.js +58 -0
  109. package/dist/esm/models/WebhookNotificationPayload.d.ts +59 -0
  110. package/dist/esm/models/WebhookNotificationPayload.js +60 -0
  111. package/dist/esm/models/index.d.ts +37 -0
  112. package/dist/esm/models/index.js +39 -0
  113. package/dist/esm/runtime.d.ts +184 -0
  114. package/dist/esm/runtime.js +349 -0
  115. package/dist/index.d.ts +3 -0
  116. package/dist/index.js +21 -0
  117. package/dist/models/AccountType.d.ts +30 -0
  118. package/dist/models/AccountType.js +56 -0
  119. package/dist/models/AdditionalInfo.d.ts +50 -0
  120. package/dist/models/AdditionalInfo.js +54 -0
  121. package/dist/models/AlternativeCurrency.d.ts +46 -0
  122. package/dist/models/AlternativeCurrency.js +56 -0
  123. package/dist/models/AssociatedCompany.d.ts +125 -0
  124. package/dist/models/AssociatedCompany.js +85 -0
  125. package/dist/models/AssociatedCompanySubscription.d.ts +45 -0
  126. package/dist/models/AssociatedCompanySubscription.js +53 -0
  127. package/dist/models/AssociatedCompanySubscriptionPlan.d.ts +38 -0
  128. package/dist/models/AssociatedCompanySubscriptionPlan.js +50 -0
  129. package/dist/models/BillingIndicator.d.ts +34 -0
  130. package/dist/models/BillingIndicator.js +60 -0
  131. package/dist/models/Buyer.d.ts +68 -0
  132. package/dist/models/Buyer.js +62 -0
  133. package/dist/models/CreateAssociatedCompany201Response.d.ts +39 -0
  134. package/dist/models/CreateAssociatedCompany201Response.js +51 -0
  135. package/dist/models/CreateTaxSequenceRequest.d.ts +47 -0
  136. package/dist/models/CreateTaxSequenceRequest.js +59 -0
  137. package/dist/models/CreateWebhookConfig.d.ts +53 -0
  138. package/dist/models/CreateWebhookConfig.js +59 -0
  139. package/dist/models/DiscountOrSurcharge.d.ts +93 -0
  140. package/dist/models/DiscountOrSurcharge.js +86 -0
  141. package/dist/models/EcfSubmissionResponse.d.ts +56 -0
  142. package/dist/models/EcfSubmissionResponse.js +60 -0
  143. package/dist/models/ElectronicDocument.d.ts +252 -0
  144. package/dist/models/ElectronicDocument.js +151 -0
  145. package/dist/models/Environment.d.ts +30 -0
  146. package/dist/models/Environment.js +56 -0
  147. package/dist/models/ErrorResponse.d.ts +44 -0
  148. package/dist/models/ErrorResponse.js +52 -0
  149. package/dist/models/GetNextNumber200Response.d.ts +39 -0
  150. package/dist/models/GetNextNumber200Response.js +51 -0
  151. package/dist/models/GetNextNumber200ResponseData.d.ts +38 -0
  152. package/dist/models/GetNextNumber200ResponseData.js +50 -0
  153. package/dist/models/InvoiceType.d.ts +44 -0
  154. package/dist/models/InvoiceType.js +70 -0
  155. package/dist/models/Item.d.ts +106 -0
  156. package/dist/models/Item.js +91 -0
  157. package/dist/models/ItemAdditionalTax.d.ts +38 -0
  158. package/dist/models/ItemAdditionalTax.js +54 -0
  159. package/dist/models/ListTaxSequences200Response.d.ts +39 -0
  160. package/dist/models/ListTaxSequences200Response.js +51 -0
  161. package/dist/models/OAuthTokenRequest.d.ts +43 -0
  162. package/dist/models/OAuthTokenRequest.js +54 -0
  163. package/dist/models/OAuthTokenResponse.d.ts +46 -0
  164. package/dist/models/OAuthTokenResponse.js +52 -0
  165. package/dist/models/Page.d.ts +116 -0
  166. package/dist/models/Page.js +82 -0
  167. package/dist/models/PaymentMethod.d.ts +40 -0
  168. package/dist/models/PaymentMethod.js +66 -0
  169. package/dist/models/PrintFormat.d.ts +30 -0
  170. package/dist/models/PrintFormat.js +56 -0
  171. package/dist/models/ReferenceInfo.d.ts +76 -0
  172. package/dist/models/ReferenceInfo.js +71 -0
  173. package/dist/models/Subquantity.d.ts +38 -0
  174. package/dist/models/Subquantity.js +54 -0
  175. package/dist/models/Subtotal.d.ts +110 -0
  176. package/dist/models/Subtotal.js +78 -0
  177. package/dist/models/TaxSequence.d.ts +45 -0
  178. package/dist/models/TaxSequence.js +53 -0
  179. package/dist/models/Totals.d.ts +173 -0
  180. package/dist/models/Totals.js +97 -0
  181. package/dist/models/Transport.d.ts +62 -0
  182. package/dist/models/Transport.js +58 -0
  183. package/dist/models/UploadCertificate201Response.d.ts +44 -0
  184. package/dist/models/UploadCertificate201Response.js +52 -0
  185. package/dist/models/UploadCertificateResponse.d.ts +44 -0
  186. package/dist/models/UploadCertificateResponse.js +52 -0
  187. package/dist/models/WebhookConfigResponse.d.ts +63 -0
  188. package/dist/models/WebhookConfigResponse.js +59 -0
  189. package/dist/models/WebhookEventType.d.ts +40 -0
  190. package/dist/models/WebhookEventType.js +66 -0
  191. package/dist/models/WebhookNotificationPayload.d.ts +59 -0
  192. package/dist/models/WebhookNotificationPayload.js +67 -0
  193. package/dist/models/index.d.ts +37 -0
  194. package/dist/models/index.js +55 -0
  195. package/dist/runtime.d.ts +184 -0
  196. package/dist/runtime.js +365 -0
  197. package/docs/AccountType.md +33 -0
  198. package/docs/AdditionalInfo.md +41 -0
  199. package/docs/AlternativeCurrency.md +39 -0
  200. package/docs/AssociatedCompaniesApi.md +207 -0
  201. package/docs/AssociatedCompany.md +63 -0
  202. package/docs/AssociatedCompanySubscription.md +38 -0
  203. package/docs/AssociatedCompanySubscriptionPlan.md +36 -0
  204. package/docs/AuthenticationApi.md +77 -0
  205. package/docs/BillingIndicator.md +33 -0
  206. package/docs/Buyer.md +47 -0
  207. package/docs/CreateAssociatedCompany201Response.md +36 -0
  208. package/docs/CreateTaxSequenceRequest.md +39 -0
  209. package/docs/CreateWebhookConfig.md +41 -0
  210. package/docs/DigitalCertificatesApi.md +90 -0
  211. package/docs/DiscountOrSurcharge.md +49 -0
  212. package/docs/ECFSubmissionApi.md +90 -0
  213. package/docs/EcfSubmissionResponse.md +43 -0
  214. package/docs/ElectronicDocument.md +87 -0
  215. package/docs/Environment.md +33 -0
  216. package/docs/ErrorResponse.md +39 -0
  217. package/docs/GetNextNumber200Response.md +36 -0
  218. package/docs/GetNextNumber200ResponseData.md +36 -0
  219. package/docs/InvoiceType.md +33 -0
  220. package/docs/Item.md +55 -0
  221. package/docs/ItemAdditionalTax.md +37 -0
  222. package/docs/ListTaxSequences200Response.md +36 -0
  223. package/docs/OAuthTokenRequest.md +37 -0
  224. package/docs/OAuthTokenResponse.md +39 -0
  225. package/docs/Page.md +63 -0
  226. package/docs/PaymentMethod.md +33 -0
  227. package/docs/PrintFormat.md +33 -0
  228. package/docs/ReferenceInfo.md +43 -0
  229. package/docs/Subquantity.md +37 -0
  230. package/docs/Subtotal.md +61 -0
  231. package/docs/TaxSequence.md +39 -0
  232. package/docs/TaxSequencesApi.md +246 -0
  233. package/docs/Totals.md +81 -0
  234. package/docs/Transport.md +45 -0
  235. package/docs/UploadCertificate201Response.md +38 -0
  236. package/docs/UploadCertificateResponse.md +39 -0
  237. package/docs/WebhookConfigResponse.md +45 -0
  238. package/docs/WebhookConfigurationApi.md +241 -0
  239. package/docs/WebhookEventType.md +33 -0
  240. package/docs/WebhookNotificationPayload.md +43 -0
  241. package/package.json +21 -0
  242. package/src/apis/AssociatedCompaniesApi.ts +415 -0
  243. package/src/apis/AuthenticationApi.ts +122 -0
  244. package/src/apis/DigitalCertificatesApi.ts +175 -0
  245. package/src/apis/ECFSubmissionApi.ts +163 -0
  246. package/src/apis/TaxSequencesApi.ts +374 -0
  247. package/src/apis/WebhookConfigurationApi.ts +332 -0
  248. package/src/apis/index.ts +8 -0
  249. package/src/index.ts +5 -0
  250. package/src/models/AccountType.ts +58 -0
  251. package/src/models/AdditionalInfo.ts +89 -0
  252. package/src/models/AlternativeCurrency.ts +85 -0
  253. package/src/models/AssociatedCompany.ts +196 -0
  254. package/src/models/AssociatedCompanySubscription.ts +89 -0
  255. package/src/models/AssociatedCompanySubscriptionPlan.ts +73 -0
  256. package/src/models/BillingIndicator.ts +62 -0
  257. package/src/models/Buyer.ts +114 -0
  258. package/src/models/CreateAssociatedCompany201Response.ts +81 -0
  259. package/src/models/CreateTaxSequenceRequest.ts +96 -0
  260. package/src/models/CreateWebhookConfig.ts +101 -0
  261. package/src/models/DiscountOrSurcharge.ts +155 -0
  262. package/src/models/EcfSubmissionResponse.ts +99 -0
  263. package/src/models/ElectronicDocument.ts +421 -0
  264. package/src/models/Environment.ts +58 -0
  265. package/src/models/ErrorResponse.ts +81 -0
  266. package/src/models/GetNextNumber200Response.ts +81 -0
  267. package/src/models/GetNextNumber200ResponseData.ts +73 -0
  268. package/src/models/InvoiceType.ts +72 -0
  269. package/src/models/Item.ts +187 -0
  270. package/src/models/ItemAdditionalTax.ts +75 -0
  271. package/src/models/ListTaxSequences200Response.ts +81 -0
  272. package/src/models/OAuthTokenRequest.ts +80 -0
  273. package/src/models/OAuthTokenResponse.ts +83 -0
  274. package/src/models/Page.ts +180 -0
  275. package/src/models/PaymentMethod.ts +68 -0
  276. package/src/models/PrintFormat.ts +58 -0
  277. package/src/models/ReferenceInfo.ts +122 -0
  278. package/src/models/Subquantity.ts +75 -0
  279. package/src/models/Subtotal.ts +171 -0
  280. package/src/models/TaxSequence.ts +91 -0
  281. package/src/models/Totals.ts +260 -0
  282. package/src/models/Transport.ts +105 -0
  283. package/src/models/UploadCertificate201Response.ts +81 -0
  284. package/src/models/UploadCertificateResponse.ts +81 -0
  285. package/src/models/WebhookConfigResponse.ts +113 -0
  286. package/src/models/WebhookEventType.ts +68 -0
  287. package/src/models/WebhookNotificationPayload.ts +114 -0
  288. package/src/models/index.ts +39 -0
  289. package/src/runtime.ts +450 -0
  290. package/tsconfig.esm.json +7 -0
  291. package/tsconfig.json +16 -0
@@ -0,0 +1,70 @@
1
+ /**
2
+ * eCF-Pronesoft Integration API
3
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
4
+ *
5
+ * The version of the OpenAPI document: 0.0.1
6
+ * Contact: contacto@pronesoft.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { EcfSubmissionResponse, ElectronicDocument, Environment } from '../models/index';
14
+ export interface SubmitEcfRequest {
15
+ xTenantId: string;
16
+ environment: Environment;
17
+ electronicDocument: ElectronicDocument;
18
+ }
19
+ /**
20
+ * ECFSubmissionApi - interface
21
+ *
22
+ * @export
23
+ * @interface ECFSubmissionApiInterface
24
+ */
25
+ export interface ECFSubmissionApiInterface {
26
+ /**
27
+ * Creates request options for submitEcf without sending the request
28
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
29
+ * @param {Environment} environment Target submission environment.
30
+ * @param {ElectronicDocument} electronicDocument
31
+ * @throws {RequiredError}
32
+ * @memberof ECFSubmissionApiInterface
33
+ */
34
+ submitEcfRequestOpts(requestParameters: SubmitEcfRequest): Promise<runtime.RequestOpts>;
35
+ /**
36
+ * Submits an electronic tax document to the DGII via the Pronesoft platform. Pronesoft handles XML signing, DGII authentication, and status polling on your behalf. ### Flow 1. Build the `ElectronicDocument` payload. 2. Call this endpoint with the target `environment` in the path. 3. Receive a `documentId` and `trackId` in the response. 4. Listen for the `document.status_changed` webhook event, or poll the DGII track ID to confirm final approval. ### Path parameter: environment | Value | Description | |---|---| | `TesteCF` | Functional tests (no DGII interaction) | | `CerteCF` | DGII certification environment | | `eCF` | Production — real documents |
37
+ * @summary Submit e-CF document to DGII
38
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
39
+ * @param {Environment} environment Target submission environment.
40
+ * @param {ElectronicDocument} electronicDocument
41
+ * @param {*} [options] Override http request option.
42
+ * @throws {RequiredError}
43
+ * @memberof ECFSubmissionApiInterface
44
+ */
45
+ submitEcfRaw(requestParameters: SubmitEcfRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EcfSubmissionResponse>>;
46
+ /**
47
+ * Submits an electronic tax document to the DGII via the Pronesoft platform. Pronesoft handles XML signing, DGII authentication, and status polling on your behalf. ### Flow 1. Build the `ElectronicDocument` payload. 2. Call this endpoint with the target `environment` in the path. 3. Receive a `documentId` and `trackId` in the response. 4. Listen for the `document.status_changed` webhook event, or poll the DGII track ID to confirm final approval. ### Path parameter: environment | Value | Description | |---|---| | `TesteCF` | Functional tests (no DGII interaction) | | `CerteCF` | DGII certification environment | | `eCF` | Production — real documents |
48
+ * Submit e-CF document to DGII
49
+ */
50
+ submitEcf(requestParameters: SubmitEcfRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EcfSubmissionResponse>;
51
+ }
52
+ /**
53
+ *
54
+ */
55
+ export declare class ECFSubmissionApi extends runtime.BaseAPI implements ECFSubmissionApiInterface {
56
+ /**
57
+ * Creates request options for submitEcf without sending the request
58
+ */
59
+ submitEcfRequestOpts(requestParameters: SubmitEcfRequest): Promise<runtime.RequestOpts>;
60
+ /**
61
+ * Submits an electronic tax document to the DGII via the Pronesoft platform. Pronesoft handles XML signing, DGII authentication, and status polling on your behalf. ### Flow 1. Build the `ElectronicDocument` payload. 2. Call this endpoint with the target `environment` in the path. 3. Receive a `documentId` and `trackId` in the response. 4. Listen for the `document.status_changed` webhook event, or poll the DGII track ID to confirm final approval. ### Path parameter: environment | Value | Description | |---|---| | `TesteCF` | Functional tests (no DGII interaction) | | `CerteCF` | DGII certification environment | | `eCF` | Production — real documents |
62
+ * Submit e-CF document to DGII
63
+ */
64
+ submitEcfRaw(requestParameters: SubmitEcfRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<EcfSubmissionResponse>>;
65
+ /**
66
+ * Submits an electronic tax document to the DGII via the Pronesoft platform. Pronesoft handles XML signing, DGII authentication, and status polling on your behalf. ### Flow 1. Build the `ElectronicDocument` payload. 2. Call this endpoint with the target `environment` in the path. 3. Receive a `documentId` and `trackId` in the response. 4. Listen for the `document.status_changed` webhook event, or poll the DGII track ID to confirm final approval. ### Path parameter: environment | Value | Description | |---|---| | `TesteCF` | Functional tests (no DGII interaction) | | `CerteCF` | DGII certification environment | | `eCF` | Production — real documents |
67
+ * Submit e-CF document to DGII
68
+ */
69
+ submitEcf(requestParameters: SubmitEcfRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<EcfSubmissionResponse>;
70
+ }
@@ -0,0 +1,92 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * eCF-Pronesoft Integration API
5
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
6
+ *
7
+ * The version of the OpenAPI document: 0.0.1
8
+ * Contact: contacto@pronesoft.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ import * as runtime from '../runtime';
24
+ import { EcfSubmissionResponseFromJSON, ElectronicDocumentToJSON, } from '../models/index';
25
+ /**
26
+ *
27
+ */
28
+ export class ECFSubmissionApi extends runtime.BaseAPI {
29
+ /**
30
+ * Creates request options for submitEcf without sending the request
31
+ */
32
+ submitEcfRequestOpts(requestParameters) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ if (requestParameters['xTenantId'] == null) {
35
+ throw new runtime.RequiredError('xTenantId', 'Required parameter "xTenantId" was null or undefined when calling submitEcf().');
36
+ }
37
+ if (requestParameters['environment'] == null) {
38
+ throw new runtime.RequiredError('environment', 'Required parameter "environment" was null or undefined when calling submitEcf().');
39
+ }
40
+ if (requestParameters['electronicDocument'] == null) {
41
+ throw new runtime.RequiredError('electronicDocument', 'Required parameter "electronicDocument" was null or undefined when calling submitEcf().');
42
+ }
43
+ const queryParameters = {};
44
+ const headerParameters = {};
45
+ headerParameters['Content-Type'] = 'application/json';
46
+ if (requestParameters['xTenantId'] != null) {
47
+ headerParameters['x-tenant-id'] = String(requestParameters['xTenantId']);
48
+ }
49
+ if (this.configuration && this.configuration.accessToken) {
50
+ // oauth required
51
+ headerParameters["Authorization"] = yield this.configuration.accessToken("oauth2", ["documents:send"]);
52
+ }
53
+ if (this.configuration && this.configuration.accessToken) {
54
+ const token = this.configuration.accessToken;
55
+ const tokenString = yield token("bearerAuth", []);
56
+ if (tokenString) {
57
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
58
+ }
59
+ }
60
+ let urlPath = `/{environment}/ecf/submit`;
61
+ urlPath = urlPath.replace(`{${"environment"}}`, encodeURIComponent(String(requestParameters['environment'])));
62
+ return {
63
+ path: urlPath,
64
+ method: 'POST',
65
+ headers: headerParameters,
66
+ query: queryParameters,
67
+ body: ElectronicDocumentToJSON(requestParameters['electronicDocument']),
68
+ };
69
+ });
70
+ }
71
+ /**
72
+ * Submits an electronic tax document to the DGII via the Pronesoft platform. Pronesoft handles XML signing, DGII authentication, and status polling on your behalf. ### Flow 1. Build the `ElectronicDocument` payload. 2. Call this endpoint with the target `environment` in the path. 3. Receive a `documentId` and `trackId` in the response. 4. Listen for the `document.status_changed` webhook event, or poll the DGII track ID to confirm final approval. ### Path parameter: environment | Value | Description | |---|---| | `TesteCF` | Functional tests (no DGII interaction) | | `CerteCF` | DGII certification environment | | `eCF` | Production — real documents |
73
+ * Submit e-CF document to DGII
74
+ */
75
+ submitEcfRaw(requestParameters, initOverrides) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const requestOptions = yield this.submitEcfRequestOpts(requestParameters);
78
+ const response = yield this.request(requestOptions, initOverrides);
79
+ return new runtime.JSONApiResponse(response, (jsonValue) => EcfSubmissionResponseFromJSON(jsonValue));
80
+ });
81
+ }
82
+ /**
83
+ * Submits an electronic tax document to the DGII via the Pronesoft platform. Pronesoft handles XML signing, DGII authentication, and status polling on your behalf. ### Flow 1. Build the `ElectronicDocument` payload. 2. Call this endpoint with the target `environment` in the path. 3. Receive a `documentId` and `trackId` in the response. 4. Listen for the `document.status_changed` webhook event, or poll the DGII track ID to confirm final approval. ### Path parameter: environment | Value | Description | |---|---| | `TesteCF` | Functional tests (no DGII interaction) | | `CerteCF` | DGII certification environment | | `eCF` | Production — real documents |
84
+ * Submit e-CF document to DGII
85
+ */
86
+ submitEcf(requestParameters, initOverrides) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ const response = yield this.submitEcfRaw(requestParameters, initOverrides);
89
+ return yield response.value();
90
+ });
91
+ }
92
+ }
@@ -0,0 +1,152 @@
1
+ /**
2
+ * eCF-Pronesoft Integration API
3
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
4
+ *
5
+ * The version of the OpenAPI document: 0.0.1
6
+ * Contact: contacto@pronesoft.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import * as runtime from '../runtime';
13
+ import type { CreateTaxSequenceRequest, Environment, GetNextNumber200Response, InvoiceType, ListTaxSequences200Response } from '../models/index';
14
+ export interface CreateTaxSequenceOperationRequest {
15
+ xTenantId: string;
16
+ createTaxSequenceRequest: CreateTaxSequenceRequest;
17
+ }
18
+ export interface GetNextNumberRequest {
19
+ xTenantId: string;
20
+ type: InvoiceType;
21
+ environment: Environment;
22
+ }
23
+ export interface ListTaxSequencesRequest {
24
+ xTenantId: string;
25
+ type?: InvoiceType;
26
+ }
27
+ /**
28
+ * TaxSequencesApi - interface
29
+ *
30
+ * @export
31
+ * @interface TaxSequencesApiInterface
32
+ */
33
+ export interface TaxSequencesApiInterface {
34
+ /**
35
+ * Creates request options for createTaxSequence without sending the request
36
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
37
+ * @param {CreateTaxSequenceRequest} createTaxSequenceRequest
38
+ * @throws {RequiredError}
39
+ * @memberof TaxSequencesApiInterface
40
+ */
41
+ createTaxSequenceRequestOpts(requestParameters: CreateTaxSequenceOperationRequest): Promise<runtime.RequestOpts>;
42
+ /**
43
+ * Registers a new block of fiscal numbers for a given invoice type. The `from` and `to` values define the numeric range of the sequence.
44
+ * @summary Create new tax sequence
45
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
46
+ * @param {CreateTaxSequenceRequest} createTaxSequenceRequest
47
+ * @param {*} [options] Override http request option.
48
+ * @throws {RequiredError}
49
+ * @memberof TaxSequencesApiInterface
50
+ */
51
+ createTaxSequenceRaw(requestParameters: CreateTaxSequenceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
52
+ /**
53
+ * Registers a new block of fiscal numbers for a given invoice type. The `from` and `to` values define the numeric range of the sequence.
54
+ * Create new tax sequence
55
+ */
56
+ createTaxSequence(requestParameters: CreateTaxSequenceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
57
+ /**
58
+ * Creates request options for getNextNumber without sending the request
59
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
60
+ * @param {InvoiceType} type Invoice type code (e.g. \&quot;31\&quot; for Tax Credit Invoice).
61
+ * @param {Environment} environment Target environment for the sequence.
62
+ * @throws {RequiredError}
63
+ * @memberof TaxSequencesApiInterface
64
+ */
65
+ getNextNumberRequestOpts(requestParameters: GetNextNumberRequest): Promise<runtime.RequestOpts>;
66
+ /**
67
+ * Returns the next available e-NCF number for a given invoice type and environment. Use this number as the `invoiceNumber` when submitting a document.
68
+ * @summary Get next available fiscal number
69
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
70
+ * @param {InvoiceType} type Invoice type code (e.g. \&quot;31\&quot; for Tax Credit Invoice).
71
+ * @param {Environment} environment Target environment for the sequence.
72
+ * @param {*} [options] Override http request option.
73
+ * @throws {RequiredError}
74
+ * @memberof TaxSequencesApiInterface
75
+ */
76
+ getNextNumberRaw(requestParameters: GetNextNumberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetNextNumber200Response>>;
77
+ /**
78
+ * Returns the next available e-NCF number for a given invoice type and environment. Use this number as the `invoiceNumber` when submitting a document.
79
+ * Get next available fiscal number
80
+ */
81
+ getNextNumber(requestParameters: GetNextNumberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetNextNumber200Response>;
82
+ /**
83
+ * Creates request options for listTaxSequences without sending the request
84
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
85
+ * @param {InvoiceType} [type] Filter by invoice type (e.g. \&quot;31\&quot; for Tax Credit).
86
+ * @throws {RequiredError}
87
+ * @memberof TaxSequencesApiInterface
88
+ */
89
+ listTaxSequencesRequestOpts(requestParameters: ListTaxSequencesRequest): Promise<runtime.RequestOpts>;
90
+ /**
91
+ * Returns all fiscal number sequences registered for the tenant.
92
+ * @summary List tax sequences
93
+ * @param {string} xTenantId UUID of the company or branch (tenant) making the request. Obtained from the Pronesoft portal after account setup.
94
+ * @param {InvoiceType} [type] Filter by invoice type (e.g. \&quot;31\&quot; for Tax Credit).
95
+ * @param {*} [options] Override http request option.
96
+ * @throws {RequiredError}
97
+ * @memberof TaxSequencesApiInterface
98
+ */
99
+ listTaxSequencesRaw(requestParameters: ListTaxSequencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListTaxSequences200Response>>;
100
+ /**
101
+ * Returns all fiscal number sequences registered for the tenant.
102
+ * List tax sequences
103
+ */
104
+ listTaxSequences(requestParameters: ListTaxSequencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListTaxSequences200Response>;
105
+ }
106
+ /**
107
+ *
108
+ */
109
+ export declare class TaxSequencesApi extends runtime.BaseAPI implements TaxSequencesApiInterface {
110
+ /**
111
+ * Creates request options for createTaxSequence without sending the request
112
+ */
113
+ createTaxSequenceRequestOpts(requestParameters: CreateTaxSequenceOperationRequest): Promise<runtime.RequestOpts>;
114
+ /**
115
+ * Registers a new block of fiscal numbers for a given invoice type. The `from` and `to` values define the numeric range of the sequence.
116
+ * Create new tax sequence
117
+ */
118
+ createTaxSequenceRaw(requestParameters: CreateTaxSequenceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
119
+ /**
120
+ * Registers a new block of fiscal numbers for a given invoice type. The `from` and `to` values define the numeric range of the sequence.
121
+ * Create new tax sequence
122
+ */
123
+ createTaxSequence(requestParameters: CreateTaxSequenceOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
124
+ /**
125
+ * Creates request options for getNextNumber without sending the request
126
+ */
127
+ getNextNumberRequestOpts(requestParameters: GetNextNumberRequest): Promise<runtime.RequestOpts>;
128
+ /**
129
+ * Returns the next available e-NCF number for a given invoice type and environment. Use this number as the `invoiceNumber` when submitting a document.
130
+ * Get next available fiscal number
131
+ */
132
+ getNextNumberRaw(requestParameters: GetNextNumberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<GetNextNumber200Response>>;
133
+ /**
134
+ * Returns the next available e-NCF number for a given invoice type and environment. Use this number as the `invoiceNumber` when submitting a document.
135
+ * Get next available fiscal number
136
+ */
137
+ getNextNumber(requestParameters: GetNextNumberRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<GetNextNumber200Response>;
138
+ /**
139
+ * Creates request options for listTaxSequences without sending the request
140
+ */
141
+ listTaxSequencesRequestOpts(requestParameters: ListTaxSequencesRequest): Promise<runtime.RequestOpts>;
142
+ /**
143
+ * Returns all fiscal number sequences registered for the tenant.
144
+ * List tax sequences
145
+ */
146
+ listTaxSequencesRaw(requestParameters: ListTaxSequencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ListTaxSequences200Response>>;
147
+ /**
148
+ * Returns all fiscal number sequences registered for the tenant.
149
+ * List tax sequences
150
+ */
151
+ listTaxSequences(requestParameters: ListTaxSequencesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ListTaxSequences200Response>;
152
+ }
@@ -0,0 +1,210 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * eCF-Pronesoft Integration API
5
+ * ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
6
+ *
7
+ * The version of the OpenAPI document: 0.0.1
8
+ * Contact: contacto@pronesoft.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
23
+ import * as runtime from '../runtime';
24
+ import { CreateTaxSequenceRequestToJSON, GetNextNumber200ResponseFromJSON, ListTaxSequences200ResponseFromJSON, } from '../models/index';
25
+ /**
26
+ *
27
+ */
28
+ export class TaxSequencesApi extends runtime.BaseAPI {
29
+ /**
30
+ * Creates request options for createTaxSequence without sending the request
31
+ */
32
+ createTaxSequenceRequestOpts(requestParameters) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ if (requestParameters['xTenantId'] == null) {
35
+ throw new runtime.RequiredError('xTenantId', 'Required parameter "xTenantId" was null or undefined when calling createTaxSequence().');
36
+ }
37
+ if (requestParameters['createTaxSequenceRequest'] == null) {
38
+ throw new runtime.RequiredError('createTaxSequenceRequest', 'Required parameter "createTaxSequenceRequest" was null or undefined when calling createTaxSequence().');
39
+ }
40
+ const queryParameters = {};
41
+ const headerParameters = {};
42
+ headerParameters['Content-Type'] = 'application/json';
43
+ if (requestParameters['xTenantId'] != null) {
44
+ headerParameters['x-tenant-id'] = String(requestParameters['xTenantId']);
45
+ }
46
+ if (this.configuration && this.configuration.accessToken) {
47
+ // oauth required
48
+ headerParameters["Authorization"] = yield this.configuration.accessToken("oauth2", ["sequences:create"]);
49
+ }
50
+ if (this.configuration && this.configuration.accessToken) {
51
+ const token = this.configuration.accessToken;
52
+ const tokenString = yield token("bearerAuth", []);
53
+ if (tokenString) {
54
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
55
+ }
56
+ }
57
+ let urlPath = `/tax-sequences`;
58
+ return {
59
+ path: urlPath,
60
+ method: 'POST',
61
+ headers: headerParameters,
62
+ query: queryParameters,
63
+ body: CreateTaxSequenceRequestToJSON(requestParameters['createTaxSequenceRequest']),
64
+ };
65
+ });
66
+ }
67
+ /**
68
+ * Registers a new block of fiscal numbers for a given invoice type. The `from` and `to` values define the numeric range of the sequence.
69
+ * Create new tax sequence
70
+ */
71
+ createTaxSequenceRaw(requestParameters, initOverrides) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const requestOptions = yield this.createTaxSequenceRequestOpts(requestParameters);
74
+ const response = yield this.request(requestOptions, initOverrides);
75
+ return new runtime.VoidApiResponse(response);
76
+ });
77
+ }
78
+ /**
79
+ * Registers a new block of fiscal numbers for a given invoice type. The `from` and `to` values define the numeric range of the sequence.
80
+ * Create new tax sequence
81
+ */
82
+ createTaxSequence(requestParameters, initOverrides) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ yield this.createTaxSequenceRaw(requestParameters, initOverrides);
85
+ });
86
+ }
87
+ /**
88
+ * Creates request options for getNextNumber without sending the request
89
+ */
90
+ getNextNumberRequestOpts(requestParameters) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ if (requestParameters['xTenantId'] == null) {
93
+ throw new runtime.RequiredError('xTenantId', 'Required parameter "xTenantId" was null or undefined when calling getNextNumber().');
94
+ }
95
+ if (requestParameters['type'] == null) {
96
+ throw new runtime.RequiredError('type', 'Required parameter "type" was null or undefined when calling getNextNumber().');
97
+ }
98
+ if (requestParameters['environment'] == null) {
99
+ throw new runtime.RequiredError('environment', 'Required parameter "environment" was null or undefined when calling getNextNumber().');
100
+ }
101
+ const queryParameters = {};
102
+ if (requestParameters['type'] != null) {
103
+ queryParameters['type'] = requestParameters['type'];
104
+ }
105
+ if (requestParameters['environment'] != null) {
106
+ queryParameters['environment'] = requestParameters['environment'];
107
+ }
108
+ const headerParameters = {};
109
+ if (requestParameters['xTenantId'] != null) {
110
+ headerParameters['x-tenant-id'] = String(requestParameters['xTenantId']);
111
+ }
112
+ if (this.configuration && this.configuration.accessToken) {
113
+ // oauth required
114
+ headerParameters["Authorization"] = yield this.configuration.accessToken("oauth2", ["sequences:read"]);
115
+ }
116
+ if (this.configuration && this.configuration.accessToken) {
117
+ const token = this.configuration.accessToken;
118
+ const tokenString = yield token("bearerAuth", []);
119
+ if (tokenString) {
120
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
121
+ }
122
+ }
123
+ let urlPath = `/tax-sequences/next`;
124
+ return {
125
+ path: urlPath,
126
+ method: 'GET',
127
+ headers: headerParameters,
128
+ query: queryParameters,
129
+ };
130
+ });
131
+ }
132
+ /**
133
+ * Returns the next available e-NCF number for a given invoice type and environment. Use this number as the `invoiceNumber` when submitting a document.
134
+ * Get next available fiscal number
135
+ */
136
+ getNextNumberRaw(requestParameters, initOverrides) {
137
+ return __awaiter(this, void 0, void 0, function* () {
138
+ const requestOptions = yield this.getNextNumberRequestOpts(requestParameters);
139
+ const response = yield this.request(requestOptions, initOverrides);
140
+ return new runtime.JSONApiResponse(response, (jsonValue) => GetNextNumber200ResponseFromJSON(jsonValue));
141
+ });
142
+ }
143
+ /**
144
+ * Returns the next available e-NCF number for a given invoice type and environment. Use this number as the `invoiceNumber` when submitting a document.
145
+ * Get next available fiscal number
146
+ */
147
+ getNextNumber(requestParameters, initOverrides) {
148
+ return __awaiter(this, void 0, void 0, function* () {
149
+ const response = yield this.getNextNumberRaw(requestParameters, initOverrides);
150
+ return yield response.value();
151
+ });
152
+ }
153
+ /**
154
+ * Creates request options for listTaxSequences without sending the request
155
+ */
156
+ listTaxSequencesRequestOpts(requestParameters) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ if (requestParameters['xTenantId'] == null) {
159
+ throw new runtime.RequiredError('xTenantId', 'Required parameter "xTenantId" was null or undefined when calling listTaxSequences().');
160
+ }
161
+ const queryParameters = {};
162
+ if (requestParameters['type'] != null) {
163
+ queryParameters['type'] = requestParameters['type'];
164
+ }
165
+ const headerParameters = {};
166
+ if (requestParameters['xTenantId'] != null) {
167
+ headerParameters['x-tenant-id'] = String(requestParameters['xTenantId']);
168
+ }
169
+ if (this.configuration && this.configuration.accessToken) {
170
+ // oauth required
171
+ headerParameters["Authorization"] = yield this.configuration.accessToken("oauth2", ["sequences:read"]);
172
+ }
173
+ if (this.configuration && this.configuration.accessToken) {
174
+ const token = this.configuration.accessToken;
175
+ const tokenString = yield token("bearerAuth", []);
176
+ if (tokenString) {
177
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
178
+ }
179
+ }
180
+ let urlPath = `/tax-sequences`;
181
+ return {
182
+ path: urlPath,
183
+ method: 'GET',
184
+ headers: headerParameters,
185
+ query: queryParameters,
186
+ };
187
+ });
188
+ }
189
+ /**
190
+ * Returns all fiscal number sequences registered for the tenant.
191
+ * List tax sequences
192
+ */
193
+ listTaxSequencesRaw(requestParameters, initOverrides) {
194
+ return __awaiter(this, void 0, void 0, function* () {
195
+ const requestOptions = yield this.listTaxSequencesRequestOpts(requestParameters);
196
+ const response = yield this.request(requestOptions, initOverrides);
197
+ return new runtime.JSONApiResponse(response, (jsonValue) => ListTaxSequences200ResponseFromJSON(jsonValue));
198
+ });
199
+ }
200
+ /**
201
+ * Returns all fiscal number sequences registered for the tenant.
202
+ * List tax sequences
203
+ */
204
+ listTaxSequences(requestParameters, initOverrides) {
205
+ return __awaiter(this, void 0, void 0, function* () {
206
+ const response = yield this.listTaxSequencesRaw(requestParameters, initOverrides);
207
+ return yield response.value();
208
+ });
209
+ }
210
+ }