libredte_lib_sdk.billing.exchange package

Submodules

Module contents

Componente billing.exchange: respuesta al intercambio de DTE.

class libredte_lib_sdk.billing.exchange.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.

class libredte_lib_sdk.billing.exchange.EnvioRecibos(datos: dict[str, Any], xml_base64: str)

Bases: XmlPayloadMixin

XML EnvioRecibos construido (document_response::buildEnvioRecibos).

Recibo de mercaderías o servicios prestados por un proveedor. datos es la estructura ya parseada, xml_base64 el XML completo — permite encadenar a validate_schema/validate_signature.

datos: dict[str, Any]
classmethod from_api(data: dict[str, Any]) EnvioRecibos

Construye un EnvioRecibos desde el data que devuelve la API.

xml_base64: str
class libredte_lib_sdk.billing.exchange.ExchangeComponent(client: ApiClient)

Bases: object

Agrupa los servicios de billing.exchange.

class libredte_lib_sdk.billing.exchange.RespuestaEnvio(datos: dict[str, Any], xml_base64: str)

Bases: XmlPayloadMixin

XML RespuestaDTE construido (document_response::buildRespuestaEnvio).

Acuse de recibo del envío (RecepcionEnvio) o resultado de validación por documento (ResultadoDTE), según los datos entregados.

datos: dict[str, Any]
classmethod from_api(data: dict[str, Any]) RespuestaEnvio

Construye un RespuestaEnvio desde el data de la API.

xml_base64: str