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: object

Genera 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.