libredte_lib_sdk package

Subpackages

Submodules

Module contents

SDK Python para la API de LibreDTE Lib (facturación electrónica Chile).

Expone LibreDTE, el punto de entrada del SDK (sdk = LibreDTE()). DTO, servicios, componentes, excepciones y ApiClient se importan desde su propio módulo (billing.document, billing.trading_parties, system.repository, human_resources.payroll, exceptions, client, etc.).

class libredte_lib_sdk.LibreDTE(base_url: str | None = None, *, api_token: str | None = None, timeout: float = 30.0, http_client: Client | None = None)

Bases: object

Fachada del SDK: agrupa los paquetes de la API.

billing/system funcionan contra cualquier instancia; human_ resources solo existe en Lib Pro (ver HumanResourcesPackage).

Uso típico (ver README.rst para el detalle de cada DTO):

sdk = LibreDTE()
doc, ident, tp, sii = (
    sdk.billing.document,
    sdk.billing.identifier,
    sdk.billing.trading_parties,
    sdk.billing.integration,
)

borrador = doc.builder.build_draft(parsed_data)

caf = ident.caf_faker.create(emisor, codigo_documento=33)
certificate = tp.mandatario_manager.create_fake_certificate(
    mandatario,
)
documento = doc.builder.build_signed(
    parsed_data, caf_xml=caf.xml_base64, certificate=certificate,
)
sobre = doc.dispatcher.create(
    documento.xml_base64, certificate=certificate, emisor=emisor_dto,
)
envio = sii.sii_dte.send(
    sobre.xml_base64, certificate=certificate, company_rut=rut,
)
estado = sii.sii_dte.check_status(
    envio.track_id, certificate=certificate, company_rut=rut,
)

pdf = doc.renderer.render(documento.xml_base64).first
pdf_bytes = pdf.content_bytes
close() None

Cierra la conexión HTTP subyacente.