UNPKG

@facturacr/atv-sdk

Version:

Librería (SDK) de Javascript/NodeJS para acceder al API de Administración Tributaria Virtual (ATV) del Ministerio de Hacienda.

41 lines (38 loc) 1.37 kB
import { consecutivoStr } from '@src/lib/genClave' import { parseElectronicBillXML, genXML } from '@src/lib/genXML/index' import { send } from '@src/services/send/index' import { getFinalMessage, getMsjObj } from '@src/lib/genJSON/confirmXML' function getConsecutivoStr(opts: any): string { return consecutivoStr({ sucursal: opts.consecutivo.sucursal, terminal: opts.consecutivo.terminal, tipoDocKey: opts.tipoDocKey, consecutivo: opts.consecutivo.consecutivo }) } export default async (opts: { token: string; tipoDocKey: string; consecutivo: any; xmlStr: string; pemOpt: any; }): Promise<any> => { const { token, pemOpt, tipoDocKey } = opts const consecutivo = getConsecutivoStr(opts) const fullInvoice = parseElectronicBillXML(opts.xmlStr) const msjObj = getMsjObj({ fullInvoice, consecutivo, tipoDocKey }) const xmlBase64 = await genXML(tipoDocKey, msjObj, { buffer: pemOpt.buffer, password: pemOpt.password, base64: true }) const finalMesage = getFinalMessage(fullInvoice, consecutivo, xmlBase64) return send(token, finalMesage).catch((err) => { const response = err.response || {} const header = response.headers || {} const data = response.data = {} console.log('status', response.status) console.log('data', data) console.log('x-error-cause', header['x-error-cause']) }) }