libredte_lib_sdk.billing.exchange.document_response module
Servicio para billing.exchange.document_response.
- class libredte_lib_sdk.billing.exchange.document_response.DocumentResponseService(client: ApiClient)
Bases:
objectGenera los XML de respuesta al intercambio de DTE.
Cubre EnvioRecibos (recibo de mercaderías o servicios) y RespuestaDTE (acuse de recibo del envío o resultado de validación).
- build_envio_recibos(recibos: list[dict[str, Any]], *, caratula: dict[str, Any], certificate: Certificate) EnvioRecibos
Construye el XML EnvioRecibos firmado.
recibos es la lista de recibos tal cual el formato SII (cada uno con TipoDoc/Folio/FchEmis/RUTEmisor/RUTRecep/ MntTotal/Recinto, y opcionalmente RutFirma/Declaracion). caratula trae RutResponde/RutRecibe.
- build_respuesta_envio(data: dict[str, Any], *, caratula: dict[str, Any], certificate: Certificate) RespuestaEnvio
Construye el XML RespuestaDTE firmado.
data trae recepcion_envio o resultado_dte (listas), tal cual el formato SII. caratula trae RutResponde/RutRecibe/ IdRespuesta.
- validate_schema(source: str) dict[str, Any]
Valida source contra el esquema XSD del documento de respuesta.
source es el XML del documento de respuesta, en base64.
- validate_signature(source: str) list[dict[str, Any]]
Valida cada firma electrónica del documento de respuesta.
EnvioRecibos trae múltiples firmas (una por recibo, más la del SetRecibos); RespuestaDTE trae solo la del nodo Resultado. En ambos casos se devuelve una lista, un ítem por firma.