libredte_lib_sdk.billing.document.dispatcher module

Servicio para billing.document.dispatcher.

class libredte_lib_sdk.billing.document.dispatcher.DocumentDispatcherService(client: ApiClient)

Bases: object

Arma y valida el sobre EnvioDTE (billing.document.dispatcher).

create(document_xml_base64: str, *, certificate: Certificate, emisor: dict[str, Any]) DocumentEnvelope

Envuelve y firma un documento ya timbrado en un sobre EnvioDTE.

document_xml_base64 es el XML en base64 del documento a envolver — típicamente Document.xml_base64 de un documento ya timbrado y firmado (DocumentBuilderService.build_signed). El sobre resultante es lo que se envía al SII (SiiDteService.send).

emisor es un dict con rut/razon_social/ autorizacion_dte (esta última con fecha_resolucion/ numero_resolucion), tal como lo espera la API.

load_xml(xml_base64: str) DocumentEnvelope

Carga un sobre EnvioDTE ya existente desde su XML (base64).

Caso de uso típico: reprocesar un sobre ya guardado, o normalizar un DTE suelto recibido de un tercero (la API arma un sobre nuevo a partir de él).

validate(source: str) dict[str, Any]

Valida un sobre EnvioDTE ya construido (source, XML en base64).

Devuelve el XML del sobre, como dict (representación parseada, ej. EnvioDTE.SetDTE.Caratula…).

validate_schema(source: str) dict[str, Any]

Valida source contra el esquema XSD del sobre EnvioDTE.

validate_signature(source: str) list[dict[str, Any]]

Valida cada firma electrónica encontrada en el sobre.

Un sobre trae más de una firma (la del DTE y la del propio EnvioDTE) — devuelve una lista, un ítem por firma. Cada ítem es un dict vacío en caso de éxito.