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, auth_scheme: str | None = None, timeout: float = 30.0, http_client: Client | None = None)
Bases:
objectDespacha 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.
- property base_url: str
URL base configurada (core.libredte.cl, pro.libredte.cl).
- 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=…).
- call_response(operation_id: str, **parameters: Any) ApiResponse
Igual que call(), pero entrega también la clase PHP del resultado.
Es lo que usan los servicios que construyen el DTO a partir de la clase que informa la API (ver response_registry).
- close() None
Cierra la conexión HTTP, si este cliente es dueño de ella.
- class libredte_lib_sdk.client.ApiResponse(data_type: str | None, data: Any)
Bases:
objectRespuesta exitosa de una operación.
data_type es la clase PHP del resultado, tal como la informa la API en meta.data_type (“array” para listas); None si no la informó o si la respuesta no es JSON. data es el data del sobre JSON, o los bytes crudos si la respuesta no es JSON.
- data: Any
- data_type: str | None