@integradte/sdk
v0.3.1
Published
SDK Node.js/TypeScript para la API de IntegraDTE con arquitectura hexagonal
Maintainers
Readme
@integradte/sdk
SDK en Node.js + TypeScript para consumir la API de IntegraDTE, siguiendo arquitectura hexagonal.
Instalacion
npm install @integradte/sdkEstructura
src/domain: modelos y estructuras DTEsrc/ports: contrato del API clientsrc/application: capa de serviciosrc/adapters/httpintegra: adapter HTTP concreto
Uso recomendado
import { Client, Service, encodeDataDTE } from '@integradte/sdk';
const adapter = new Client({
apiKey: 'TU_X_API_KEY'
});
const service = new Service(adapter);
const dataDTE = encodeDataDTE({
Encabezado: {
IdDoc: {
TipoDTE: 33,
FchEmis: '2026-02-03'
}
}
});
const response = await service.createDocument({
code_sii: '33',
data_dte: dataDTE,
idempotencyKey: 'mi-idempotency-key-1'
});
console.log(response);Construir data_dte con tipos
Incluye tipos completos para:
Dte33DataDte34DataDte39DataDte41DataDte46DataDte52DataDte56DataDte61Data
Y builders:
dte33ToRequestdte34ToRequestdte39ToRequestdte41ToRequestdte46ToRequestdte52ToRequestdte56ToRequestdte61ToRequest
Endpoints implementados
createDocumentgetDocumentgetDocumentStatscreateCessiongeneratePDFcreateBusinessupdateBusinessuploadCertificategetCertificateInfogetMecreatePurchasegetNumerationSummarygetLastUsedFoliouploadNumerationdeleteNumeration
Scripts
pnpm build
pnpm test
pnpm typecheckVersionado y releases
El repo usa release-please con el workflow ./.github/workflows/release.yml:
- Al hacer push a
main, crea/actualiza un PR de release. - Al mergear ese PR, crea tag + GitHub Release.
- Cuando la release se crea, publica automáticamente en npm.
Para que funcione:
- Debes usar Conventional Commits (
feat:,fix:,feat!:oBREAKING CHANGE:). - Debes tener el secret
NPM_TOKENconfigurado en GitHub.
