@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,196 @@
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
+ import { mapValues } from '../runtime';
16
+ import type { AssociatedCompanySubscription } from './AssociatedCompanySubscription';
17
+ import {
18
+ AssociatedCompanySubscriptionFromJSON,
19
+ AssociatedCompanySubscriptionFromJSONTyped,
20
+ AssociatedCompanySubscriptionToJSON,
21
+ AssociatedCompanySubscriptionToJSONTyped,
22
+ } from './AssociatedCompanySubscription';
23
+
24
+ /**
25
+ * A company or branch associated with the main tenant account.
26
+ * @export
27
+ * @interface AssociatedCompany
28
+ */
29
+ export interface AssociatedCompany {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof AssociatedCompany
34
+ */
35
+ id?: string;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof AssociatedCompany
40
+ */
41
+ name?: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof AssociatedCompany
46
+ */
47
+ rnc?: string;
48
+ /**
49
+ *
50
+ * @type {string}
51
+ * @memberof AssociatedCompany
52
+ */
53
+ phone?: string;
54
+ /**
55
+ *
56
+ * @type {string}
57
+ * @memberof AssociatedCompany
58
+ */
59
+ address?: string;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof AssociatedCompany
64
+ */
65
+ city?: string;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof AssociatedCompany
70
+ */
71
+ country?: string;
72
+ /**
73
+ *
74
+ * @type {string}
75
+ * @memberof AssociatedCompany
76
+ */
77
+ website?: string | null;
78
+ /**
79
+ *
80
+ * @type {string}
81
+ * @memberof AssociatedCompany
82
+ */
83
+ logoPath?: string | null;
84
+ /**
85
+ * Whether this is the main account or an associated branch.
86
+ * @type {AssociatedCompanyTypeEnum}
87
+ * @memberof AssociatedCompany
88
+ */
89
+ type?: AssociatedCompanyTypeEnum;
90
+ /**
91
+ *
92
+ * @type {Date}
93
+ * @memberof AssociatedCompany
94
+ */
95
+ createdAt?: Date;
96
+ /**
97
+ * Number of e-CF documents issued in the current month.
98
+ * @type {number}
99
+ * @memberof AssociatedCompany
100
+ */
101
+ docsIssuedThisMonth?: number;
102
+ /**
103
+ * Purchased document quota consumed this month.
104
+ * @type {number}
105
+ * @memberof AssociatedCompany
106
+ */
107
+ purchasedDocsConsumedThisMonth?: number;
108
+ /**
109
+ *
110
+ * @type {string}
111
+ * @memberof AssociatedCompany
112
+ */
113
+ ownerEmail?: string;
114
+ /**
115
+ *
116
+ * @type {AssociatedCompanySubscription}
117
+ * @memberof AssociatedCompany
118
+ */
119
+ subscription?: AssociatedCompanySubscription;
120
+ }
121
+
122
+
123
+ /**
124
+ * @export
125
+ */
126
+ export const AssociatedCompanyTypeEnum = {
127
+ Main: 'MAIN',
128
+ Associated: 'ASSOCIATED'
129
+ } as const;
130
+ export type AssociatedCompanyTypeEnum = typeof AssociatedCompanyTypeEnum[keyof typeof AssociatedCompanyTypeEnum];
131
+
132
+
133
+ /**
134
+ * Check if a given object implements the AssociatedCompany interface.
135
+ */
136
+ export function instanceOfAssociatedCompany(value: object): value is AssociatedCompany {
137
+ return true;
138
+ }
139
+
140
+ export function AssociatedCompanyFromJSON(json: any): AssociatedCompany {
141
+ return AssociatedCompanyFromJSONTyped(json, false);
142
+ }
143
+
144
+ export function AssociatedCompanyFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssociatedCompany {
145
+ if (json == null) {
146
+ return json;
147
+ }
148
+ return {
149
+
150
+ 'id': json['id'] == null ? undefined : json['id'],
151
+ 'name': json['name'] == null ? undefined : json['name'],
152
+ 'rnc': json['rnc'] == null ? undefined : json['rnc'],
153
+ 'phone': json['phone'] == null ? undefined : json['phone'],
154
+ 'address': json['address'] == null ? undefined : json['address'],
155
+ 'city': json['city'] == null ? undefined : json['city'],
156
+ 'country': json['country'] == null ? undefined : json['country'],
157
+ 'website': json['website'] == null ? undefined : json['website'],
158
+ 'logoPath': json['logoPath'] == null ? undefined : json['logoPath'],
159
+ 'type': json['type'] == null ? undefined : json['type'],
160
+ 'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])),
161
+ 'docsIssuedThisMonth': json['docsIssuedThisMonth'] == null ? undefined : json['docsIssuedThisMonth'],
162
+ 'purchasedDocsConsumedThisMonth': json['purchasedDocsConsumedThisMonth'] == null ? undefined : json['purchasedDocsConsumedThisMonth'],
163
+ 'ownerEmail': json['ownerEmail'] == null ? undefined : json['ownerEmail'],
164
+ 'subscription': json['subscription'] == null ? undefined : AssociatedCompanySubscriptionFromJSON(json['subscription']),
165
+ };
166
+ }
167
+
168
+ export function AssociatedCompanyToJSON(json: any): AssociatedCompany {
169
+ return AssociatedCompanyToJSONTyped(json, false);
170
+ }
171
+
172
+ export function AssociatedCompanyToJSONTyped(value?: AssociatedCompany | null, ignoreDiscriminator: boolean = false): any {
173
+ if (value == null) {
174
+ return value;
175
+ }
176
+
177
+ return {
178
+
179
+ 'id': value['id'],
180
+ 'name': value['name'],
181
+ 'rnc': value['rnc'],
182
+ 'phone': value['phone'],
183
+ 'address': value['address'],
184
+ 'city': value['city'],
185
+ 'country': value['country'],
186
+ 'website': value['website'],
187
+ 'logoPath': value['logoPath'],
188
+ 'type': value['type'],
189
+ 'createdAt': value['createdAt'] == null ? value['createdAt'] : value['createdAt'].toISOString(),
190
+ 'docsIssuedThisMonth': value['docsIssuedThisMonth'],
191
+ 'purchasedDocsConsumedThisMonth': value['purchasedDocsConsumedThisMonth'],
192
+ 'ownerEmail': value['ownerEmail'],
193
+ 'subscription': AssociatedCompanySubscriptionToJSON(value['subscription']),
194
+ };
195
+ }
196
+
@@ -0,0 +1,89 @@
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
+ import { mapValues } from '../runtime';
16
+ import type { AssociatedCompanySubscriptionPlan } from './AssociatedCompanySubscriptionPlan';
17
+ import {
18
+ AssociatedCompanySubscriptionPlanFromJSON,
19
+ AssociatedCompanySubscriptionPlanFromJSONTyped,
20
+ AssociatedCompanySubscriptionPlanToJSON,
21
+ AssociatedCompanySubscriptionPlanToJSONTyped,
22
+ } from './AssociatedCompanySubscriptionPlan';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface AssociatedCompanySubscription
28
+ */
29
+ export interface AssociatedCompanySubscription {
30
+ /**
31
+ * Subscription status (e.g. "active", "expired").
32
+ * @type {string}
33
+ * @memberof AssociatedCompanySubscription
34
+ */
35
+ status?: string;
36
+ /**
37
+ *
38
+ * @type {Date}
39
+ * @memberof AssociatedCompanySubscription
40
+ */
41
+ expirationDate?: Date;
42
+ /**
43
+ *
44
+ * @type {AssociatedCompanySubscriptionPlan}
45
+ * @memberof AssociatedCompanySubscription
46
+ */
47
+ plan?: AssociatedCompanySubscriptionPlan;
48
+ }
49
+
50
+ /**
51
+ * Check if a given object implements the AssociatedCompanySubscription interface.
52
+ */
53
+ export function instanceOfAssociatedCompanySubscription(value: object): value is AssociatedCompanySubscription {
54
+ return true;
55
+ }
56
+
57
+ export function AssociatedCompanySubscriptionFromJSON(json: any): AssociatedCompanySubscription {
58
+ return AssociatedCompanySubscriptionFromJSONTyped(json, false);
59
+ }
60
+
61
+ export function AssociatedCompanySubscriptionFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssociatedCompanySubscription {
62
+ if (json == null) {
63
+ return json;
64
+ }
65
+ return {
66
+
67
+ 'status': json['status'] == null ? undefined : json['status'],
68
+ 'expirationDate': json['expirationDate'] == null ? undefined : (new Date(json['expirationDate'])),
69
+ 'plan': json['plan'] == null ? undefined : AssociatedCompanySubscriptionPlanFromJSON(json['plan']),
70
+ };
71
+ }
72
+
73
+ export function AssociatedCompanySubscriptionToJSON(json: any): AssociatedCompanySubscription {
74
+ return AssociatedCompanySubscriptionToJSONTyped(json, false);
75
+ }
76
+
77
+ export function AssociatedCompanySubscriptionToJSONTyped(value?: AssociatedCompanySubscription | null, ignoreDiscriminator: boolean = false): any {
78
+ if (value == null) {
79
+ return value;
80
+ }
81
+
82
+ return {
83
+
84
+ 'status': value['status'],
85
+ 'expirationDate': value['expirationDate'] == null ? value['expirationDate'] : value['expirationDate'].toISOString(),
86
+ 'plan': AssociatedCompanySubscriptionPlanToJSON(value['plan']),
87
+ };
88
+ }
89
+
@@ -0,0 +1,73 @@
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
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface AssociatedCompanySubscriptionPlan
20
+ */
21
+ export interface AssociatedCompanySubscriptionPlan {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof AssociatedCompanySubscriptionPlan
26
+ */
27
+ name?: string;
28
+ /**
29
+ * Maximum documents allowed per month on this plan.
30
+ * @type {number}
31
+ * @memberof AssociatedCompanySubscriptionPlan
32
+ */
33
+ maxDocsPerMonth?: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the AssociatedCompanySubscriptionPlan interface.
38
+ */
39
+ export function instanceOfAssociatedCompanySubscriptionPlan(value: object): value is AssociatedCompanySubscriptionPlan {
40
+ return true;
41
+ }
42
+
43
+ export function AssociatedCompanySubscriptionPlanFromJSON(json: any): AssociatedCompanySubscriptionPlan {
44
+ return AssociatedCompanySubscriptionPlanFromJSONTyped(json, false);
45
+ }
46
+
47
+ export function AssociatedCompanySubscriptionPlanFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssociatedCompanySubscriptionPlan {
48
+ if (json == null) {
49
+ return json;
50
+ }
51
+ return {
52
+
53
+ 'name': json['name'] == null ? undefined : json['name'],
54
+ 'maxDocsPerMonth': json['maxDocsPerMonth'] == null ? undefined : json['maxDocsPerMonth'],
55
+ };
56
+ }
57
+
58
+ export function AssociatedCompanySubscriptionPlanToJSON(json: any): AssociatedCompanySubscriptionPlan {
59
+ return AssociatedCompanySubscriptionPlanToJSONTyped(json, false);
60
+ }
61
+
62
+ export function AssociatedCompanySubscriptionPlanToJSONTyped(value?: AssociatedCompanySubscriptionPlan | null, ignoreDiscriminator: boolean = false): any {
63
+ if (value == null) {
64
+ return value;
65
+ }
66
+
67
+ return {
68
+
69
+ 'name': value['name'],
70
+ 'maxDocsPerMonth': value['maxDocsPerMonth'],
71
+ };
72
+ }
73
+
@@ -0,0 +1,62 @@
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
+
16
+ /**
17
+ * ITBIS tax billing indicator for a line item:
18
+ * - `0`: Non-billable (No facturable)
19
+ * - `1`: 18% ITBIS rate
20
+ * - `2`: 16% ITBIS rate
21
+ * - `3`: 0% ITBIS rate
22
+ * - `4`: Exempt (Exento)
23
+ *
24
+ * @export
25
+ */
26
+ export const BillingIndicator = {
27
+ _0: '0',
28
+ _1: '1',
29
+ _2: '2',
30
+ _3: '3',
31
+ _4: '4'
32
+ } as const;
33
+ export type BillingIndicator = typeof BillingIndicator[keyof typeof BillingIndicator];
34
+
35
+
36
+ export function instanceOfBillingIndicator(value: any): boolean {
37
+ for (const key in BillingIndicator) {
38
+ if (Object.prototype.hasOwnProperty.call(BillingIndicator, key)) {
39
+ if (BillingIndicator[key as keyof typeof BillingIndicator] === value) {
40
+ return true;
41
+ }
42
+ }
43
+ }
44
+ return false;
45
+ }
46
+
47
+ export function BillingIndicatorFromJSON(json: any): BillingIndicator {
48
+ return BillingIndicatorFromJSONTyped(json, false);
49
+ }
50
+
51
+ export function BillingIndicatorFromJSONTyped(json: any, ignoreDiscriminator: boolean): BillingIndicator {
52
+ return json as BillingIndicator;
53
+ }
54
+
55
+ export function BillingIndicatorToJSON(value?: BillingIndicator | null): any {
56
+ return value as any;
57
+ }
58
+
59
+ export function BillingIndicatorToJSONTyped(value: any, ignoreDiscriminator: boolean): BillingIndicator {
60
+ return value as BillingIndicator;
61
+ }
62
+
@@ -0,0 +1,114 @@
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
+ import { mapValues } from '../runtime';
16
+ /**
17
+ * Information about the buyer/recipient of the document.
18
+ * @export
19
+ * @interface Buyer
20
+ */
21
+ export interface Buyer {
22
+ /**
23
+ * Buyer's RNC (9 digits) or cedula (11 digits). Required for type 31.
24
+ * @type {string}
25
+ * @memberof Buyer
26
+ */
27
+ taxId?: string;
28
+ /**
29
+ * Buyer's full legal name or business name.
30
+ * @type {string}
31
+ * @memberof Buyer
32
+ */
33
+ name: string;
34
+ /**
35
+ * Buyer's email address (for digital delivery of the e-CF).
36
+ * @type {string}
37
+ * @memberof Buyer
38
+ */
39
+ email?: string;
40
+ /**
41
+ * Buyer's physical address.
42
+ * @type {string}
43
+ * @memberof Buyer
44
+ */
45
+ address?: string;
46
+ /**
47
+ * DGII municipality code of the buyer.
48
+ * @type {string}
49
+ * @memberof Buyer
50
+ */
51
+ municipalityCode?: string;
52
+ /**
53
+ * DGII province code of the buyer.
54
+ * @type {string}
55
+ * @memberof Buyer
56
+ */
57
+ provinceCode?: string;
58
+ /**
59
+ * Delivery address (if different from billing address).
60
+ * @type {string}
61
+ * @memberof Buyer
62
+ */
63
+ deliveryAddress?: string;
64
+ }
65
+
66
+ /**
67
+ * Check if a given object implements the Buyer interface.
68
+ */
69
+ export function instanceOfBuyer(value: object): value is Buyer {
70
+ if (!('name' in value) || value['name'] === undefined) return false;
71
+ return true;
72
+ }
73
+
74
+ export function BuyerFromJSON(json: any): Buyer {
75
+ return BuyerFromJSONTyped(json, false);
76
+ }
77
+
78
+ export function BuyerFromJSONTyped(json: any, ignoreDiscriminator: boolean): Buyer {
79
+ if (json == null) {
80
+ return json;
81
+ }
82
+ return {
83
+
84
+ 'taxId': json['taxId'] == null ? undefined : json['taxId'],
85
+ 'name': json['name'],
86
+ 'email': json['email'] == null ? undefined : json['email'],
87
+ 'address': json['address'] == null ? undefined : json['address'],
88
+ 'municipalityCode': json['municipalityCode'] == null ? undefined : json['municipalityCode'],
89
+ 'provinceCode': json['provinceCode'] == null ? undefined : json['provinceCode'],
90
+ 'deliveryAddress': json['deliveryAddress'] == null ? undefined : json['deliveryAddress'],
91
+ };
92
+ }
93
+
94
+ export function BuyerToJSON(json: any): Buyer {
95
+ return BuyerToJSONTyped(json, false);
96
+ }
97
+
98
+ export function BuyerToJSONTyped(value?: Buyer | null, ignoreDiscriminator: boolean = false): any {
99
+ if (value == null) {
100
+ return value;
101
+ }
102
+
103
+ return {
104
+
105
+ 'taxId': value['taxId'],
106
+ 'name': value['name'],
107
+ 'email': value['email'],
108
+ 'address': value['address'],
109
+ 'municipalityCode': value['municipalityCode'],
110
+ 'provinceCode': value['provinceCode'],
111
+ 'deliveryAddress': value['deliveryAddress'],
112
+ };
113
+ }
114
+
@@ -0,0 +1,81 @@
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
+ import { mapValues } from '../runtime';
16
+ import type { AssociatedCompany } from './AssociatedCompany';
17
+ import {
18
+ AssociatedCompanyFromJSON,
19
+ AssociatedCompanyFromJSONTyped,
20
+ AssociatedCompanyToJSON,
21
+ AssociatedCompanyToJSONTyped,
22
+ } from './AssociatedCompany';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface CreateAssociatedCompany201Response
28
+ */
29
+ export interface CreateAssociatedCompany201Response {
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof CreateAssociatedCompany201Response
34
+ */
35
+ message?: string;
36
+ /**
37
+ *
38
+ * @type {AssociatedCompany}
39
+ * @memberof CreateAssociatedCompany201Response
40
+ */
41
+ business?: AssociatedCompany;
42
+ }
43
+
44
+ /**
45
+ * Check if a given object implements the CreateAssociatedCompany201Response interface.
46
+ */
47
+ export function instanceOfCreateAssociatedCompany201Response(value: object): value is CreateAssociatedCompany201Response {
48
+ return true;
49
+ }
50
+
51
+ export function CreateAssociatedCompany201ResponseFromJSON(json: any): CreateAssociatedCompany201Response {
52
+ return CreateAssociatedCompany201ResponseFromJSONTyped(json, false);
53
+ }
54
+
55
+ export function CreateAssociatedCompany201ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateAssociatedCompany201Response {
56
+ if (json == null) {
57
+ return json;
58
+ }
59
+ return {
60
+
61
+ 'message': json['message'] == null ? undefined : json['message'],
62
+ 'business': json['business'] == null ? undefined : AssociatedCompanyFromJSON(json['business']),
63
+ };
64
+ }
65
+
66
+ export function CreateAssociatedCompany201ResponseToJSON(json: any): CreateAssociatedCompany201Response {
67
+ return CreateAssociatedCompany201ResponseToJSONTyped(json, false);
68
+ }
69
+
70
+ export function CreateAssociatedCompany201ResponseToJSONTyped(value?: CreateAssociatedCompany201Response | null, ignoreDiscriminator: boolean = false): any {
71
+ if (value == null) {
72
+ return value;
73
+ }
74
+
75
+ return {
76
+
77
+ 'message': value['message'],
78
+ 'business': AssociatedCompanyToJSON(value['business']),
79
+ };
80
+ }
81
+