SDK Java / Android
SDK para Java con soporte completo para Android (API 21+). Usa un patrón Builder para la creación del cliente y OkHttp como cliente HTTP.
Instalación
Maven:
xml
<dependency><groupId>do.com.ssd.ecfx</groupId><artifactId>ecf-dgii-sdk-java</artifactId><version>1.0.0</version></dependency>
Gradle:
typescript
implementation 'do.com.ssd.ecfx:ecf-dgii-sdk-java:1.0.0'
Uso rápido
python
import com.ssd.ecfx.EcfClient;EcfClient client = new EcfClient.Builder().baseUrl("https://api.test.ecfx.ssd.com.do").apiKey("tu-api-key") // o usa ECF_DGII_API_KEY env var.build();// Enviar ECF con polling automáticoEcfResponse result = client.sendEcf("rnc-empresa", ecfData);System.out.println(result.getImpresionUrl());System.out.println(result.getCodSec());System.out.println(result.getFechaFirma());
Configuración de Polling
java
EcfClient client = new EcfClient.Builder().baseUrl("https://api.prod.ecfx.ssd.com.do").apiKey("tu-api-key").pollingMaxDurationMs(120000) // Timeout: 120 segundos (default).pollingIntervalMs(1000) // Intervalo: 1 segundo (default).build();
Cliente Frontend
El EcfFrontendClient proporciona acceso de solo lectura con cache de token cifrado en disco por defecto.
python
import com.ssd.ecfx.EcfFrontendClient;EcfFrontendClient frontend = new EcfFrontendClient.Builder().baseUrl("https://api.prod.ecfx.ssd.com.do").getToken(() -> fetchTokenFromBackend()).build();// Consultar estadoEcfStatus status = frontend.getEcfStatus("track-id");
Compilar desde fuente
bash
./mvnw clean install
Android: El SDK es compatible con Android API 21+. Usa OkHttp y ThreeTenBP para máxima compatibilidad.