@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.
- package/.openapi-generator/FILES +96 -0
- package/.openapi-generator/VERSION +1 -0
- package/.openapi-generator-ignore +23 -0
- package/README.md +234 -0
- package/dist/apis/AssociatedCompaniesApi.d.ts +150 -0
- package/dist/apis/AssociatedCompaniesApi.js +229 -0
- package/dist/apis/AuthenticationApi.d.ts +64 -0
- package/dist/apis/AuthenticationApi.js +75 -0
- package/dist/apis/DigitalCertificatesApi.d.ts +70 -0
- package/dist/apis/DigitalCertificatesApi.js +113 -0
- package/dist/apis/ECFSubmissionApi.d.ts +70 -0
- package/dist/apis/ECFSubmissionApi.js +96 -0
- package/dist/apis/TaxSequencesApi.d.ts +152 -0
- package/dist/apis/TaxSequencesApi.js +214 -0
- package/dist/apis/WebhookConfigurationApi.d.ts +146 -0
- package/dist/apis/WebhookConfigurationApi.js +197 -0
- package/dist/apis/index.d.ts +6 -0
- package/dist/apis/index.js +24 -0
- package/dist/esm/apis/AssociatedCompaniesApi.d.ts +150 -0
- package/dist/esm/apis/AssociatedCompaniesApi.js +225 -0
- package/dist/esm/apis/AuthenticationApi.d.ts +64 -0
- package/dist/esm/apis/AuthenticationApi.js +71 -0
- package/dist/esm/apis/DigitalCertificatesApi.d.ts +70 -0
- package/dist/esm/apis/DigitalCertificatesApi.js +109 -0
- package/dist/esm/apis/ECFSubmissionApi.d.ts +70 -0
- package/dist/esm/apis/ECFSubmissionApi.js +92 -0
- package/dist/esm/apis/TaxSequencesApi.d.ts +152 -0
- package/dist/esm/apis/TaxSequencesApi.js +210 -0
- package/dist/esm/apis/WebhookConfigurationApi.d.ts +146 -0
- package/dist/esm/apis/WebhookConfigurationApi.js +193 -0
- package/dist/esm/apis/index.d.ts +6 -0
- package/dist/esm/apis/index.js +8 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/models/AccountType.d.ts +30 -0
- package/dist/esm/models/AccountType.js +48 -0
- package/dist/esm/models/AdditionalInfo.d.ts +50 -0
- package/dist/esm/models/AdditionalInfo.js +47 -0
- package/dist/esm/models/AlternativeCurrency.d.ts +46 -0
- package/dist/esm/models/AlternativeCurrency.js +49 -0
- package/dist/esm/models/AssociatedCompany.d.ts +125 -0
- package/dist/esm/models/AssociatedCompany.js +77 -0
- package/dist/esm/models/AssociatedCompanySubscription.d.ts +45 -0
- package/dist/esm/models/AssociatedCompanySubscription.js +46 -0
- package/dist/esm/models/AssociatedCompanySubscriptionPlan.d.ts +38 -0
- package/dist/esm/models/AssociatedCompanySubscriptionPlan.js +43 -0
- package/dist/esm/models/BillingIndicator.d.ts +34 -0
- package/dist/esm/models/BillingIndicator.js +52 -0
- package/dist/esm/models/Buyer.d.ts +68 -0
- package/dist/esm/models/Buyer.js +55 -0
- package/dist/esm/models/CreateAssociatedCompany201Response.d.ts +39 -0
- package/dist/esm/models/CreateAssociatedCompany201Response.js +44 -0
- package/dist/esm/models/CreateTaxSequenceRequest.d.ts +47 -0
- package/dist/esm/models/CreateTaxSequenceRequest.js +52 -0
- package/dist/esm/models/CreateWebhookConfig.d.ts +53 -0
- package/dist/esm/models/CreateWebhookConfig.js +52 -0
- package/dist/esm/models/DiscountOrSurcharge.d.ts +93 -0
- package/dist/esm/models/DiscountOrSurcharge.js +78 -0
- package/dist/esm/models/EcfSubmissionResponse.d.ts +56 -0
- package/dist/esm/models/EcfSubmissionResponse.js +53 -0
- package/dist/esm/models/ElectronicDocument.d.ts +252 -0
- package/dist/esm/models/ElectronicDocument.js +143 -0
- package/dist/esm/models/Environment.d.ts +30 -0
- package/dist/esm/models/Environment.js +48 -0
- package/dist/esm/models/ErrorResponse.d.ts +44 -0
- package/dist/esm/models/ErrorResponse.js +45 -0
- package/dist/esm/models/GetNextNumber200Response.d.ts +39 -0
- package/dist/esm/models/GetNextNumber200Response.js +44 -0
- package/dist/esm/models/GetNextNumber200ResponseData.d.ts +38 -0
- package/dist/esm/models/GetNextNumber200ResponseData.js +43 -0
- package/dist/esm/models/InvoiceType.d.ts +44 -0
- package/dist/esm/models/InvoiceType.js +62 -0
- package/dist/esm/models/Item.d.ts +106 -0
- package/dist/esm/models/Item.js +83 -0
- package/dist/esm/models/ItemAdditionalTax.d.ts +38 -0
- package/dist/esm/models/ItemAdditionalTax.js +47 -0
- package/dist/esm/models/ListTaxSequences200Response.d.ts +39 -0
- package/dist/esm/models/ListTaxSequences200Response.js +44 -0
- package/dist/esm/models/OAuthTokenRequest.d.ts +43 -0
- package/dist/esm/models/OAuthTokenRequest.js +47 -0
- package/dist/esm/models/OAuthTokenResponse.d.ts +46 -0
- package/dist/esm/models/OAuthTokenResponse.js +45 -0
- package/dist/esm/models/Page.d.ts +116 -0
- package/dist/esm/models/Page.js +75 -0
- package/dist/esm/models/PaymentMethod.d.ts +40 -0
- package/dist/esm/models/PaymentMethod.js +58 -0
- package/dist/esm/models/PrintFormat.d.ts +30 -0
- package/dist/esm/models/PrintFormat.js +48 -0
- package/dist/esm/models/ReferenceInfo.d.ts +76 -0
- package/dist/esm/models/ReferenceInfo.js +63 -0
- package/dist/esm/models/Subquantity.d.ts +38 -0
- package/dist/esm/models/Subquantity.js +47 -0
- package/dist/esm/models/Subtotal.d.ts +110 -0
- package/dist/esm/models/Subtotal.js +71 -0
- package/dist/esm/models/TaxSequence.d.ts +45 -0
- package/dist/esm/models/TaxSequence.js +46 -0
- package/dist/esm/models/Totals.d.ts +173 -0
- package/dist/esm/models/Totals.js +90 -0
- package/dist/esm/models/Transport.d.ts +62 -0
- package/dist/esm/models/Transport.js +51 -0
- package/dist/esm/models/UploadCertificate201Response.d.ts +44 -0
- package/dist/esm/models/UploadCertificate201Response.js +45 -0
- package/dist/esm/models/UploadCertificateResponse.d.ts +44 -0
- package/dist/esm/models/UploadCertificateResponse.js +45 -0
- package/dist/esm/models/WebhookConfigResponse.d.ts +63 -0
- package/dist/esm/models/WebhookConfigResponse.js +52 -0
- package/dist/esm/models/WebhookEventType.d.ts +40 -0
- package/dist/esm/models/WebhookEventType.js +58 -0
- package/dist/esm/models/WebhookNotificationPayload.d.ts +59 -0
- package/dist/esm/models/WebhookNotificationPayload.js +60 -0
- package/dist/esm/models/index.d.ts +37 -0
- package/dist/esm/models/index.js +39 -0
- package/dist/esm/runtime.d.ts +184 -0
- package/dist/esm/runtime.js +349 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +21 -0
- package/dist/models/AccountType.d.ts +30 -0
- package/dist/models/AccountType.js +56 -0
- package/dist/models/AdditionalInfo.d.ts +50 -0
- package/dist/models/AdditionalInfo.js +54 -0
- package/dist/models/AlternativeCurrency.d.ts +46 -0
- package/dist/models/AlternativeCurrency.js +56 -0
- package/dist/models/AssociatedCompany.d.ts +125 -0
- package/dist/models/AssociatedCompany.js +85 -0
- package/dist/models/AssociatedCompanySubscription.d.ts +45 -0
- package/dist/models/AssociatedCompanySubscription.js +53 -0
- package/dist/models/AssociatedCompanySubscriptionPlan.d.ts +38 -0
- package/dist/models/AssociatedCompanySubscriptionPlan.js +50 -0
- package/dist/models/BillingIndicator.d.ts +34 -0
- package/dist/models/BillingIndicator.js +60 -0
- package/dist/models/Buyer.d.ts +68 -0
- package/dist/models/Buyer.js +62 -0
- package/dist/models/CreateAssociatedCompany201Response.d.ts +39 -0
- package/dist/models/CreateAssociatedCompany201Response.js +51 -0
- package/dist/models/CreateTaxSequenceRequest.d.ts +47 -0
- package/dist/models/CreateTaxSequenceRequest.js +59 -0
- package/dist/models/CreateWebhookConfig.d.ts +53 -0
- package/dist/models/CreateWebhookConfig.js +59 -0
- package/dist/models/DiscountOrSurcharge.d.ts +93 -0
- package/dist/models/DiscountOrSurcharge.js +86 -0
- package/dist/models/EcfSubmissionResponse.d.ts +56 -0
- package/dist/models/EcfSubmissionResponse.js +60 -0
- package/dist/models/ElectronicDocument.d.ts +252 -0
- package/dist/models/ElectronicDocument.js +151 -0
- package/dist/models/Environment.d.ts +30 -0
- package/dist/models/Environment.js +56 -0
- package/dist/models/ErrorResponse.d.ts +44 -0
- package/dist/models/ErrorResponse.js +52 -0
- package/dist/models/GetNextNumber200Response.d.ts +39 -0
- package/dist/models/GetNextNumber200Response.js +51 -0
- package/dist/models/GetNextNumber200ResponseData.d.ts +38 -0
- package/dist/models/GetNextNumber200ResponseData.js +50 -0
- package/dist/models/InvoiceType.d.ts +44 -0
- package/dist/models/InvoiceType.js +70 -0
- package/dist/models/Item.d.ts +106 -0
- package/dist/models/Item.js +91 -0
- package/dist/models/ItemAdditionalTax.d.ts +38 -0
- package/dist/models/ItemAdditionalTax.js +54 -0
- package/dist/models/ListTaxSequences200Response.d.ts +39 -0
- package/dist/models/ListTaxSequences200Response.js +51 -0
- package/dist/models/OAuthTokenRequest.d.ts +43 -0
- package/dist/models/OAuthTokenRequest.js +54 -0
- package/dist/models/OAuthTokenResponse.d.ts +46 -0
- package/dist/models/OAuthTokenResponse.js +52 -0
- package/dist/models/Page.d.ts +116 -0
- package/dist/models/Page.js +82 -0
- package/dist/models/PaymentMethod.d.ts +40 -0
- package/dist/models/PaymentMethod.js +66 -0
- package/dist/models/PrintFormat.d.ts +30 -0
- package/dist/models/PrintFormat.js +56 -0
- package/dist/models/ReferenceInfo.d.ts +76 -0
- package/dist/models/ReferenceInfo.js +71 -0
- package/dist/models/Subquantity.d.ts +38 -0
- package/dist/models/Subquantity.js +54 -0
- package/dist/models/Subtotal.d.ts +110 -0
- package/dist/models/Subtotal.js +78 -0
- package/dist/models/TaxSequence.d.ts +45 -0
- package/dist/models/TaxSequence.js +53 -0
- package/dist/models/Totals.d.ts +173 -0
- package/dist/models/Totals.js +97 -0
- package/dist/models/Transport.d.ts +62 -0
- package/dist/models/Transport.js +58 -0
- package/dist/models/UploadCertificate201Response.d.ts +44 -0
- package/dist/models/UploadCertificate201Response.js +52 -0
- package/dist/models/UploadCertificateResponse.d.ts +44 -0
- package/dist/models/UploadCertificateResponse.js +52 -0
- package/dist/models/WebhookConfigResponse.d.ts +63 -0
- package/dist/models/WebhookConfigResponse.js +59 -0
- package/dist/models/WebhookEventType.d.ts +40 -0
- package/dist/models/WebhookEventType.js +66 -0
- package/dist/models/WebhookNotificationPayload.d.ts +59 -0
- package/dist/models/WebhookNotificationPayload.js +67 -0
- package/dist/models/index.d.ts +37 -0
- package/dist/models/index.js +55 -0
- package/dist/runtime.d.ts +184 -0
- package/dist/runtime.js +365 -0
- package/docs/AccountType.md +33 -0
- package/docs/AdditionalInfo.md +41 -0
- package/docs/AlternativeCurrency.md +39 -0
- package/docs/AssociatedCompaniesApi.md +207 -0
- package/docs/AssociatedCompany.md +63 -0
- package/docs/AssociatedCompanySubscription.md +38 -0
- package/docs/AssociatedCompanySubscriptionPlan.md +36 -0
- package/docs/AuthenticationApi.md +77 -0
- package/docs/BillingIndicator.md +33 -0
- package/docs/Buyer.md +47 -0
- package/docs/CreateAssociatedCompany201Response.md +36 -0
- package/docs/CreateTaxSequenceRequest.md +39 -0
- package/docs/CreateWebhookConfig.md +41 -0
- package/docs/DigitalCertificatesApi.md +90 -0
- package/docs/DiscountOrSurcharge.md +49 -0
- package/docs/ECFSubmissionApi.md +90 -0
- package/docs/EcfSubmissionResponse.md +43 -0
- package/docs/ElectronicDocument.md +87 -0
- package/docs/Environment.md +33 -0
- package/docs/ErrorResponse.md +39 -0
- package/docs/GetNextNumber200Response.md +36 -0
- package/docs/GetNextNumber200ResponseData.md +36 -0
- package/docs/InvoiceType.md +33 -0
- package/docs/Item.md +55 -0
- package/docs/ItemAdditionalTax.md +37 -0
- package/docs/ListTaxSequences200Response.md +36 -0
- package/docs/OAuthTokenRequest.md +37 -0
- package/docs/OAuthTokenResponse.md +39 -0
- package/docs/Page.md +63 -0
- package/docs/PaymentMethod.md +33 -0
- package/docs/PrintFormat.md +33 -0
- package/docs/ReferenceInfo.md +43 -0
- package/docs/Subquantity.md +37 -0
- package/docs/Subtotal.md +61 -0
- package/docs/TaxSequence.md +39 -0
- package/docs/TaxSequencesApi.md +246 -0
- package/docs/Totals.md +81 -0
- package/docs/Transport.md +45 -0
- package/docs/UploadCertificate201Response.md +38 -0
- package/docs/UploadCertificateResponse.md +39 -0
- package/docs/WebhookConfigResponse.md +45 -0
- package/docs/WebhookConfigurationApi.md +241 -0
- package/docs/WebhookEventType.md +33 -0
- package/docs/WebhookNotificationPayload.md +43 -0
- package/package.json +21 -0
- package/src/apis/AssociatedCompaniesApi.ts +415 -0
- package/src/apis/AuthenticationApi.ts +122 -0
- package/src/apis/DigitalCertificatesApi.ts +175 -0
- package/src/apis/ECFSubmissionApi.ts +163 -0
- package/src/apis/TaxSequencesApi.ts +374 -0
- package/src/apis/WebhookConfigurationApi.ts +332 -0
- package/src/apis/index.ts +8 -0
- package/src/index.ts +5 -0
- package/src/models/AccountType.ts +58 -0
- package/src/models/AdditionalInfo.ts +89 -0
- package/src/models/AlternativeCurrency.ts +85 -0
- package/src/models/AssociatedCompany.ts +196 -0
- package/src/models/AssociatedCompanySubscription.ts +89 -0
- package/src/models/AssociatedCompanySubscriptionPlan.ts +73 -0
- package/src/models/BillingIndicator.ts +62 -0
- package/src/models/Buyer.ts +114 -0
- package/src/models/CreateAssociatedCompany201Response.ts +81 -0
- package/src/models/CreateTaxSequenceRequest.ts +96 -0
- package/src/models/CreateWebhookConfig.ts +101 -0
- package/src/models/DiscountOrSurcharge.ts +155 -0
- package/src/models/EcfSubmissionResponse.ts +99 -0
- package/src/models/ElectronicDocument.ts +421 -0
- package/src/models/Environment.ts +58 -0
- package/src/models/ErrorResponse.ts +81 -0
- package/src/models/GetNextNumber200Response.ts +81 -0
- package/src/models/GetNextNumber200ResponseData.ts +73 -0
- package/src/models/InvoiceType.ts +72 -0
- package/src/models/Item.ts +187 -0
- package/src/models/ItemAdditionalTax.ts +75 -0
- package/src/models/ListTaxSequences200Response.ts +81 -0
- package/src/models/OAuthTokenRequest.ts +80 -0
- package/src/models/OAuthTokenResponse.ts +83 -0
- package/src/models/Page.ts +180 -0
- package/src/models/PaymentMethod.ts +68 -0
- package/src/models/PrintFormat.ts +58 -0
- package/src/models/ReferenceInfo.ts +122 -0
- package/src/models/Subquantity.ts +75 -0
- package/src/models/Subtotal.ts +171 -0
- package/src/models/TaxSequence.ts +91 -0
- package/src/models/Totals.ts +260 -0
- package/src/models/Transport.ts +105 -0
- package/src/models/UploadCertificate201Response.ts +81 -0
- package/src/models/UploadCertificateResponse.ts +81 -0
- package/src/models/WebhookConfigResponse.ts +113 -0
- package/src/models/WebhookEventType.ts +68 -0
- package/src/models/WebhookNotificationPayload.ts +114 -0
- package/src/models/index.ts +39 -0
- package/src/runtime.ts +450 -0
- package/tsconfig.esm.json +7 -0
- package/tsconfig.json +16 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/* tslint:disable */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
/**
|
|
4
|
+
* eCF-Pronesoft Integration API
|
|
5
|
+
* ## Overview Production-grade API for issuing Electronic Tax Receipts (e-CF) in the Dominican Republic through the Pronesoft platform, which handles all communication with the DGII on your behalf. ## Authentication — OAuth 2.0 Client Credentials This API uses the **OAuth 2.0 Client Credentials** flow. There is no user login — authentication is machine-to-machine using a `clientId` and `clientSecret` issued by the Pronesoft portal. ### Step-by-step 1. **Get credentials**: - Sandbox: https://ecf.sandbox.pronesoft.com - Production: https://ecf.pronesoft.com 2. **Request a token** — call `POST /oauth/token` with your credentials. The server returns an `accessToken` valid for `expiresIn` seconds. 3. **Authorize requests** — include the token in every subsequent request: ``` Authorization: Bearer <accessToken> ``` 4. **Identify your tenant** — include your company/branch UUID in every protected request: ``` x-tenant-id: <your-tenant-uuid> ``` 5. **Refresh** — when the token expires, simply call `POST /oauth/token` again. ### Scopes | Category | Scope | Description | |---|---|---| | **Business** | `business:read` | Read company data | | | `business:create` | Create a new company | | | `business:update` | Update company data | | **Members** | `members:read` | View team members | | | `members:invite` | Invite new members | | | `members:revoke` | Revoke member access | | **Certificates** | `certificates:read` | View digital certificates | | | `certificates:upload` | Upload new certificates | | | `certificates:update` | Update existing certificates | | **Documents** | `documents:read` | List and view documents | | | `documents:create` | Create drafts or internal documents | | | `documents:send` | Submit e-CF to DGII | | | `documents:receive` | Receive e-CF from third parties | | | `documents:update` | Modify document metadata | | **Approvals** | `approvals:read` | View approval statuses | | | `approvals:commercial` | Perform commercial approvals/rejections | | **Sequences** | `sequences:read` | View NCF/e-NCF ranges | | | `sequences:create` | Request new sequences | | | `sequences:update` | Modify sequence configurations | | | `sequences:cancel` | Cancel unused sequences | | **Dashboard** | `business_info:read` | Access dashboard stats and metrics | | **Certification** | `certification:read` | View certification progress | | | `certification:write` | Run automated DGII certification tests | | **Reports** | `reports:read` | Generate and export reports (e.g. 606) | ## Environments | Environment | Portal | API Host | Purpose | |---|---|---|---| | Sandbox | https://ecf.sandbox.pronesoft.com | `api.ecf.sandbox.pronesoft.com` | Development & testing | | Production | https://ecf.pronesoft.com | `api.ecf.pronesoft.com` | Live e-CF issuance | ## Invoice Types (e-NCF) | Code | Name | |---|---| | `31` | Tax Credit Invoice (Factura de Crédito Fiscal) | | `32` | Consumer Invoice (Factura de Consumo) | | `33` | Debit Note (Nota de Débito) | | `34` | Credit Note (Nota de Crédito) | | `41` | Purchases (Compras) | | `43` | Minor Expenses (Gastos Menores) | | `44` | Special Regimes (Regímenes Especiales) | | `45` | Governmental (Gubernamentales) | | `46` | Exports (Exportaciones) | | `47` | Overseas Payments (Pagos al Exterior) |
|
|
6
|
+
*
|
|
7
|
+
* The version of the OpenAPI document: 0.0.1
|
|
8
|
+
* Contact: contacto@pronesoft.com
|
|
9
|
+
*
|
|
10
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
11
|
+
* https://openapi-generator.tech
|
|
12
|
+
* Do not edit the class manually.
|
|
13
|
+
*/
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
export const BASE_PATH = "https://api.ecf.sandbox.pronesoft.com/api/v1".replace(/\/+$/, "");
|
|
24
|
+
export class Configuration {
|
|
25
|
+
constructor(configuration = {}) {
|
|
26
|
+
this.configuration = configuration;
|
|
27
|
+
}
|
|
28
|
+
set config(configuration) {
|
|
29
|
+
this.configuration = configuration;
|
|
30
|
+
}
|
|
31
|
+
get basePath() {
|
|
32
|
+
return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH;
|
|
33
|
+
}
|
|
34
|
+
get fetchApi() {
|
|
35
|
+
return this.configuration.fetchApi;
|
|
36
|
+
}
|
|
37
|
+
get middleware() {
|
|
38
|
+
return this.configuration.middleware || [];
|
|
39
|
+
}
|
|
40
|
+
get queryParamsStringify() {
|
|
41
|
+
return this.configuration.queryParamsStringify || querystring;
|
|
42
|
+
}
|
|
43
|
+
get username() {
|
|
44
|
+
return this.configuration.username;
|
|
45
|
+
}
|
|
46
|
+
get password() {
|
|
47
|
+
return this.configuration.password;
|
|
48
|
+
}
|
|
49
|
+
get apiKey() {
|
|
50
|
+
const apiKey = this.configuration.apiKey;
|
|
51
|
+
if (apiKey) {
|
|
52
|
+
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
get accessToken() {
|
|
57
|
+
const accessToken = this.configuration.accessToken;
|
|
58
|
+
if (accessToken) {
|
|
59
|
+
return typeof accessToken === 'function' ? accessToken : () => __awaiter(this, void 0, void 0, function* () { return accessToken; });
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
get headers() {
|
|
64
|
+
return this.configuration.headers;
|
|
65
|
+
}
|
|
66
|
+
get credentials() {
|
|
67
|
+
return this.configuration.credentials;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export const DefaultConfig = new Configuration();
|
|
71
|
+
/**
|
|
72
|
+
* This is the base class for all generated API classes.
|
|
73
|
+
*/
|
|
74
|
+
export class BaseAPI {
|
|
75
|
+
constructor(configuration = DefaultConfig) {
|
|
76
|
+
this.configuration = configuration;
|
|
77
|
+
this.fetchApi = (url, init) => __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
let fetchParams = { url, init };
|
|
79
|
+
for (const middleware of this.middleware) {
|
|
80
|
+
if (middleware.pre) {
|
|
81
|
+
fetchParams = (yield middleware.pre(Object.assign({ fetch: this.fetchApi }, fetchParams))) || fetchParams;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
let response = undefined;
|
|
85
|
+
try {
|
|
86
|
+
response = yield (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);
|
|
87
|
+
}
|
|
88
|
+
catch (e) {
|
|
89
|
+
for (const middleware of this.middleware) {
|
|
90
|
+
if (middleware.onError) {
|
|
91
|
+
response = (yield middleware.onError({
|
|
92
|
+
fetch: this.fetchApi,
|
|
93
|
+
url: fetchParams.url,
|
|
94
|
+
init: fetchParams.init,
|
|
95
|
+
error: e,
|
|
96
|
+
response: response ? response.clone() : undefined,
|
|
97
|
+
})) || response;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (response === undefined) {
|
|
101
|
+
if (e instanceof Error) {
|
|
102
|
+
throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
throw e;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
for (const middleware of this.middleware) {
|
|
110
|
+
if (middleware.post) {
|
|
111
|
+
response = (yield middleware.post({
|
|
112
|
+
fetch: this.fetchApi,
|
|
113
|
+
url: fetchParams.url,
|
|
114
|
+
init: fetchParams.init,
|
|
115
|
+
response: response.clone(),
|
|
116
|
+
})) || response;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return response;
|
|
120
|
+
});
|
|
121
|
+
this.middleware = configuration.middleware;
|
|
122
|
+
}
|
|
123
|
+
withMiddleware(...middlewares) {
|
|
124
|
+
const next = this.clone();
|
|
125
|
+
next.middleware = next.middleware.concat(...middlewares);
|
|
126
|
+
return next;
|
|
127
|
+
}
|
|
128
|
+
withPreMiddleware(...preMiddlewares) {
|
|
129
|
+
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
|
130
|
+
return this.withMiddleware(...middlewares);
|
|
131
|
+
}
|
|
132
|
+
withPostMiddleware(...postMiddlewares) {
|
|
133
|
+
const middlewares = postMiddlewares.map((post) => ({ post }));
|
|
134
|
+
return this.withMiddleware(...middlewares);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if the given MIME is a JSON MIME.
|
|
138
|
+
* JSON MIME examples:
|
|
139
|
+
* application/json
|
|
140
|
+
* application/json; charset=UTF8
|
|
141
|
+
* APPLICATION/JSON
|
|
142
|
+
* application/vnd.company+json
|
|
143
|
+
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
144
|
+
* @return True if the given MIME is JSON, false otherwise.
|
|
145
|
+
*/
|
|
146
|
+
isJsonMime(mime) {
|
|
147
|
+
if (!mime) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
return BaseAPI.jsonRegex.test(mime);
|
|
151
|
+
}
|
|
152
|
+
request(context, initOverrides) {
|
|
153
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
+
const { url, init } = yield this.createFetchParams(context, initOverrides);
|
|
155
|
+
const response = yield this.fetchApi(url, init);
|
|
156
|
+
if (response && (response.status >= 200 && response.status < 300)) {
|
|
157
|
+
return response;
|
|
158
|
+
}
|
|
159
|
+
throw new ResponseError(response, 'Response returned an error code');
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
createFetchParams(context, initOverrides) {
|
|
163
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
let url = this.configuration.basePath + context.path;
|
|
165
|
+
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
|
166
|
+
// only add the querystring to the URL if there are query parameters.
|
|
167
|
+
// this is done to avoid urls ending with a "?" character which buggy webservers
|
|
168
|
+
// do not handle correctly sometimes.
|
|
169
|
+
url += '?' + this.configuration.queryParamsStringify(context.query);
|
|
170
|
+
}
|
|
171
|
+
const headers = Object.assign({}, this.configuration.headers, context.headers);
|
|
172
|
+
Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});
|
|
173
|
+
const initOverrideFn = typeof initOverrides === "function"
|
|
174
|
+
? initOverrides
|
|
175
|
+
: () => __awaiter(this, void 0, void 0, function* () { return initOverrides; });
|
|
176
|
+
const initParams = {
|
|
177
|
+
method: context.method,
|
|
178
|
+
headers,
|
|
179
|
+
body: context.body,
|
|
180
|
+
credentials: this.configuration.credentials,
|
|
181
|
+
};
|
|
182
|
+
const overriddenInit = Object.assign(Object.assign({}, initParams), (yield initOverrideFn({
|
|
183
|
+
init: initParams,
|
|
184
|
+
context,
|
|
185
|
+
})));
|
|
186
|
+
let body;
|
|
187
|
+
if (isFormData(overriddenInit.body)
|
|
188
|
+
|| (overriddenInit.body instanceof URLSearchParams)
|
|
189
|
+
|| isBlob(overriddenInit.body)) {
|
|
190
|
+
body = overriddenInit.body;
|
|
191
|
+
}
|
|
192
|
+
else if (this.isJsonMime(headers['Content-Type'])) {
|
|
193
|
+
body = JSON.stringify(overriddenInit.body);
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
body = overriddenInit.body;
|
|
197
|
+
}
|
|
198
|
+
const init = Object.assign(Object.assign({}, overriddenInit), { body });
|
|
199
|
+
return { url, init };
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Create a shallow clone of `this` by constructing a new instance
|
|
204
|
+
* and then shallow cloning data members.
|
|
205
|
+
*/
|
|
206
|
+
clone() {
|
|
207
|
+
const constructor = this.constructor;
|
|
208
|
+
const next = new constructor(this.configuration);
|
|
209
|
+
next.middleware = this.middleware.slice();
|
|
210
|
+
return next;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
BaseAPI.jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i');
|
|
214
|
+
;
|
|
215
|
+
function isBlob(value) {
|
|
216
|
+
return typeof Blob !== 'undefined' && value instanceof Blob;
|
|
217
|
+
}
|
|
218
|
+
function isFormData(value) {
|
|
219
|
+
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
220
|
+
}
|
|
221
|
+
export class ResponseError extends Error {
|
|
222
|
+
constructor(response, msg) {
|
|
223
|
+
super(msg);
|
|
224
|
+
this.response = response;
|
|
225
|
+
this.name = "ResponseError";
|
|
226
|
+
// restore prototype chain
|
|
227
|
+
const actualProto = new.target.prototype;
|
|
228
|
+
if (Object.setPrototypeOf) {
|
|
229
|
+
Object.setPrototypeOf(this, actualProto);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
export class FetchError extends Error {
|
|
234
|
+
constructor(cause, msg) {
|
|
235
|
+
super(msg);
|
|
236
|
+
this.cause = cause;
|
|
237
|
+
this.name = "FetchError";
|
|
238
|
+
// restore prototype chain
|
|
239
|
+
const actualProto = new.target.prototype;
|
|
240
|
+
if (Object.setPrototypeOf) {
|
|
241
|
+
Object.setPrototypeOf(this, actualProto);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
export class RequiredError extends Error {
|
|
246
|
+
constructor(field, msg) {
|
|
247
|
+
super(msg);
|
|
248
|
+
this.field = field;
|
|
249
|
+
this.name = "RequiredError";
|
|
250
|
+
// restore prototype chain
|
|
251
|
+
const actualProto = new.target.prototype;
|
|
252
|
+
if (Object.setPrototypeOf) {
|
|
253
|
+
Object.setPrototypeOf(this, actualProto);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
export const COLLECTION_FORMATS = {
|
|
258
|
+
csv: ",",
|
|
259
|
+
ssv: " ",
|
|
260
|
+
tsv: "\t",
|
|
261
|
+
pipes: "|",
|
|
262
|
+
};
|
|
263
|
+
export function querystring(params, prefix = '') {
|
|
264
|
+
return Object.keys(params)
|
|
265
|
+
.map(key => querystringSingleKey(key, params[key], prefix))
|
|
266
|
+
.filter(part => part.length > 0)
|
|
267
|
+
.join('&');
|
|
268
|
+
}
|
|
269
|
+
function querystringSingleKey(key, value, keyPrefix = '') {
|
|
270
|
+
const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);
|
|
271
|
+
if (value instanceof Array) {
|
|
272
|
+
const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))
|
|
273
|
+
.join(`&${encodeURIComponent(fullKey)}=`);
|
|
274
|
+
return `${encodeURIComponent(fullKey)}=${multiValue}`;
|
|
275
|
+
}
|
|
276
|
+
if (value instanceof Set) {
|
|
277
|
+
const valueAsArray = Array.from(value);
|
|
278
|
+
return querystringSingleKey(key, valueAsArray, keyPrefix);
|
|
279
|
+
}
|
|
280
|
+
if (value instanceof Date) {
|
|
281
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;
|
|
282
|
+
}
|
|
283
|
+
if (value instanceof Object) {
|
|
284
|
+
return querystring(value, fullKey);
|
|
285
|
+
}
|
|
286
|
+
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;
|
|
287
|
+
}
|
|
288
|
+
export function exists(json, key) {
|
|
289
|
+
const value = json[key];
|
|
290
|
+
return value !== null && value !== undefined;
|
|
291
|
+
}
|
|
292
|
+
export function mapValues(data, fn) {
|
|
293
|
+
const result = {};
|
|
294
|
+
for (const key of Object.keys(data)) {
|
|
295
|
+
result[key] = fn(data[key]);
|
|
296
|
+
}
|
|
297
|
+
return result;
|
|
298
|
+
}
|
|
299
|
+
export function canConsumeForm(consumes) {
|
|
300
|
+
for (const consume of consumes) {
|
|
301
|
+
if ('multipart/form-data' === consume.contentType) {
|
|
302
|
+
return true;
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
return false;
|
|
306
|
+
}
|
|
307
|
+
export class JSONApiResponse {
|
|
308
|
+
constructor(raw, transformer = (jsonValue) => jsonValue) {
|
|
309
|
+
this.raw = raw;
|
|
310
|
+
this.transformer = transformer;
|
|
311
|
+
}
|
|
312
|
+
value() {
|
|
313
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
314
|
+
return this.transformer(yield this.raw.json());
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
export class VoidApiResponse {
|
|
319
|
+
constructor(raw) {
|
|
320
|
+
this.raw = raw;
|
|
321
|
+
}
|
|
322
|
+
value() {
|
|
323
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
324
|
+
return undefined;
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
export class BlobApiResponse {
|
|
329
|
+
constructor(raw) {
|
|
330
|
+
this.raw = raw;
|
|
331
|
+
}
|
|
332
|
+
value() {
|
|
333
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
334
|
+
return yield this.raw.blob();
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
;
|
|
338
|
+
}
|
|
339
|
+
export class TextApiResponse {
|
|
340
|
+
constructor(raw) {
|
|
341
|
+
this.raw = raw;
|
|
342
|
+
}
|
|
343
|
+
value() {
|
|
344
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
345
|
+
return yield this.raw.text();
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
;
|
|
349
|
+
}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
/* tslint:disable */
|
|
18
|
+
/* eslint-disable */
|
|
19
|
+
__exportStar(require("./runtime"), exports);
|
|
20
|
+
__exportStar(require("./apis/index"), exports);
|
|
21
|
+
__exportStar(require("./models/index"), exports);
|
|
@@ -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
|
+
* Bank account type:
|
|
14
|
+
* - `CT`: Current account (Cuenta Corriente)
|
|
15
|
+
* - `AH`: Savings account (Cuenta de Ahorros)
|
|
16
|
+
* - `OT`: Other
|
|
17
|
+
*
|
|
18
|
+
* @export
|
|
19
|
+
*/
|
|
20
|
+
export declare const AccountType: {
|
|
21
|
+
readonly Ct: "CT";
|
|
22
|
+
readonly Ah: "AH";
|
|
23
|
+
readonly Ot: "OT";
|
|
24
|
+
};
|
|
25
|
+
export type AccountType = typeof AccountType[keyof typeof AccountType];
|
|
26
|
+
export declare function instanceOfAccountType(value: any): boolean;
|
|
27
|
+
export declare function AccountTypeFromJSON(json: any): AccountType;
|
|
28
|
+
export declare function AccountTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): AccountType;
|
|
29
|
+
export declare function AccountTypeToJSON(value?: AccountType | null): any;
|
|
30
|
+
export declare function AccountTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): AccountType;
|
|
@@ -0,0 +1,56 @@
|
|
|
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.AccountType = void 0;
|
|
17
|
+
exports.instanceOfAccountType = instanceOfAccountType;
|
|
18
|
+
exports.AccountTypeFromJSON = AccountTypeFromJSON;
|
|
19
|
+
exports.AccountTypeFromJSONTyped = AccountTypeFromJSONTyped;
|
|
20
|
+
exports.AccountTypeToJSON = AccountTypeToJSON;
|
|
21
|
+
exports.AccountTypeToJSONTyped = AccountTypeToJSONTyped;
|
|
22
|
+
/**
|
|
23
|
+
* Bank account type:
|
|
24
|
+
* - `CT`: Current account (Cuenta Corriente)
|
|
25
|
+
* - `AH`: Savings account (Cuenta de Ahorros)
|
|
26
|
+
* - `OT`: Other
|
|
27
|
+
*
|
|
28
|
+
* @export
|
|
29
|
+
*/
|
|
30
|
+
exports.AccountType = {
|
|
31
|
+
Ct: 'CT',
|
|
32
|
+
Ah: 'AH',
|
|
33
|
+
Ot: 'OT'
|
|
34
|
+
};
|
|
35
|
+
function instanceOfAccountType(value) {
|
|
36
|
+
for (const key in exports.AccountType) {
|
|
37
|
+
if (Object.prototype.hasOwnProperty.call(exports.AccountType, key)) {
|
|
38
|
+
if (exports.AccountType[key] === value) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
function AccountTypeFromJSON(json) {
|
|
46
|
+
return AccountTypeFromJSONTyped(json, false);
|
|
47
|
+
}
|
|
48
|
+
function AccountTypeFromJSONTyped(json, ignoreDiscriminator) {
|
|
49
|
+
return json;
|
|
50
|
+
}
|
|
51
|
+
function AccountTypeToJSON(value) {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
function AccountTypeToJSONTyped(value, ignoreDiscriminator) {
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
* Additional shipping/logistics information.
|
|
14
|
+
* @export
|
|
15
|
+
* @interface AdditionalInfo
|
|
16
|
+
*/
|
|
17
|
+
export interface AdditionalInfo {
|
|
18
|
+
/**
|
|
19
|
+
* Gross weight of the shipment (in kg).
|
|
20
|
+
* @type {number}
|
|
21
|
+
* @memberof AdditionalInfo
|
|
22
|
+
*/
|
|
23
|
+
grossWeight?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Number of packages.
|
|
26
|
+
* @type {number}
|
|
27
|
+
* @memberof AdditionalInfo
|
|
28
|
+
*/
|
|
29
|
+
packageQuantity?: number;
|
|
30
|
+
/**
|
|
31
|
+
* Container identifier (for imports/exports).
|
|
32
|
+
* @type {string}
|
|
33
|
+
* @memberof AdditionalInfo
|
|
34
|
+
*/
|
|
35
|
+
containerId?: string;
|
|
36
|
+
/**
|
|
37
|
+
* Seal/precinto identifier.
|
|
38
|
+
* @type {string}
|
|
39
|
+
* @memberof AdditionalInfo
|
|
40
|
+
*/
|
|
41
|
+
sealId?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a given object implements the AdditionalInfo interface.
|
|
45
|
+
*/
|
|
46
|
+
export declare function instanceOfAdditionalInfo(value: object): value is AdditionalInfo;
|
|
47
|
+
export declare function AdditionalInfoFromJSON(json: any): AdditionalInfo;
|
|
48
|
+
export declare function AdditionalInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AdditionalInfo;
|
|
49
|
+
export declare function AdditionalInfoToJSON(json: any): AdditionalInfo;
|
|
50
|
+
export declare function AdditionalInfoToJSONTyped(value?: AdditionalInfo | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,54 @@
|
|
|
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.instanceOfAdditionalInfo = instanceOfAdditionalInfo;
|
|
17
|
+
exports.AdditionalInfoFromJSON = AdditionalInfoFromJSON;
|
|
18
|
+
exports.AdditionalInfoFromJSONTyped = AdditionalInfoFromJSONTyped;
|
|
19
|
+
exports.AdditionalInfoToJSON = AdditionalInfoToJSON;
|
|
20
|
+
exports.AdditionalInfoToJSONTyped = AdditionalInfoToJSONTyped;
|
|
21
|
+
/**
|
|
22
|
+
* Check if a given object implements the AdditionalInfo interface.
|
|
23
|
+
*/
|
|
24
|
+
function instanceOfAdditionalInfo(value) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
function AdditionalInfoFromJSON(json) {
|
|
28
|
+
return AdditionalInfoFromJSONTyped(json, false);
|
|
29
|
+
}
|
|
30
|
+
function AdditionalInfoFromJSONTyped(json, ignoreDiscriminator) {
|
|
31
|
+
if (json == null) {
|
|
32
|
+
return json;
|
|
33
|
+
}
|
|
34
|
+
return {
|
|
35
|
+
'grossWeight': json['grossWeight'] == null ? undefined : json['grossWeight'],
|
|
36
|
+
'packageQuantity': json['packageQuantity'] == null ? undefined : json['packageQuantity'],
|
|
37
|
+
'containerId': json['containerId'] == null ? undefined : json['containerId'],
|
|
38
|
+
'sealId': json['sealId'] == null ? undefined : json['sealId'],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function AdditionalInfoToJSON(json) {
|
|
42
|
+
return AdditionalInfoToJSONTyped(json, false);
|
|
43
|
+
}
|
|
44
|
+
function AdditionalInfoToJSONTyped(value, ignoreDiscriminator = false) {
|
|
45
|
+
if (value == null) {
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
'grossWeight': value['grossWeight'],
|
|
50
|
+
'packageQuantity': value['packageQuantity'],
|
|
51
|
+
'containerId': value['containerId'],
|
|
52
|
+
'sealId': value['sealId'],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
* Alternative currency information for documents issued in a
|
|
14
|
+
* currency other than Dominican Peso (DOP).
|
|
15
|
+
*
|
|
16
|
+
* @export
|
|
17
|
+
* @interface AlternativeCurrency
|
|
18
|
+
*/
|
|
19
|
+
export interface AlternativeCurrency {
|
|
20
|
+
/**
|
|
21
|
+
* ISO 4217 currency code (e.g. "USD", "EUR").
|
|
22
|
+
* @type {string}
|
|
23
|
+
* @memberof AlternativeCurrency
|
|
24
|
+
*/
|
|
25
|
+
code: string;
|
|
26
|
+
/**
|
|
27
|
+
* Exchange rate to Dominican Peso at time of issuance.
|
|
28
|
+
* @type {number}
|
|
29
|
+
* @memberof AlternativeCurrency
|
|
30
|
+
*/
|
|
31
|
+
exchangeRate: number;
|
|
32
|
+
/**
|
|
33
|
+
* Total document amount in the alternative currency.
|
|
34
|
+
* @type {number}
|
|
35
|
+
* @memberof AlternativeCurrency
|
|
36
|
+
*/
|
|
37
|
+
totalAmount?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Check if a given object implements the AlternativeCurrency interface.
|
|
41
|
+
*/
|
|
42
|
+
export declare function instanceOfAlternativeCurrency(value: object): value is AlternativeCurrency;
|
|
43
|
+
export declare function AlternativeCurrencyFromJSON(json: any): AlternativeCurrency;
|
|
44
|
+
export declare function AlternativeCurrencyFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlternativeCurrency;
|
|
45
|
+
export declare function AlternativeCurrencyToJSON(json: any): AlternativeCurrency;
|
|
46
|
+
export declare function AlternativeCurrencyToJSONTyped(value?: AlternativeCurrency | null, ignoreDiscriminator?: boolean): any;
|