pronesoft-rd/ecf-sdk-php
最新稳定版本:v0.0.2
Composer 安装命令:
composer require pronesoft-rd/ecf-sdk-php
包简介
## Descripción general API de nivel productivo para emitir Comprobantes Fiscales Electrónicos (e-CF) en la República Dominicana a través de la plataforma Pronesoft. ## Autenticación — OAuth 2.0 Client Credentials ### Pasos 1. Obtén tus credenciales desde el portal: - Sandbox: https://ecf.sandbo
README 文档
README
Descripción general
API de nivel productivo para emitir Comprobantes Fiscales Electrónicos (e-CF) en la República Dominicana a través de la plataforma Pronesoft.
Autenticación — OAuth 2.0 Client Credentials
Pasos
- Obtén tus credenciales desde el portal:
- Sandbox: https://ecf.sandbox.pronesoft.com → Apps → Default Sandbox App
- Producción: https://ecf.pronesoft.com → Integraciones → Apps → Crear App
- Solicita un token via POST /oauth/token — válido por 24 horas (86400s).
- Usa: Authorization: Bearer en cada request.
- Renueva al recibir HTTP 401. Buena práctica: renovar 5 minutos antes del vencimiento.
Delegación multi-empresa
Para actuar en nombre de una empresa asociada (sucursal), agrega: x-tenant-id: NO envíes x-tenant-id cuando actúes como la empresa principal.
Detalles del Sandbox
- Usa cualquier RNC que comience con SBX (ej. SBX123456) — no se requiere certificado real.
- Las secuencias son automáticas — no es necesario crearlas manualmente.
- El campo environment en el cuerpo del documento DEBE ser TesteCF.
Scopes disponibles
business:read, business:create, business:update, members:read, members:invite, members:revoke, certificates:read, certificates:upload, certificates:update, documents:read, documents:create, documents:send, documents:receive, documents:update, approvals:read, approvals:commercial, sequences:read, sequences:create, sequences:update, sequences:cancel, business_info:read, certification:read, certification:write, reports:read
For more information, please visit https://pronesoft.com.
Installation & Usage
Requirements
PHP 8.1 and later.
Composer
To install the bindings via Composer, add the following to composer.json:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/GIT_USER_ID/GIT_REPO_ID.git"
}
],
"require": {
"GIT_USER_ID/GIT_REPO_ID": "*@dev"
}
}
Then run composer install
Manual Installation
Download the files and include autoload.php:
<?php require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');
Getting Started
Please follow the installation procedure and then run the following:
<?php require_once(__DIR__ . '/vendor/autoload.php'); // Configure OAuth2 access token for authorization: oauth2 $config = PronesoftEcfSdk\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN'); $apiInstance = new PronesoftEcfSdk\Api\AssociatedCompaniesApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client(), $config ); $email = 'email_example'; // string $password = 'password_example'; // string $name = 'name_example'; // string $rnc = 'rnc_example'; // string $phone = 'phone_example'; // string $address = 'address_example'; // string $city = 'city_example'; // string $country = 'country_example'; // string $printer_type = new \PronesoftEcfSdk\Model\PrintFormat(); // \PronesoftEcfSdk\Model\PrintFormat $first_name = 'first_name_example'; // string $last_name = 'last_name_example'; // string $job_title = 'job_title_example'; // string $website = 'website_example'; // string $category = 'category_example'; // string $monthly_sales_range = 'monthly_sales_range_example'; // string $logo = '/path/to/file.txt'; // \SplFileObject try { $result = $apiInstance->createAssociatedCompany($email, $password, $name, $rnc, $phone, $address, $city, $country, $printer_type, $first_name, $last_name, $job_title, $website, $category, $monthly_sales_range, $logo); print_r($result); } catch (Exception $e) { echo 'Exception when calling AssociatedCompaniesApi->createAssociatedCompany: ', $e->getMessage(), PHP_EOL; }
API Endpoints
All URIs are relative to https://api.ecf.sandbox.pronesoft.com/api/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| AssociatedCompaniesApi | createAssociatedCompany | POST /associated-companies | Crear empresa asociada / sucursal |
| AssociatedCompaniesApi | deleteAssociatedCompany | DELETE /associated-companies/{companyId} | Eliminar empresa asociada |
| AssociatedCompaniesApi | getCompanyDocumentMetrics | GET /associated-companies/{companyId}/documents-metrics | Métricas de documentos de la empresa |
| AssociatedCompaniesApi | getCompanyMetrics | GET /associated-companies/{companyId}/metrics | Métricas de la empresa |
| AssociatedCompaniesApi | listAssociatedCompanies | GET /associated-companies | Listar empresas asociadas / sucursales |
| AssociatedCompaniesApi | updateAssociatedCompany | PUT /associated-companies/{companyId} | Actualizar empresa asociada |
| AuthenticationApi | getAccessToken | POST /oauth/token | Obtener token de acceso (OAuth 2.0) |
| AutomatedCertificationApi | downloadCertification | GET /dgii-ecf/automated-certification/{id}/download | Descargar ZIP de certificación |
| AutomatedCertificationApi | getCertificationStatus | GET /dgii-ecf/automated-certification/{id}/status | Estado del proceso de certificación |
| AutomatedCertificationApi | listCertificationNiches | GET /dgii-ecf/automated-certification/niches | Listar nichos de certificación |
| AutomatedCertificationApi | startCertification | POST /dgii-ecf/automated-certification/start | Iniciar proceso de certificación |
| CommercialApprovalsApi | getCommercialApprovalById | GET /documents/approvals/{id} | Obtener aprobación comercial por ID |
| CommercialApprovalsApi | listCommercialApprovals | GET /documents/approvals | Listar aprobaciones comerciales |
| DigitalCertificatesApi | uploadCertificate | POST /{rnc}/certificates | Subir certificado digital (P12/PFX) |
| DocumentsReceivedApi | getReceivedDocumentById | GET /documents/received/{id} | Obtener documento recibido por ID |
| DocumentsReceivedApi | getReceivedDocumentStatsBySupplier | GET /documents/received/stats/by-supplier | Top 10 proveedores por volumen de documentos recibidos |
| DocumentsReceivedApi | getReceivedDocumentStatsSummary | GET /documents/received/stats/summary | Estadísticas de documentos recibidos |
| DocumentsReceivedApi | listReceivedDocuments | GET /documents/received | Listar documentos recibidos |
| DocumentsSentApi | downloadSentDocumentXml | GET /documents/download | Descargar XML del documento |
| DocumentsSentApi | getSentDocumentById | GET /documents/{id} | Obtener detalle del documento |
| DocumentsSentApi | getSentDocumentLogs | GET /documents/logs/{id} | Logs de procesamiento del documento |
| DocumentsSentApi | getSentDocumentStats | GET /documents/stats/summary | Estadísticas de documentos enviados |
| DocumentsSentApi | getSentDocumentStatsByEnvironment | GET /documents/stats/by-environment | Estadísticas agrupadas por ambiente y estado |
| DocumentsSentApi | getSentDocumentStatusOptions | GET /documents/status-options | Opciones de filtro de estado disponibles |
| DocumentsSentApi | getSentDocumentXml | GET /documents/sent/{id}/xml | Descargar XML del documento por ID |
| DocumentsSentApi | listSentDocuments | GET /documents/sent | Listar documentos enviados |
| ECFSubmissionApi | getEcfStats | GET /{environment}/ecf/responses/stats | Obtener estadísticas de envíos (últimos 30 días) |
| ECFSubmissionApi | getEcfStatus | GET /{environment}/ecf/status/{id} | Consultar estado del documento por ID interno |
| ECFSubmissionApi | getEcfSubmissionHistory | GET /{environment}/ecf/responses/history | Historial de envíos (paginado) |
| ECFSubmissionApi | submitEcf | POST /{environment}/ecf/submit | Enviar documento e-CF a la DGII |
| ReportsApi | export606 | GET /dgii/606/export | Exportar Formato 606 (Compras) |
| ReportsApi | exportSentDocuments | GET /dgii/sent/export | Exportar reporte de documentos enviados |
| TaxSequencesApi | createTaxSequence | POST /tax-sequences/create | Crear nueva secuencia de NCF |
| TaxSequencesApi | getNextNumber | GET /tax-sequences/next | Obtener siguiente número fiscal disponible |
| TaxSequencesApi | listTaxSequences | GET /tax-sequences | Listar secuencias de NCF |
| TaxSequencesApi | updateTaxSequence | PATCH /tax-sequences/update | Actualizar secuencia de NCF |
| TaxSequencesApi | voidTaxSequence | POST /tax-sequences/void | Anular rango de números fiscales |
| WebhookConfigurationApi | getWebhook | GET /{rnc}/webhooks/{webhookId} | Detalle de un webhook |
| WebhookConfigurationApi | getWebhookStats | GET /{rnc}/webhooks/{webhookId}/stats | Estadísticas de entregas del webhook |
| WebhookConfigurationApi | listWebhooks | GET /{rnc}/webhooks | Listar configuraciones de webhooks |
Models
- AccountType
- AdditionalInfo
- AdditionalTax
- AlternativeCurrency
- ApprovalItem
- ApprovalListResponse
- AssociatedCompany
- AssociatedCompanySubscription
- AssociatedCompanySubscriptionPlan
- BillingIndicator
- BillingInvoiceReadyPayload
- BranchCreatedPayload
- BranchStatusChangedPayload
- Buyer
- CertificateExpiringPayload
- CertificationCompletedPayload
- CertificationNiche
- CertificationNicheNicheItemsInner
- CertificationStatus
- CommercialApprovalPayload
- CompanyDocumentMetrics
- CompanyDocumentMetricsGroupByStatusInner
- CompanyDocumentMetricsGroupByStatusInnerCount
- CompanyDocumentMetricsMainBusiness
- CompanyDocumentMetricsTotals
- CompanyMetrics
- CompanyMetricsDocumentsStatus
- ContingencyActivatedPayload
- CreateAssociatedCompany201Response
- CreateTaxSequence201Response
- CreateTaxSequenceRequest
- DeleteAssociatedCompany200Response
- DgiiMessage
- DiscountOrSurcharge
- DocumentReceivedPayload
- DocumentStatsResponse
- DocumentStatsResponseByStatusValue
- DocumentStatus
- DocumentStatusChangedPayload
- DocumentValidationErrorPayload
- EcfHistoryItem
- EcfStatsResponse
- EcfStatusResponse
- EcfSubmitResponse
- EcfSubmitResponseCompanyIdentification
- ElectronicDocument
- Environment
- ErrorResponse
- GetEcfSubmissionHistory200Response
- GetNextNumber200Response
- GetNextNumber200ResponseData
- GetReceivedDocumentStatsBySupplier200ResponseInner
- GetSentDocumentLogs200ResponseInner
- GetSentDocumentStatusOptions200ResponseInner
- InvoiceType
- InvoiceTypeSequence
- Item
- ItemAdditionalTax
- ItemAlternativeCurrency
- ItemAmount
- ItemCodesInner
- ItemDiscountInner
- ItemMiningInfo
- ItemQuantity
- ItemSurchargeInner
- ItemUnitPrice
- ItemWithheldITBISAmount
- LegalStatus
- ListTaxSequences200Response
- MemberInvitedPayload
- MemberJoinedPayload
- MemberRemovedPayload
- OAuthTokenRequest
- OAuthTokenResponse
- Page
- PaginationMeta
- PaymentForm
- PaymentMethod
- PlanPaymentFailedPayload
- PlanUsageAlertPayload
- PrintFormat
- ProcessingLog
- PublicDocumentStatus
- RateLimitErrorResponse
- ReceivedDocument
- ReceivedDocumentListResponse
- ReceivedDocumentStatsResponse
- ReferenceInfo
- SecurityApiKeyRotatedPayload
- SecurityNewLoginPayload
- SentDocumentDetail
- SentDocumentListResponse
- SentDocumentSummary
- SentDocumentSummaryBusiness
- SequenceDepletedPayload
- SequenceVoidedPayload
- StartCertification200Response
- StartCertificationRequest
- Subquantity
- Subtotal
- TaxSequence
- TaxSequenceCreated
- Totals
- TotalsItbisRate1
- TotalsItbisRate2
- TotalsItbisRate3
- TotalsTotalAmount
- Transport
- UpdateTaxSequenceRequest
- UploadCertificateResponse
- VoidTaxSequence200Response
- VoidTaxSequence200ResponseData
- VoidTaxSequenceRequest
- WebhookConfigDetail
- WebhookConfigResponse
- WebhookEventType
- WebhookNotificationPayload
- WebhookNotificationPayloadData
- WebhookStats
- WebhookStatsStats
Authorization
Authentication schemes defined for the API:
bearerAuth
- Type: Bearer authentication (JWT)
oauth2
- Type:
OAuth - Flow:
application - Authorization URL: ``
- Scopes:
- business:read: Consultar datos de la empresa.
- business:create: Crear una nueva empresa.
- business:update: Actualizar datos de la empresa.
- members:read: Ver miembros del equipo.
- members:invite: Invitar nuevos miembros.
- members:revoke: Revocar acceso de miembros.
- certificates:read: Ver certificados digitales.
- certificates:upload: Subir nuevos certificados.
- certificates:update: Actualizar certificados existentes.
- documents:read: Listar y consultar detalles de documentos.
- documents:create: Crear borradores o documentos internos.
- documents:send: Enviar e-CF a la DGII.
- documents:receive: Recibir e-CF de terceros.
- documents:update: Modificar metadatos de documentos.
- approvals:read: Ver estados de aprobación.
- approvals:commercial: Realizar aprobaciones o rechazos comerciales.
- sequences:read: Ver rangos de NCF/e-NCF.
- sequences:create: Solicitar o agregar nuevas secuencias.
- sequences:update: Modificar configuraciones de secuencias.
- sequences:cancel: Cancelar secuencias no utilizadas.
- business_info:read: Acceder a estadísticas y métricas del dashboard.
- certification:read: Ver progreso de certificación DGII.
- certification:write: Ejecutar pruebas de certificación automática DGII.
- reports:read: Generar y exportar reportes (ej. formato 606).
Tests
To run the tests, use:
composer install vendor/bin/phpunit
Author
About this package
This PHP package is automatically generated by the OpenAPI Generator project:
- API version:
1.2.0- Generator version:
7.21.0
- Generator version:
- Build package:
org.openapitools.codegen.languages.PhpClientCodegen
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 3
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: unlicense
- 更新时间: 2026-06-10