almeira-web/facturacion-dian-hub/backend/src/domain/ports/IDianClient.ts

31 lines
859 B
TypeScript

import { EstadoFacturaDian } from '../value-objects/FiscalEnums.js';
export interface DianNotificacionRegla {
codigo: string;
mensaje: string;
}
export interface RespuestaEnvioDian {
esValido: boolean;
estado: EstadoFacturaDian;
codigoRespuesta: string;
descripcion: string;
trackId?: string;
xmlRespuestaDian?: string;
notificaciones: DianNotificacionRegla[];
}
export interface IDianClient {
enviarDocumentoSincronico(xmlFirmado: string, nombreArchivo: string): Promise<RespuestaEnvioDian>;
consultarEstadoDocumento(trackId: string): Promise<RespuestaEnvioDian>;
}
export interface IXmlSigner {
firmarXadesBes(xmlRaw: string, p12Buffer?: Buffer, contrasenaP12?: string): Promise<string>;
}
export interface IQrGenerator {
generarDataUrl(contenido: string): Promise<string>;
generarSvg(contenido: string): Promise<string>;
}