com.gaumala.sri.decoders
Funciones para decodificar las respuestas XML de los web services del SRI.
respuesta-autorizacion-comprobante
(respuesta-autorizacion-comprobante xml-string)Decodifica la respuesta SOAP xml-string del web service autorizacionComprobante. El resultado es un mapa con los campos del tipo RespuestaAutorizacionComprobante (spec :sri.respuestas/RespuestaAutorizacionComprobante).
Si la respuesta no logra ser decodificada correctamente, devuelve nil.
(-> (slurp "./respuesta_error.xml")
(respuesta-autorizacion-comprobante))
;; => {:claveAccesoConsultada "0710202401179214673900110020010000000011234567810"
;; :numeroComprobantes "1"
;; :autorizaciones [{:estado "NO AUTORIZADO"
;; :fechaAutorizacion "2024-10-07T13:48:46-05:00"
;; :ambiente "PRUEBAS"
;; :comprobante "<?xml version="1.0" encoding="UTF-8"..."
;; :mensajes [{:identificador "56"
;; :mensaje "ERROR ESTABLECIMIENTO CERRADO"
;; :informacionAdicional "El establecimiento 002 está cerrado"
;; :tipo "ERROR"}]}]}
respuesta-recepcion-comprobante
(respuesta-recepcion-comprobante xml-string)Decodifica la respuesta SOAP xml-string del web service validarComprobante. El resultado es un mapa con los campos del tipo RespuestaRecepcionComprobante(spec :sri.respuestas/RespuestaRecepcionComprobante).
Si la respuesta no logra ser decodificada correctamente, devuelve nil.
(-> (slurp "./respuesta_error.xml")
(respuesta-recepcion-comprobante))
;; => {:estado "DEVUELTA"
;; :mensajes [{:identificador "35"
;; :mensaje "ARCHIVO NO CUMPLE ESTRUCTURA XML"
;; :informacionAdicional "No existe un contribuyente registrado con el RUC 1704476523001"
;; :tipo "ERROR"}]}