@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,86 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * eCF-Pronesoft Integration API
6
+ * ## 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) |
7
+ *
8
+ * The version of the OpenAPI document: 0.0.1
9
+ * Contact: contacto@pronesoft.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.DiscountOrSurchargeValueTypeEnum = exports.DiscountOrSurchargeTypeEnum = void 0;
17
+ exports.instanceOfDiscountOrSurcharge = instanceOfDiscountOrSurcharge;
18
+ exports.DiscountOrSurchargeFromJSON = DiscountOrSurchargeFromJSON;
19
+ exports.DiscountOrSurchargeFromJSONTyped = DiscountOrSurchargeFromJSONTyped;
20
+ exports.DiscountOrSurchargeToJSON = DiscountOrSurchargeToJSON;
21
+ exports.DiscountOrSurchargeToJSONTyped = DiscountOrSurchargeToJSONTyped;
22
+ const BillingIndicator_1 = require("./BillingIndicator");
23
+ /**
24
+ * @export
25
+ */
26
+ exports.DiscountOrSurchargeTypeEnum = {
27
+ D: 'D',
28
+ R: 'R'
29
+ };
30
+ /**
31
+ * @export
32
+ */
33
+ exports.DiscountOrSurchargeValueTypeEnum = {
34
+ Dollar: '$',
35
+ Percent: '%'
36
+ };
37
+ /**
38
+ * Check if a given object implements the DiscountOrSurcharge interface.
39
+ */
40
+ function instanceOfDiscountOrSurcharge(value) {
41
+ if (!('lineNumber' in value) || value['lineNumber'] === undefined)
42
+ return false;
43
+ if (!('type' in value) || value['type'] === undefined)
44
+ return false;
45
+ if (!('valueType' in value) || value['valueType'] === undefined)
46
+ return false;
47
+ if (!('amount' in value) || value['amount'] === undefined)
48
+ return false;
49
+ return true;
50
+ }
51
+ function DiscountOrSurchargeFromJSON(json) {
52
+ return DiscountOrSurchargeFromJSONTyped(json, false);
53
+ }
54
+ function DiscountOrSurchargeFromJSONTyped(json, ignoreDiscriminator) {
55
+ if (json == null) {
56
+ return json;
57
+ }
58
+ return {
59
+ 'lineNumber': json['lineNumber'],
60
+ 'type': json['type'],
61
+ 'valueType': json['valueType'],
62
+ 'amount': json['amount'],
63
+ 'description': json['description'] == null ? undefined : json['description'],
64
+ 'percentageValue': json['percentageValue'] == null ? undefined : json['percentageValue'],
65
+ 'alternativeCurrencyAmount': json['alternativeCurrencyAmount'] == null ? undefined : json['alternativeCurrencyAmount'],
66
+ 'billingIndicator': json['billingIndicator'] == null ? undefined : (0, BillingIndicator_1.BillingIndicatorFromJSON)(json['billingIndicator']),
67
+ };
68
+ }
69
+ function DiscountOrSurchargeToJSON(json) {
70
+ return DiscountOrSurchargeToJSONTyped(json, false);
71
+ }
72
+ function DiscountOrSurchargeToJSONTyped(value, ignoreDiscriminator = false) {
73
+ if (value == null) {
74
+ return value;
75
+ }
76
+ return {
77
+ 'lineNumber': value['lineNumber'],
78
+ 'type': value['type'],
79
+ 'valueType': value['valueType'],
80
+ 'amount': value['amount'],
81
+ 'description': value['description'],
82
+ 'percentageValue': value['percentageValue'],
83
+ 'alternativeCurrencyAmount': value['alternativeCurrencyAmount'],
84
+ 'billingIndicator': (0, BillingIndicator_1.BillingIndicatorToJSON)(value['billingIndicator']),
85
+ };
86
+ }
@@ -0,0 +1,56 @@
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 returned after successfully submitting an e-CF document.
14
+ * @export
15
+ * @interface EcfSubmissionResponse
16
+ */
17
+ export interface EcfSubmissionResponse {
18
+ /**
19
+ * Whether the document was accepted by the platform.
20
+ * @type {boolean}
21
+ * @memberof EcfSubmissionResponse
22
+ */
23
+ success: boolean;
24
+ /**
25
+ * Pronesoft internal document identifier.
26
+ * @type {string}
27
+ * @memberof EcfSubmissionResponse
28
+ */
29
+ documentId: string;
30
+ /**
31
+ * The e-NCF number assigned to the document.
32
+ * @type {string}
33
+ * @memberof EcfSubmissionResponse
34
+ */
35
+ encf?: string;
36
+ /**
37
+ * DGII tracking ID for status polling.
38
+ * @type {string}
39
+ * @memberof EcfSubmissionResponse
40
+ */
41
+ trackId?: string;
42
+ /**
43
+ * Human-readable status message.
44
+ * @type {string}
45
+ * @memberof EcfSubmissionResponse
46
+ */
47
+ message?: string;
48
+ }
49
+ /**
50
+ * Check if a given object implements the EcfSubmissionResponse interface.
51
+ */
52
+ export declare function instanceOfEcfSubmissionResponse(value: object): value is EcfSubmissionResponse;
53
+ export declare function EcfSubmissionResponseFromJSON(json: any): EcfSubmissionResponse;
54
+ export declare function EcfSubmissionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): EcfSubmissionResponse;
55
+ export declare function EcfSubmissionResponseToJSON(json: any): EcfSubmissionResponse;
56
+ export declare function EcfSubmissionResponseToJSONTyped(value?: EcfSubmissionResponse | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * eCF-Pronesoft Integration API
6
+ * ## 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) |
7
+ *
8
+ * The version of the OpenAPI document: 0.0.1
9
+ * Contact: contacto@pronesoft.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.instanceOfEcfSubmissionResponse = instanceOfEcfSubmissionResponse;
17
+ exports.EcfSubmissionResponseFromJSON = EcfSubmissionResponseFromJSON;
18
+ exports.EcfSubmissionResponseFromJSONTyped = EcfSubmissionResponseFromJSONTyped;
19
+ exports.EcfSubmissionResponseToJSON = EcfSubmissionResponseToJSON;
20
+ exports.EcfSubmissionResponseToJSONTyped = EcfSubmissionResponseToJSONTyped;
21
+ /**
22
+ * Check if a given object implements the EcfSubmissionResponse interface.
23
+ */
24
+ function instanceOfEcfSubmissionResponse(value) {
25
+ if (!('success' in value) || value['success'] === undefined)
26
+ return false;
27
+ if (!('documentId' in value) || value['documentId'] === undefined)
28
+ return false;
29
+ return true;
30
+ }
31
+ function EcfSubmissionResponseFromJSON(json) {
32
+ return EcfSubmissionResponseFromJSONTyped(json, false);
33
+ }
34
+ function EcfSubmissionResponseFromJSONTyped(json, ignoreDiscriminator) {
35
+ if (json == null) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'success': json['success'],
40
+ 'documentId': json['documentId'],
41
+ 'encf': json['encf'] == null ? undefined : json['encf'],
42
+ 'trackId': json['trackId'] == null ? undefined : json['trackId'],
43
+ 'message': json['message'] == null ? undefined : json['message'],
44
+ };
45
+ }
46
+ function EcfSubmissionResponseToJSON(json) {
47
+ return EcfSubmissionResponseToJSONTyped(json, false);
48
+ }
49
+ function EcfSubmissionResponseToJSONTyped(value, ignoreDiscriminator = false) {
50
+ if (value == null) {
51
+ return value;
52
+ }
53
+ return {
54
+ 'success': value['success'],
55
+ 'documentId': value['documentId'],
56
+ 'encf': value['encf'],
57
+ 'trackId': value['trackId'],
58
+ 'message': value['message'],
59
+ };
60
+ }
@@ -0,0 +1,252 @@
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 { AdditionalInfo } from './AdditionalInfo';
13
+ import type { Item } from './Item';
14
+ import type { Totals } from './Totals';
15
+ import type { Subtotal } from './Subtotal';
16
+ import type { AlternativeCurrency } from './AlternativeCurrency';
17
+ import type { DiscountOrSurcharge } from './DiscountOrSurcharge';
18
+ import type { Buyer } from './Buyer';
19
+ import type { Page } from './Page';
20
+ import type { Transport } from './Transport';
21
+ import type { AccountType } from './AccountType';
22
+ import type { InvoiceType } from './InvoiceType';
23
+ import type { ReferenceInfo } from './ReferenceInfo';
24
+ /**
25
+ * The main e-CF document payload. Build this object and submit it to
26
+ * `POST /{environment}/ecf/submit`.
27
+ *
28
+ * **Required fields:** `version`, `invoiceType`, `invoiceNumber`,
29
+ * `issueDate`, `items`, `totals`.
30
+ *
31
+ * Use `GET /tax-sequences/next` to obtain the correct `invoiceNumber`.
32
+ *
33
+ * @export
34
+ * @interface ElectronicDocument
35
+ */
36
+ export interface ElectronicDocument {
37
+ /**
38
+ * Document schema version. Always "1.0".
39
+ * @type {string}
40
+ * @memberof ElectronicDocument
41
+ */
42
+ version: string;
43
+ /**
44
+ *
45
+ * @type {InvoiceType}
46
+ * @memberof ElectronicDocument
47
+ */
48
+ invoiceType: InvoiceType;
49
+ /**
50
+ * e-NCF number (13 alphanumeric characters).
51
+ * Obtain from `GET /tax-sequences/next`.
52
+ *
53
+ * @type {string}
54
+ * @memberof ElectronicDocument
55
+ */
56
+ invoiceNumber: string;
57
+ /**
58
+ * Document issue date and time (ISO 8601).
59
+ * @type {Date}
60
+ * @memberof ElectronicDocument
61
+ */
62
+ issueDate: Date;
63
+ /**
64
+ * Document expiration date (optional, for credit documents).
65
+ * @type {Date}
66
+ * @memberof ElectronicDocument
67
+ */
68
+ expirationDate?: Date;
69
+ /**
70
+ * Income type code:
71
+ * - `01`: Operations Income
72
+ * - `02`: Financial Income
73
+ * - `03`: Extraordinary Income
74
+ * - `04`: Leasing Income
75
+ * - `05`: Income from Sales of Assets
76
+ * - `06`: Other Income
77
+ *
78
+ * @type {ElectronicDocumentIncomeTypeEnum}
79
+ * @memberof ElectronicDocument
80
+ */
81
+ incomeType?: ElectronicDocumentIncomeTypeEnum;
82
+ /**
83
+ * Payment condition:
84
+ * - `1`: Cash (Al Contado)
85
+ * - `2`: Credit (Crédito)
86
+ * - `3`: Mixed (Mixto)
87
+ *
88
+ * @type {ElectronicDocumentPaymentTypeEnum}
89
+ * @memberof ElectronicDocument
90
+ */
91
+ paymentType?: ElectronicDocumentPaymentTypeEnum;
92
+ /**
93
+ * Payment due date (required when paymentType is "2" or "3").
94
+ * @type {Date}
95
+ * @memberof ElectronicDocument
96
+ */
97
+ paymentDeadline?: Date;
98
+ /**
99
+ * Payment terms description (e.g. "Net 30").
100
+ * @type {string}
101
+ * @memberof ElectronicDocument
102
+ */
103
+ paymentTerms?: string;
104
+ /**
105
+ *
106
+ * @type {AccountType}
107
+ * @memberof ElectronicDocument
108
+ */
109
+ paymentAccountType?: AccountType;
110
+ /**
111
+ * Bank account number for payment reference.
112
+ * @type {string}
113
+ * @memberof ElectronicDocument
114
+ */
115
+ paymentAccountNumber?: string;
116
+ /**
117
+ * Bank name for payment reference.
118
+ * @type {string}
119
+ * @memberof ElectronicDocument
120
+ */
121
+ paymentBank?: string;
122
+ /**
123
+ * For Credit Notes (type 34) only:
124
+ * - `0`: Affected invoice issued ≤ 30 days ago
125
+ * - `1`: Affected invoice issued > 30 days ago
126
+ *
127
+ * @type {ElectronicDocumentCreditNoteIndicatorEnum}
128
+ * @memberof ElectronicDocument
129
+ */
130
+ creditNoteIndicator?: ElectronicDocumentCreditNoteIndicatorEnum;
131
+ /**
132
+ * RNC of the issuing company (overrides tenant default if provided).
133
+ * @type {string}
134
+ * @memberof ElectronicDocument
135
+ */
136
+ issuerRNC?: string;
137
+ /**
138
+ * Legal business name of the issuer.
139
+ * @type {string}
140
+ * @memberof ElectronicDocument
141
+ */
142
+ issuerBusinessName?: string;
143
+ /**
144
+ * Contact email of the issuer.
145
+ * @type {string}
146
+ * @memberof ElectronicDocument
147
+ */
148
+ issuerEmail?: string;
149
+ /**
150
+ * Issuer phone numbers in format "809-555-1234".
151
+ * @type {Array<string>}
152
+ * @memberof ElectronicDocument
153
+ */
154
+ issuerPhones?: Array<string>;
155
+ /**
156
+ *
157
+ * @type {Buyer}
158
+ * @memberof ElectronicDocument
159
+ */
160
+ buyer?: Buyer;
161
+ /**
162
+ * Line items of the document. At least 1 required.
163
+ * @type {Array<Item>}
164
+ * @memberof ElectronicDocument
165
+ */
166
+ items: Array<Item>;
167
+ /**
168
+ *
169
+ * @type {Totals}
170
+ * @memberof ElectronicDocument
171
+ */
172
+ totals: Totals;
173
+ /**
174
+ *
175
+ * @type {Transport}
176
+ * @memberof ElectronicDocument
177
+ */
178
+ transport?: Transport;
179
+ /**
180
+ *
181
+ * @type {AdditionalInfo}
182
+ * @memberof ElectronicDocument
183
+ */
184
+ additionalInfo?: AdditionalInfo;
185
+ /**
186
+ *
187
+ * @type {AlternativeCurrency}
188
+ * @memberof ElectronicDocument
189
+ */
190
+ alternativeCurrency?: AlternativeCurrency;
191
+ /**
192
+ *
193
+ * @type {ReferenceInfo}
194
+ * @memberof ElectronicDocument
195
+ */
196
+ referenceInfo?: ReferenceInfo;
197
+ /**
198
+ * Page/section subtotals (for multi-page documents).
199
+ * @type {Array<Subtotal>}
200
+ * @memberof ElectronicDocument
201
+ */
202
+ subtotals?: Array<Subtotal>;
203
+ /**
204
+ * Document-level discounts or surcharges.
205
+ * @type {Array<DiscountOrSurcharge>}
206
+ * @memberof ElectronicDocument
207
+ */
208
+ discountsOrSurcharges?: Array<DiscountOrSurcharge>;
209
+ /**
210
+ * Page breakdown for multi-page documents.
211
+ * @type {Array<Page>}
212
+ * @memberof ElectronicDocument
213
+ */
214
+ pages?: Array<Page>;
215
+ }
216
+ /**
217
+ * @export
218
+ */
219
+ export declare const ElectronicDocumentIncomeTypeEnum: {
220
+ readonly _01: "01";
221
+ readonly _02: "02";
222
+ readonly _03: "03";
223
+ readonly _04: "04";
224
+ readonly _05: "05";
225
+ readonly _06: "06";
226
+ };
227
+ export type ElectronicDocumentIncomeTypeEnum = typeof ElectronicDocumentIncomeTypeEnum[keyof typeof ElectronicDocumentIncomeTypeEnum];
228
+ /**
229
+ * @export
230
+ */
231
+ export declare const ElectronicDocumentPaymentTypeEnum: {
232
+ readonly _1: "1";
233
+ readonly _2: "2";
234
+ readonly _3: "3";
235
+ };
236
+ export type ElectronicDocumentPaymentTypeEnum = typeof ElectronicDocumentPaymentTypeEnum[keyof typeof ElectronicDocumentPaymentTypeEnum];
237
+ /**
238
+ * @export
239
+ */
240
+ export declare const ElectronicDocumentCreditNoteIndicatorEnum: {
241
+ readonly _0: "0";
242
+ readonly _1: "1";
243
+ };
244
+ export type ElectronicDocumentCreditNoteIndicatorEnum = typeof ElectronicDocumentCreditNoteIndicatorEnum[keyof typeof ElectronicDocumentCreditNoteIndicatorEnum];
245
+ /**
246
+ * Check if a given object implements the ElectronicDocument interface.
247
+ */
248
+ export declare function instanceOfElectronicDocument(value: object): value is ElectronicDocument;
249
+ export declare function ElectronicDocumentFromJSON(json: any): ElectronicDocument;
250
+ export declare function ElectronicDocumentFromJSONTyped(json: any, ignoreDiscriminator: boolean): ElectronicDocument;
251
+ export declare function ElectronicDocumentToJSON(json: any): ElectronicDocument;
252
+ export declare function ElectronicDocumentToJSONTyped(value?: ElectronicDocument | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * eCF-Pronesoft Integration API
6
+ * ## 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) |
7
+ *
8
+ * The version of the OpenAPI document: 0.0.1
9
+ * Contact: contacto@pronesoft.com
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ElectronicDocumentCreditNoteIndicatorEnum = exports.ElectronicDocumentPaymentTypeEnum = exports.ElectronicDocumentIncomeTypeEnum = void 0;
17
+ exports.instanceOfElectronicDocument = instanceOfElectronicDocument;
18
+ exports.ElectronicDocumentFromJSON = ElectronicDocumentFromJSON;
19
+ exports.ElectronicDocumentFromJSONTyped = ElectronicDocumentFromJSONTyped;
20
+ exports.ElectronicDocumentToJSON = ElectronicDocumentToJSON;
21
+ exports.ElectronicDocumentToJSONTyped = ElectronicDocumentToJSONTyped;
22
+ const AdditionalInfo_1 = require("./AdditionalInfo");
23
+ const Item_1 = require("./Item");
24
+ const Totals_1 = require("./Totals");
25
+ const Subtotal_1 = require("./Subtotal");
26
+ const AlternativeCurrency_1 = require("./AlternativeCurrency");
27
+ const DiscountOrSurcharge_1 = require("./DiscountOrSurcharge");
28
+ const Buyer_1 = require("./Buyer");
29
+ const Page_1 = require("./Page");
30
+ const Transport_1 = require("./Transport");
31
+ const AccountType_1 = require("./AccountType");
32
+ const InvoiceType_1 = require("./InvoiceType");
33
+ const ReferenceInfo_1 = require("./ReferenceInfo");
34
+ /**
35
+ * @export
36
+ */
37
+ exports.ElectronicDocumentIncomeTypeEnum = {
38
+ _01: '01',
39
+ _02: '02',
40
+ _03: '03',
41
+ _04: '04',
42
+ _05: '05',
43
+ _06: '06'
44
+ };
45
+ /**
46
+ * @export
47
+ */
48
+ exports.ElectronicDocumentPaymentTypeEnum = {
49
+ _1: '1',
50
+ _2: '2',
51
+ _3: '3'
52
+ };
53
+ /**
54
+ * @export
55
+ */
56
+ exports.ElectronicDocumentCreditNoteIndicatorEnum = {
57
+ _0: '0',
58
+ _1: '1'
59
+ };
60
+ /**
61
+ * Check if a given object implements the ElectronicDocument interface.
62
+ */
63
+ function instanceOfElectronicDocument(value) {
64
+ if (!('version' in value) || value['version'] === undefined)
65
+ return false;
66
+ if (!('invoiceType' in value) || value['invoiceType'] === undefined)
67
+ return false;
68
+ if (!('invoiceNumber' in value) || value['invoiceNumber'] === undefined)
69
+ return false;
70
+ if (!('issueDate' in value) || value['issueDate'] === undefined)
71
+ return false;
72
+ if (!('items' in value) || value['items'] === undefined)
73
+ return false;
74
+ if (!('totals' in value) || value['totals'] === undefined)
75
+ return false;
76
+ return true;
77
+ }
78
+ function ElectronicDocumentFromJSON(json) {
79
+ return ElectronicDocumentFromJSONTyped(json, false);
80
+ }
81
+ function ElectronicDocumentFromJSONTyped(json, ignoreDiscriminator) {
82
+ if (json == null) {
83
+ return json;
84
+ }
85
+ return {
86
+ 'version': json['version'],
87
+ 'invoiceType': (0, InvoiceType_1.InvoiceTypeFromJSON)(json['invoiceType']),
88
+ 'invoiceNumber': json['invoiceNumber'],
89
+ 'issueDate': (new Date(json['issueDate'])),
90
+ 'expirationDate': json['expirationDate'] == null ? undefined : (new Date(json['expirationDate'])),
91
+ 'incomeType': json['incomeType'] == null ? undefined : json['incomeType'],
92
+ 'paymentType': json['paymentType'] == null ? undefined : json['paymentType'],
93
+ 'paymentDeadline': json['paymentDeadline'] == null ? undefined : (new Date(json['paymentDeadline'])),
94
+ 'paymentTerms': json['paymentTerms'] == null ? undefined : json['paymentTerms'],
95
+ 'paymentAccountType': json['paymentAccountType'] == null ? undefined : (0, AccountType_1.AccountTypeFromJSON)(json['paymentAccountType']),
96
+ 'paymentAccountNumber': json['paymentAccountNumber'] == null ? undefined : json['paymentAccountNumber'],
97
+ 'paymentBank': json['paymentBank'] == null ? undefined : json['paymentBank'],
98
+ 'creditNoteIndicator': json['creditNoteIndicator'] == null ? undefined : json['creditNoteIndicator'],
99
+ 'issuerRNC': json['issuerRNC'] == null ? undefined : json['issuerRNC'],
100
+ 'issuerBusinessName': json['issuerBusinessName'] == null ? undefined : json['issuerBusinessName'],
101
+ 'issuerEmail': json['issuerEmail'] == null ? undefined : json['issuerEmail'],
102
+ 'issuerPhones': json['issuerPhones'] == null ? undefined : json['issuerPhones'],
103
+ 'buyer': json['buyer'] == null ? undefined : (0, Buyer_1.BuyerFromJSON)(json['buyer']),
104
+ 'items': (json['items'].map(Item_1.ItemFromJSON)),
105
+ 'totals': (0, Totals_1.TotalsFromJSON)(json['totals']),
106
+ 'transport': json['transport'] == null ? undefined : (0, Transport_1.TransportFromJSON)(json['transport']),
107
+ 'additionalInfo': json['additionalInfo'] == null ? undefined : (0, AdditionalInfo_1.AdditionalInfoFromJSON)(json['additionalInfo']),
108
+ 'alternativeCurrency': json['alternativeCurrency'] == null ? undefined : (0, AlternativeCurrency_1.AlternativeCurrencyFromJSON)(json['alternativeCurrency']),
109
+ 'referenceInfo': json['referenceInfo'] == null ? undefined : (0, ReferenceInfo_1.ReferenceInfoFromJSON)(json['referenceInfo']),
110
+ 'subtotals': json['subtotals'] == null ? undefined : (json['subtotals'].map(Subtotal_1.SubtotalFromJSON)),
111
+ 'discountsOrSurcharges': json['discountsOrSurcharges'] == null ? undefined : (json['discountsOrSurcharges'].map(DiscountOrSurcharge_1.DiscountOrSurchargeFromJSON)),
112
+ 'pages': json['pages'] == null ? undefined : (json['pages'].map(Page_1.PageFromJSON)),
113
+ };
114
+ }
115
+ function ElectronicDocumentToJSON(json) {
116
+ return ElectronicDocumentToJSONTyped(json, false);
117
+ }
118
+ function ElectronicDocumentToJSONTyped(value, ignoreDiscriminator = false) {
119
+ if (value == null) {
120
+ return value;
121
+ }
122
+ return {
123
+ 'version': value['version'],
124
+ 'invoiceType': (0, InvoiceType_1.InvoiceTypeToJSON)(value['invoiceType']),
125
+ 'invoiceNumber': value['invoiceNumber'],
126
+ 'issueDate': value['issueDate'].toISOString(),
127
+ 'expirationDate': value['expirationDate'] == null ? value['expirationDate'] : value['expirationDate'].toISOString(),
128
+ 'incomeType': value['incomeType'],
129
+ 'paymentType': value['paymentType'],
130
+ 'paymentDeadline': value['paymentDeadline'] == null ? value['paymentDeadline'] : value['paymentDeadline'].toISOString(),
131
+ 'paymentTerms': value['paymentTerms'],
132
+ 'paymentAccountType': (0, AccountType_1.AccountTypeToJSON)(value['paymentAccountType']),
133
+ 'paymentAccountNumber': value['paymentAccountNumber'],
134
+ 'paymentBank': value['paymentBank'],
135
+ 'creditNoteIndicator': value['creditNoteIndicator'],
136
+ 'issuerRNC': value['issuerRNC'],
137
+ 'issuerBusinessName': value['issuerBusinessName'],
138
+ 'issuerEmail': value['issuerEmail'],
139
+ 'issuerPhones': value['issuerPhones'],
140
+ 'buyer': (0, Buyer_1.BuyerToJSON)(value['buyer']),
141
+ 'items': (value['items'].map(Item_1.ItemToJSON)),
142
+ 'totals': (0, Totals_1.TotalsToJSON)(value['totals']),
143
+ 'transport': (0, Transport_1.TransportToJSON)(value['transport']),
144
+ 'additionalInfo': (0, AdditionalInfo_1.AdditionalInfoToJSON)(value['additionalInfo']),
145
+ 'alternativeCurrency': (0, AlternativeCurrency_1.AlternativeCurrencyToJSON)(value['alternativeCurrency']),
146
+ 'referenceInfo': (0, ReferenceInfo_1.ReferenceInfoToJSON)(value['referenceInfo']),
147
+ 'subtotals': value['subtotals'] == null ? undefined : (value['subtotals'].map(Subtotal_1.SubtotalToJSON)),
148
+ 'discountsOrSurcharges': value['discountsOrSurcharges'] == null ? undefined : (value['discountsOrSurcharges'].map(DiscountOrSurcharge_1.DiscountOrSurchargeToJSON)),
149
+ 'pages': value['pages'] == null ? undefined : (value['pages'].map(Page_1.PageToJSON)),
150
+ };
151
+ }
@@ -0,0 +1,30 @@
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
+ * Target environment for e-CF submission.
14
+ * - `TesteCF`: Functional tests, no real DGII interaction.
15
+ * - `CerteCF`: DGII certification environment.
16
+ * - `eCF`: Production — issues real legal documents.
17
+ *
18
+ * @export
19
+ */
20
+ export declare const Environment: {
21
+ readonly TesteCf: "TesteCF";
22
+ readonly CerteCf: "CerteCF";
23
+ readonly ECf: "eCF";
24
+ };
25
+ export type Environment = typeof Environment[keyof typeof Environment];
26
+ export declare function instanceOfEnvironment(value: any): boolean;
27
+ export declare function EnvironmentFromJSON(json: any): Environment;
28
+ export declare function EnvironmentFromJSONTyped(json: any, ignoreDiscriminator: boolean): Environment;
29
+ export declare function EnvironmentToJSON(value?: Environment | null): any;
30
+ export declare function EnvironmentToJSONTyped(value: any, ignoreDiscriminator: boolean): Environment;