UNPKG

@grod30/hacienda-js

Version:

Biblioteca TypeScript para facturación electrónica de Costa Rica (Hacienda)

44 lines (39 loc) 1.5 kB
interface HaciendaConfig { /** URL base del API de Hacienda */ apiUrl: string; /** ID del cliente para autenticación */ clientId: string; /** Ambiente (desarrollo o producción) */ environment: 'desarrollo' | 'produccion'; } interface SignatureOptions { /** Ruta al archivo del certificado .p12 o .pem */ certPath: string; /** Contraseña del certificado */ password: string; /** Tipo de certificado */ certType: 'p12' | 'pem'; } interface DocumentResponse { /** Clave del documento */ clave: string; /** Fecha de recepción */ fecha: string; /** Estado del documento */ estado: 'aceptado' | 'rechazado' | 'procesando'; /** Mensaje de respuesta */ mensaje?: string; } declare function signXml(xml: string, options: SignatureOptions): Promise<string>; declare class HaciendaAPI { private config; private token?; constructor(config: HaciendaConfig); getToken(username: string, password: string): Promise<string>; protected validateToken(token?: string): string; protected makeRequest<T>(method: 'get' | 'post', url: string, data?: any, token?: string): Promise<T>; sendDocument(documentXml: string, token?: string): Promise<DocumentResponse>; checkStatus(clave: string, token?: string): Promise<DocumentResponse>; } declare const validateXml: (xml: string) => boolean; export { type DocumentResponse, HaciendaAPI, type HaciendaConfig, type SignatureOptions, signXml, validateXml };