libredte_lib_sdk.client module

Cliente HTTP delgado para la API de LibreDTE Lib (core.libredte.cl).

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

Bases: object

Despacha operaciones contra la API de LibreDTE Lib.

Traduce un operation_id con el formato paquete.componente.worker::operacion (el mismo que usa libredte-lib-core-dispatcher) a la ruta HTTP equivalente: POST /{paquete}/{componente}/{worker}/{operacion}.

No sabe nada de DTE ni de reglas de negocio: solo hace la llamada HTTP y normaliza la respuesta (el data del sobre JSON en éxito, los bytes crudos si la respuesta no es JSON, o una excepción tipada si la API respondió un error). La orquestación vive en billing/*/*.py.

Por defecto apunta a core.libredte.cl. Es configurable (base_url o la variable de entorno LIBREDTE_LIB_SDK_BASE_URL) para apuntar a pro.libredte.cl u otro ambiente.

call(operation_id: str, **parameters: Any) Any

Ejecuta operation_id con parameters y devuelve su resultado.

parameters se manda tal cual como el objeto parameters del body JSON que espera la API (ej. bag=…, request=…).

close() None

Cierra la conexión HTTP, si este cliente es dueño de ella.