libredte_lib_sdk.billing.identifier package
Submodules
Module contents
Componente billing.identifier: folios de documentos tributarios.
- class libredte_lib_sdk.billing.identifier.Caf(tipo_documento: int, folio_desde: int, folio_hasta: int, xml_base64: str, raw: dict[str, Any])
Bases:
XmlPayloadMixinCAF (Código de Autorización de Folios) de un emisor.
Expone los campos más usados directamente; .raw trae el dict completo que devuelve la API (incluye además, entre otros, la llave RSA del CAF y si está vigente) por si algo más específico hace falta más adelante.
- folio_desde: int
- folio_hasta: int
- raw: dict[str, Any]
- tipo_documento: int
- xml_base64: str
- class libredte_lib_sdk.billing.identifier.CafFakerService(client: ApiClient)
Bases:
objectGenera CAF ficticios (billing.identifier.caf_faker::create).
Solo para pruebas/desarrollo: el CAF resultante no está autorizado de verdad por el SII, pero permite ejercitar el timbrado/firma de un documento sin depender de un folio real.
- create(emisor: dict[str, Any], *, codigo_documento: int, folio_desde: int = 1, folio_hasta: int | None = None) Caf
Genera un CAF ficticio para emisor y codigo_documento.
emisor es un dict con rut/razon_social, tal como lo espera la API. folio_hasta por defecto cubre solo folio_desde (un único folio), igual que hace la API.
- class libredte_lib_sdk.billing.identifier.CafLoaderService(client: ApiClient)
Bases:
objectCarga un CAF real (billing.identifier.caf_loader::load).
Carga el XML de un CAF real (el que el SII le entrega al emisor) y lo entrega como Caf, con su folio/vigencia ya resueltos.
- class libredte_lib_sdk.billing.identifier.CafValidatorService(client: ApiClient)
Bases:
objectValida un CAF (billing.identifier.caf_validator::validate).
Valida la firma y las llaves públicas/privadas asociadas al CAF.
- validate(caf_xml_base64: str) Caf
Valida el CAF cuyo XML (en base64) es caf_xml_base64.
La API espera el mismo XML en base64 que CafLoaderService.load (el parámetro de la operación se llama caf, no xml, pero es el mismo dato). Devuelve el Caf ya validado si es válido; levanta LibreDteApiError si no lo es.