UNPKG

envio-comprobantes-sri

Version:

Envia comprobantes electronicos al SRI (Ecuador). Recibe un objeto JSON. Lo convierte a XML, lo firma, lo envía al servicio web del SRI y devuelve la respuesta.

37 lines (36 loc) 1.57 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebServiceSRIError = void 0; const xml_handler_1 = __importDefault(require("../Utils/xml-handler")); function parseWebServiceResponse(response_xml, step, xml_envelope) { const xml = new xml_handler_1.default(response_xml); if (!xml.isXMLEnvelope()) throw new Error("Documento inválido (Debe ser un documento XML Envelope)."); if (xml.getTextValue("tipo") === "ERROR") throw new WebServiceSRIError(xml.getTextValue("estado"), xml.childrenOf("mensajes").map(node => ({ additional_info: xml_handler_1.default.getTextValue(node, "informacionAdicional"), code: xml_handler_1.default.getTextValue(node, "identificador"), message: xml_handler_1.default.getTextValue(node, "mensaje") })), step, response_xml, xml_envelope); return xml; } exports.default = parseWebServiceResponse; class WebServiceSRIError extends Error { document_status; error_list; step; raw_response; raw_request; constructor(document_status, error_list, step, raw_response, raw_request) { super(error_list[0]?.message || ""); this.document_status = document_status; this.error_list = error_list; this.step = step; this.raw_response = raw_response; this.raw_request = raw_request; } } exports.WebServiceSRIError = WebServiceSRIError;