libredte_lib_sdk.billing.document.dispatcher module
Servicio para billing.document.dispatcher.
- class libredte_lib_sdk.billing.document.dispatcher.DocumentDispatcherService(client: ApiClient)
Bases:
objectArma y valida el sobre EnvioDTE (billing.document.dispatcher).
- create(bag: DocumentBag) DocumentEnvelope
Envuelve y firma un documento ya timbrado en un sobre EnvioDTE.
bag es el DocumentBag ya timbrado y firmado que devuelve DocumentBuilderService.build_signed() — trae certificate/ emisor incluidos, no hace falta pasarlos aparte. El sobre resultante es lo que se envía al SII (SiiDteService.send).
- create_many(bags: Sequence[DocumentBag]) DocumentEnvelope
Envuelve y firma 2+ documentos ya timbrados en un sobre EnvioDTE.
Igual que create(), pero para un sobre que agrupa más de un documento — cada DocumentBag trae su propio certificate/ emisor. El sobre resultante queda firmado con el certificado del PRIMER DocumentBag (el sobre en sí también se firma, no solo cada documento).
- load_xml(xml_base64: str) DocumentEnvelope
Carga un sobre EnvioDTE ya existente desde su XML (base64).
El DocumentEnvelope resultante trae en documents una bolsa por cada documento tributario que el sobre agrupaba — uno o más — y en caratula los datos de la carátula ya presente en ese XML.
- 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.