libredte_lib_sdk.billing.document.renderer module
Servicio para billing.document.renderer.
- class libredte_lib_sdk.billing.document.renderer.DocumentRendererService(client: ApiClient)
Bases:
objectRenderiza un documento tributario (billing.document.renderer).
Soporta format=”html” y format=”pdf”. La API devuelve siempre data.renderings, una lista de archivos en base64 — ver RenderResult/RenderedDocument en models.py.
- render(document_xml_base64: str, *, format: str = 'pdf', renderings: dict[str, int] | None = None, libredte_data: dict[str, Any] | None = None) RenderResult
Genera el PDF (u otro formato soportado por la API) de un documento.
Sirve tanto para un borrador como para un documento ya timbrado y firmado: el resultado depende solo del XML que se le pase (ej. DocumentBag.xml_base64).
Sin renderings, la API genera una única copia “tributaria” (comportamiento por defecto). renderings pide presentaciones y cantidad de copias de cada una — ej. {“tributaria”: 1, “cedible”: 1} — y la API rechaza (LibreDteApiError, 500) una presentación que no existe, o si ninguna de las pedidas pudo generarse (ej. pedir solo “cedible” para un tipo de documento sin acuse de recibo). Ver RenderResult para cómo se identifica cada copia en la respuesta.
libredte_data son datos adicionales que no están en el XML del documento pero sí se usan al renderizar la plantilla — ej. {“extra”: {“dte”: {…}, “historial”: […]}}: lo que va en extra.dte se combina con los datos del documento antes de renderizar; el resto de extra (ej. historial) queda disponible aparte para la plantilla.