libredte_lib_sdk.billing.trading_parties package

Submodules

Module contents

Componente billing.trading_parties: partes comerciales de un DTE.

class libredte_lib_sdk.billing.trading_parties.Certificate(certificate: str, private_key: str, rut: str | None = None, nombre: str | None = None, email: str | None = None, valid_from: datetime | None = None, valid_until: datetime | None = None, total_days: int | None = None, expiration_days: int | None = None, is_active: bool | None = None, issuer: str | None = None, modulus: str | None = None, exponent: str | None = None, chain: list[Any] | None = None, raw: dict[str, Any] | None = None)

Bases: object

Certificado digital (firma electrónica) de un mandatario/emisor.

certificate/private_key son los únicos campos obligatorios — lo único que la API necesita cuando un Certificate se usa como entrada (to_payload(), para build_signed(), dispatcher.create(), sii_dte.send(), etc.). El resto queda poblado cuando el Certificate viene de la API (create_fake_certificate(), system.certificate.loader::load()).

certificate/private_key van siempre en claro (PEM sin proteger): esta operación no acepta un PFX ni una clave protegida con contraseña. Si el certificado del emisor viene de un archivo .pfx, system.certificate.loader::load hace esa extracción.

certificate: str
chain: list[Any] | None
email: str | None
expiration_days: int | None
exponent: str | None
classmethod from_api(data: dict[str, Any]) Certificate

Construye un Certificate desde el data que devuelve la API.

Cubre tanto createFakeCertificate como system.certificate .loader::load — ambas entregan el mismo shape completo (cert/ pkey + metadatos). Los campos ausentes quedan en None.

is_active: bool | None
issuer: str | None
modulus: str | None
nombre: str | None
private_key: str
raw: dict[str, Any] | None
rut: str | None
to_payload() dict[str, Any]

Payload esperado por la API para un certificado.

total_days: int | None
valid_from: datetime | None
valid_until: datetime | None
class libredte_lib_sdk.billing.trading_parties.Mandatario(rut: str, nombre: str, email: str | None = None)

Bases: object

Mandatario (representante) dueño de un certificado digital.

email: str | None
classmethod from_api(data: dict[str, Any]) Mandatario

Construye un Mandatario desde el data que devuelve la API.

nombre: str
rut: str
to_payload() dict[str, Any]

Payload esperado por la API para un mandatario.

class libredte_lib_sdk.billing.trading_parties.MandatarioManagerService(client: ApiClient)

Bases: object

Gestión del mandatario (representante) dueño de un certificado.

create_fake_certificate() genera un certificado ficticio para pruebas/desarrollo; create_from_certificate() hace el camino inverso, extrayendo el mandatario (RUT/nombre/correo) desde un certificado real ya cargado (ver system.certificate.loader::load).

create_fake_certificate(mandatario: Mandatario) Certificate

Genera un certificado digital ficticio para mandatario.

Únicamente para pruebas/desarrollo: el certificado resultante es autofirmado por una CA de prueba de LibreDTE, no sirve para autenticar de verdad ante el SII. El Certificate resultante ya viene con el RUT/nombre/correo/vigencia poblados.

create_from_certificate(certificate: Certificate) Mandatario

Extrae el mandatario dueño de certificate (RUT/nombre/correo).

class libredte_lib_sdk.billing.trading_parties.TradingPartiesComponent(client: ApiClient)

Bases: object

Agrupa los servicios de billing.trading_parties.