Generar PDF a partir del XML del DTE

Generar PDF de un DTE a partir de su XML firmado en base64.

POST /api/v1/vendemas/dte/documentos/pdf
import requests
 
headers = {
    "X-API-Token": "sk_live_replace_with_your_token",
}
 
response = requests.post(
    "https://api.fiscalbridge.cl/api/v1/vendemas/dte/documentos/pdf",
    headers=headers,
)
response.raise_for_status()
print(response.json())

Generar PDF de un DTE a partir de su XML firmado en base64.

Parsea el XML DTE, extrae los datos del documento y construye un PDF con reportlab siguiendo el formato tributario chileno estandar. Operacion puramente local — no requiere llamadas al SII.

Autenticacion requerida: API token en header X-API-Token con scope vendemas:read.

Quota: Consume 1 consulta | Peso: 2x


Parametros de consulta

ParametroTipoDefaultDescripcion
formatostringbase64base64 (JSON con metadata) o pdf (passthrough binario)

Body (JSON)

CampoTipoRequeridoDefaultDescripcion
xmlstringSiXML del DTE codificado en base64
cedibleboolNofalseIncluir copia cedible
copias_cediblesintNo1Numero de copias cedibles
copias_tributariasintNo1Numero de copias tributarias
layoutstringNogeneralLayout papel: general, carta, oficio, continuo
webVerificacionboolNofalseIncluir URL verificacion SII
footerobjectNonullFooter personalizado {left, right}
resolucionobjectNonullResolucion SII {numero, anio} para leyenda del timbre

Respuesta - formato base64 (200)

{
    "filename": "documento.pdf",
    "contentType": "application/pdf",
    "sizeBytes": 12345,
    "contentBase64": "JVBERi0xLjcK..."
}

Respuesta - formato pdf (200)

PDF binario con Content-Type: application/pdf y Content-Disposition: attachment.

Errores especificos

Codigoerror_codeCausaResolucion
400VALIDATION_ERRORxml faltante o mal formado (base64 invalido)Enviar XML firmado valido
401HTTP_401API token ausente o invalidoEnviar X-API-Token valido
422VALIDATION_ERRORBody con formato invalidoRevisar errors[]
429SII_RATE_LIMIT / QUOTA_EXCEEDEDRate limitRespetar Retry-After

Notas

  • El XML debe estar firmado (EnvioDTE o DTE individual).
  • Nota breaking change: el campo body formato se renombro a layout para liberar el nombre como query param.

El body acepta los siguientes campos::

{
    "xml": "base64_del_xml_dte...",         // obligatorio
    "cedible": false,                         // opcional
    "copias_cedibles": 1,                     // opcional
    "copias_tributarias": 1,                  // opcional
    "layout": "general",                      // opcional: general|carta|oficio|continuo
    "webVerificacion": false,                 // opcional
    "footer": {"left": "...", "right": "..."},// opcional
    "resolucion": {"numero": 0, "anio": 2024},// opcional
    "extra": {}                               // opcional
}

Args: body: Request body con xml (base64) y opciones de renderizacion. formato: Query param para elegir el transporte de la respuesta (:class:DownloadFormato.BASE64 default o :class:DownloadFormato.RAW).

Returns: :class:FileBase64Response si formato=base64, o :class:Response binario con Content-Type: application/pdf si formato=raw.

Raises: ValueError: Si falta el campo xml o el base64 / XML son invalidos.

Parámetros

Header / Body
Tipo
Descripción
Requerido
formato
any · query
base64 (default, JSON) o pdf (binary PDF)
No

Respuestas

200PDF del DTE. `formato=base64` JSON con `FileBase64Response`; `formato=pdf` PDF binario.
400XML invalido o parametros incorrectos
401API token ausente o invalido
403Sin scope `vendemas:read` o cuenta bloqueada
422Body con formato invalido
429Limite de tasa excedido

On this page