@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,173 @@
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 type { ItemAdditionalTax } from './ItemAdditionalTax';
13
+ /**
14
+ * Document totals. `totalAmount` is required.
15
+ * Provide ITBIS breakdowns by rate when applicable.
16
+ *
17
+ * @export
18
+ * @interface Totals
19
+ */
20
+ export interface Totals {
21
+ /**
22
+ * Total taxable base amount (all ITBIS rates combined).
23
+ * @type {number}
24
+ * @memberof Totals
25
+ */
26
+ taxableAmount?: number;
27
+ /**
28
+ * Taxable base for 18% ITBIS rate.
29
+ * @type {number}
30
+ * @memberof Totals
31
+ */
32
+ taxableAmount1?: number;
33
+ /**
34
+ * Taxable base for 16% ITBIS rate.
35
+ * @type {number}
36
+ * @memberof Totals
37
+ */
38
+ taxableAmount2?: number;
39
+ /**
40
+ * Taxable base for 0% ITBIS rate.
41
+ * @type {number}
42
+ * @memberof Totals
43
+ */
44
+ taxableAmount3?: number;
45
+ /**
46
+ * Total amount exempt from ITBIS.
47
+ * @type {number}
48
+ * @memberof Totals
49
+ */
50
+ exemptAmount?: number;
51
+ /**
52
+ * ITBIS rate 1 (typically 0.18).
53
+ * @type {number}
54
+ * @memberof Totals
55
+ */
56
+ itbisRate1?: number;
57
+ /**
58
+ * ITBIS rate 2 (typically 0.16).
59
+ * @type {number}
60
+ * @memberof Totals
61
+ */
62
+ itbisRate2?: number;
63
+ /**
64
+ * ITBIS rate 3 (typically 0.00).
65
+ * @type {number}
66
+ * @memberof Totals
67
+ */
68
+ itbisRate3?: number;
69
+ /**
70
+ * Total ITBIS tax (all rates combined).
71
+ * @type {number}
72
+ * @memberof Totals
73
+ */
74
+ totalITBIS?: number;
75
+ /**
76
+ * ITBIS amount at rate 1.
77
+ * @type {number}
78
+ * @memberof Totals
79
+ */
80
+ itbis1?: number;
81
+ /**
82
+ * ITBIS amount at rate 2.
83
+ * @type {number}
84
+ * @memberof Totals
85
+ */
86
+ itbis2?: number;
87
+ /**
88
+ * ITBIS amount at rate 3.
89
+ * @type {number}
90
+ * @memberof Totals
91
+ */
92
+ itbis3?: number;
93
+ /**
94
+ * Total of all additional taxes (ISC, IECS, etc.).
95
+ * @type {number}
96
+ * @memberof Totals
97
+ */
98
+ additionalTaxAmount?: number;
99
+ /**
100
+ * Breakdown of additional taxes at document level.
101
+ * @type {Array<ItemAdditionalTax>}
102
+ * @memberof Totals
103
+ */
104
+ additionalTaxes?: Array<ItemAdditionalTax>;
105
+ /**
106
+ * Grand total of the document (required).
107
+ * @type {number}
108
+ * @memberof Totals
109
+ */
110
+ totalAmount: number;
111
+ /**
112
+ * Amount not subject to billing.
113
+ * @type {number}
114
+ * @memberof Totals
115
+ */
116
+ nonBillableAmount?: number;
117
+ /**
118
+ * Amount for the current billing period.
119
+ * @type {number}
120
+ * @memberof Totals
121
+ */
122
+ periodAmount?: number;
123
+ /**
124
+ * Previous balance (for billing statements).
125
+ * @type {number}
126
+ * @memberof Totals
127
+ */
128
+ previousBalance?: number;
129
+ /**
130
+ * Advance payment amount already received.
131
+ * @type {number}
132
+ * @memberof Totals
133
+ */
134
+ advancePaymentAmount?: number;
135
+ /**
136
+ * Net amount due after advance payments and previous balance.
137
+ * @type {number}
138
+ * @memberof Totals
139
+ */
140
+ amountToPay?: number;
141
+ /**
142
+ * Total ITBIS withheld at source.
143
+ * @type {number}
144
+ * @memberof Totals
145
+ */
146
+ totalWithheldITBIS?: number;
147
+ /**
148
+ * Total income tax (ISR) withheld at source.
149
+ * @type {number}
150
+ * @memberof Totals
151
+ */
152
+ totalIncomeTaxWithholding?: number;
153
+ /**
154
+ * Total ITBIS perception collected.
155
+ * @type {number}
156
+ * @memberof Totals
157
+ */
158
+ totalITBISPerception?: number;
159
+ /**
160
+ * Total ISR perception collected.
161
+ * @type {number}
162
+ * @memberof Totals
163
+ */
164
+ totalISRPerception?: number;
165
+ }
166
+ /**
167
+ * Check if a given object implements the Totals interface.
168
+ */
169
+ export declare function instanceOfTotals(value: object): value is Totals;
170
+ export declare function TotalsFromJSON(json: any): Totals;
171
+ export declare function TotalsFromJSONTyped(json: any, ignoreDiscriminator: boolean): Totals;
172
+ export declare function TotalsToJSON(json: any): Totals;
173
+ export declare function TotalsToJSONTyped(value?: Totals | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,90 @@
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
+ import { ItemAdditionalTaxFromJSON, ItemAdditionalTaxToJSON, } from './ItemAdditionalTax';
15
+ /**
16
+ * Check if a given object implements the Totals interface.
17
+ */
18
+ export function instanceOfTotals(value) {
19
+ if (!('totalAmount' in value) || value['totalAmount'] === undefined)
20
+ return false;
21
+ return true;
22
+ }
23
+ export function TotalsFromJSON(json) {
24
+ return TotalsFromJSONTyped(json, false);
25
+ }
26
+ export function TotalsFromJSONTyped(json, ignoreDiscriminator) {
27
+ if (json == null) {
28
+ return json;
29
+ }
30
+ return {
31
+ 'taxableAmount': json['taxableAmount'] == null ? undefined : json['taxableAmount'],
32
+ 'taxableAmount1': json['taxableAmount1'] == null ? undefined : json['taxableAmount1'],
33
+ 'taxableAmount2': json['taxableAmount2'] == null ? undefined : json['taxableAmount2'],
34
+ 'taxableAmount3': json['taxableAmount3'] == null ? undefined : json['taxableAmount3'],
35
+ 'exemptAmount': json['exemptAmount'] == null ? undefined : json['exemptAmount'],
36
+ 'itbisRate1': json['itbisRate1'] == null ? undefined : json['itbisRate1'],
37
+ 'itbisRate2': json['itbisRate2'] == null ? undefined : json['itbisRate2'],
38
+ 'itbisRate3': json['itbisRate3'] == null ? undefined : json['itbisRate3'],
39
+ 'totalITBIS': json['totalITBIS'] == null ? undefined : json['totalITBIS'],
40
+ 'itbis1': json['itbis1'] == null ? undefined : json['itbis1'],
41
+ 'itbis2': json['itbis2'] == null ? undefined : json['itbis2'],
42
+ 'itbis3': json['itbis3'] == null ? undefined : json['itbis3'],
43
+ 'additionalTaxAmount': json['additionalTaxAmount'] == null ? undefined : json['additionalTaxAmount'],
44
+ 'additionalTaxes': json['additionalTaxes'] == null ? undefined : (json['additionalTaxes'].map(ItemAdditionalTaxFromJSON)),
45
+ 'totalAmount': json['totalAmount'],
46
+ 'nonBillableAmount': json['nonBillableAmount'] == null ? undefined : json['nonBillableAmount'],
47
+ 'periodAmount': json['periodAmount'] == null ? undefined : json['periodAmount'],
48
+ 'previousBalance': json['previousBalance'] == null ? undefined : json['previousBalance'],
49
+ 'advancePaymentAmount': json['advancePaymentAmount'] == null ? undefined : json['advancePaymentAmount'],
50
+ 'amountToPay': json['amountToPay'] == null ? undefined : json['amountToPay'],
51
+ 'totalWithheldITBIS': json['totalWithheldITBIS'] == null ? undefined : json['totalWithheldITBIS'],
52
+ 'totalIncomeTaxWithholding': json['totalIncomeTaxWithholding'] == null ? undefined : json['totalIncomeTaxWithholding'],
53
+ 'totalITBISPerception': json['totalITBISPerception'] == null ? undefined : json['totalITBISPerception'],
54
+ 'totalISRPerception': json['totalISRPerception'] == null ? undefined : json['totalISRPerception'],
55
+ };
56
+ }
57
+ export function TotalsToJSON(json) {
58
+ return TotalsToJSONTyped(json, false);
59
+ }
60
+ export function TotalsToJSONTyped(value, ignoreDiscriminator = false) {
61
+ if (value == null) {
62
+ return value;
63
+ }
64
+ return {
65
+ 'taxableAmount': value['taxableAmount'],
66
+ 'taxableAmount1': value['taxableAmount1'],
67
+ 'taxableAmount2': value['taxableAmount2'],
68
+ 'taxableAmount3': value['taxableAmount3'],
69
+ 'exemptAmount': value['exemptAmount'],
70
+ 'itbisRate1': value['itbisRate1'],
71
+ 'itbisRate2': value['itbisRate2'],
72
+ 'itbisRate3': value['itbisRate3'],
73
+ 'totalITBIS': value['totalITBIS'],
74
+ 'itbis1': value['itbis1'],
75
+ 'itbis2': value['itbis2'],
76
+ 'itbis3': value['itbis3'],
77
+ 'additionalTaxAmount': value['additionalTaxAmount'],
78
+ 'additionalTaxes': value['additionalTaxes'] == null ? undefined : (value['additionalTaxes'].map(ItemAdditionalTaxToJSON)),
79
+ 'totalAmount': value['totalAmount'],
80
+ 'nonBillableAmount': value['nonBillableAmount'],
81
+ 'periodAmount': value['periodAmount'],
82
+ 'previousBalance': value['previousBalance'],
83
+ 'advancePaymentAmount': value['advancePaymentAmount'],
84
+ 'amountToPay': value['amountToPay'],
85
+ 'totalWithheldITBIS': value['totalWithheldITBIS'],
86
+ 'totalIncomeTaxWithholding': value['totalIncomeTaxWithholding'],
87
+ 'totalITBISPerception': value['totalITBISPerception'],
88
+ 'totalISRPerception': value['totalISRPerception'],
89
+ };
90
+ }
@@ -0,0 +1,62 @@
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
+ /**
13
+ * Transport/delivery information (required for certain invoice types).
14
+ * @export
15
+ * @interface Transport
16
+ */
17
+ export interface Transport {
18
+ /**
19
+ * Driver's full name.
20
+ * @type {string}
21
+ * @memberof Transport
22
+ */
23
+ driver?: string;
24
+ /**
25
+ * Vehicle identification number.
26
+ * @type {string}
27
+ * @memberof Transport
28
+ */
29
+ vehicleId?: string;
30
+ /**
31
+ * Vehicle license plate.
32
+ * @type {string}
33
+ * @memberof Transport
34
+ */
35
+ licensePlate?: string;
36
+ /**
37
+ * Delivery route description.
38
+ * @type {string}
39
+ * @memberof Transport
40
+ */
41
+ route?: string;
42
+ /**
43
+ * Departure date and time.
44
+ * @type {Date}
45
+ * @memberof Transport
46
+ */
47
+ departureDate?: Date;
48
+ /**
49
+ * Estimated arrival date and time.
50
+ * @type {Date}
51
+ * @memberof Transport
52
+ */
53
+ arrivalDate?: Date;
54
+ }
55
+ /**
56
+ * Check if a given object implements the Transport interface.
57
+ */
58
+ export declare function instanceOfTransport(value: object): value is Transport;
59
+ export declare function TransportFromJSON(json: any): Transport;
60
+ export declare function TransportFromJSONTyped(json: any, ignoreDiscriminator: boolean): Transport;
61
+ export declare function TransportToJSON(json: any): Transport;
62
+ export declare function TransportToJSONTyped(value?: Transport | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,51 @@
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
+ /**
15
+ * Check if a given object implements the Transport interface.
16
+ */
17
+ export function instanceOfTransport(value) {
18
+ return true;
19
+ }
20
+ export function TransportFromJSON(json) {
21
+ return TransportFromJSONTyped(json, false);
22
+ }
23
+ export function TransportFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'driver': json['driver'] == null ? undefined : json['driver'],
29
+ 'vehicleId': json['vehicleId'] == null ? undefined : json['vehicleId'],
30
+ 'licensePlate': json['licensePlate'] == null ? undefined : json['licensePlate'],
31
+ 'route': json['route'] == null ? undefined : json['route'],
32
+ 'departureDate': json['departureDate'] == null ? undefined : (new Date(json['departureDate'])),
33
+ 'arrivalDate': json['arrivalDate'] == null ? undefined : (new Date(json['arrivalDate'])),
34
+ };
35
+ }
36
+ export function TransportToJSON(json) {
37
+ return TransportToJSONTyped(json, false);
38
+ }
39
+ export function TransportToJSONTyped(value, ignoreDiscriminator = false) {
40
+ if (value == null) {
41
+ return value;
42
+ }
43
+ return {
44
+ 'driver': value['driver'],
45
+ 'vehicleId': value['vehicleId'],
46
+ 'licensePlate': value['licensePlate'],
47
+ 'route': value['route'],
48
+ 'departureDate': value['departureDate'] == null ? value['departureDate'] : value['departureDate'].toISOString(),
49
+ 'arrivalDate': value['arrivalDate'] == null ? value['arrivalDate'] : value['arrivalDate'].toISOString(),
50
+ };
51
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * eCF-Pronesoft Master Integration API
3
+ * **Highly detailed** production-grade API specification for eCF-Pronesoft. **Optimized for high-fidelity SDK generation.** This specification is the result of an exhaustive audit of the source code (NestJS), covering 100% of the DTOs, regex validations, Webhook schemas, and OAuth 2.0 security flows.
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
+ /**
13
+ *
14
+ * @export
15
+ * @interface UploadCertificate201Response
16
+ */
17
+ export interface UploadCertificate201Response {
18
+ /**
19
+ *
20
+ * @type {string}
21
+ * @memberof UploadCertificate201Response
22
+ */
23
+ message?: string;
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof UploadCertificate201Response
28
+ */
29
+ representative?: string;
30
+ /**
31
+ *
32
+ * @type {Date}
33
+ * @memberof UploadCertificate201Response
34
+ */
35
+ expirationDate?: Date;
36
+ }
37
+ /**
38
+ * Check if a given object implements the UploadCertificate201Response interface.
39
+ */
40
+ export declare function instanceOfUploadCertificate201Response(value: object): value is UploadCertificate201Response;
41
+ export declare function UploadCertificate201ResponseFromJSON(json: any): UploadCertificate201Response;
42
+ export declare function UploadCertificate201ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadCertificate201Response;
43
+ export declare function UploadCertificate201ResponseToJSON(json: any): UploadCertificate201Response;
44
+ export declare function UploadCertificate201ResponseToJSONTyped(value?: UploadCertificate201Response | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,45 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * eCF-Pronesoft Master Integration API
5
+ * **Highly detailed** production-grade API specification for eCF-Pronesoft. **Optimized for high-fidelity SDK generation.** This specification is the result of an exhaustive audit of the source code (NestJS), covering 100% of the DTOs, regex validations, Webhook schemas, and OAuth 2.0 security flows.
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
+ /**
15
+ * Check if a given object implements the UploadCertificate201Response interface.
16
+ */
17
+ export function instanceOfUploadCertificate201Response(value) {
18
+ return true;
19
+ }
20
+ export function UploadCertificate201ResponseFromJSON(json) {
21
+ return UploadCertificate201ResponseFromJSONTyped(json, false);
22
+ }
23
+ export function UploadCertificate201ResponseFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'message': json['message'] == null ? undefined : json['message'],
29
+ 'representative': json['representative'] == null ? undefined : json['representative'],
30
+ 'expirationDate': json['expirationDate'] == null ? undefined : (new Date(json['expirationDate'])),
31
+ };
32
+ }
33
+ export function UploadCertificate201ResponseToJSON(json) {
34
+ return UploadCertificate201ResponseToJSONTyped(json, false);
35
+ }
36
+ export function UploadCertificate201ResponseToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'message': value['message'],
42
+ 'representative': value['representative'],
43
+ 'expirationDate': value['expirationDate'] == null ? value['expirationDate'] : value['expirationDate'].toISOString(),
44
+ };
45
+ }
@@ -0,0 +1,44 @@
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
+ /**
13
+ * Response after successfully uploading a digital certificate.
14
+ * @export
15
+ * @interface UploadCertificateResponse
16
+ */
17
+ export interface UploadCertificateResponse {
18
+ /**
19
+ * Confirmation message.
20
+ * @type {string}
21
+ * @memberof UploadCertificateResponse
22
+ */
23
+ message?: string;
24
+ /**
25
+ * Name of the certificate holder as registered with the DGII.
26
+ * @type {string}
27
+ * @memberof UploadCertificateResponse
28
+ */
29
+ representative?: string;
30
+ /**
31
+ * Certificate expiration date. Monitor this to avoid disruptions.
32
+ * @type {Date}
33
+ * @memberof UploadCertificateResponse
34
+ */
35
+ expirationDate?: Date;
36
+ }
37
+ /**
38
+ * Check if a given object implements the UploadCertificateResponse interface.
39
+ */
40
+ export declare function instanceOfUploadCertificateResponse(value: object): value is UploadCertificateResponse;
41
+ export declare function UploadCertificateResponseFromJSON(json: any): UploadCertificateResponse;
42
+ export declare function UploadCertificateResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): UploadCertificateResponse;
43
+ export declare function UploadCertificateResponseToJSON(json: any): UploadCertificateResponse;
44
+ export declare function UploadCertificateResponseToJSONTyped(value?: UploadCertificateResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,45 @@
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
+ /**
15
+ * Check if a given object implements the UploadCertificateResponse interface.
16
+ */
17
+ export function instanceOfUploadCertificateResponse(value) {
18
+ return true;
19
+ }
20
+ export function UploadCertificateResponseFromJSON(json) {
21
+ return UploadCertificateResponseFromJSONTyped(json, false);
22
+ }
23
+ export function UploadCertificateResponseFromJSONTyped(json, ignoreDiscriminator) {
24
+ if (json == null) {
25
+ return json;
26
+ }
27
+ return {
28
+ 'message': json['message'] == null ? undefined : json['message'],
29
+ 'representative': json['representative'] == null ? undefined : json['representative'],
30
+ 'expirationDate': json['expirationDate'] == null ? undefined : (new Date(json['expirationDate'])),
31
+ };
32
+ }
33
+ export function UploadCertificateResponseToJSON(json) {
34
+ return UploadCertificateResponseToJSONTyped(json, false);
35
+ }
36
+ export function UploadCertificateResponseToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'message': value['message'],
42
+ 'representative': value['representative'],
43
+ 'expirationDate': value['expirationDate'] == null ? value['expirationDate'] : value['expirationDate'].toISOString(),
44
+ };
45
+ }
@@ -0,0 +1,63 @@
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 type { WebhookEventType } from './WebhookEventType';
13
+ /**
14
+ * A registered webhook configuration.
15
+ * @export
16
+ * @interface WebhookConfigResponse
17
+ */
18
+ export interface WebhookConfigResponse {
19
+ /**
20
+ * Unique webhook identifier.
21
+ * @type {string}
22
+ * @memberof WebhookConfigResponse
23
+ */
24
+ id?: string;
25
+ /**
26
+ * The URL that receives webhook notifications.
27
+ * @type {string}
28
+ * @memberof WebhookConfigResponse
29
+ */
30
+ url?: string;
31
+ /**
32
+ * Events this webhook is subscribed to.
33
+ * @type {Array<WebhookEventType>}
34
+ * @memberof WebhookConfigResponse
35
+ */
36
+ eventTypes?: Array<WebhookEventType>;
37
+ /**
38
+ * Whether this webhook is currently active.
39
+ * @type {boolean}
40
+ * @memberof WebhookConfigResponse
41
+ */
42
+ isActive?: boolean;
43
+ /**
44
+ *
45
+ * @type {Date}
46
+ * @memberof WebhookConfigResponse
47
+ */
48
+ createdAt?: Date;
49
+ /**
50
+ * When this webhook was last triggered. Null if never triggered.
51
+ * @type {Date}
52
+ * @memberof WebhookConfigResponse
53
+ */
54
+ lastTriggeredAt?: Date | null;
55
+ }
56
+ /**
57
+ * Check if a given object implements the WebhookConfigResponse interface.
58
+ */
59
+ export declare function instanceOfWebhookConfigResponse(value: object): value is WebhookConfigResponse;
60
+ export declare function WebhookConfigResponseFromJSON(json: any): WebhookConfigResponse;
61
+ export declare function WebhookConfigResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): WebhookConfigResponse;
62
+ export declare function WebhookConfigResponseToJSON(json: any): WebhookConfigResponse;
63
+ export declare function WebhookConfigResponseToJSONTyped(value?: WebhookConfigResponse | null, ignoreDiscriminator?: boolean): any;