Descargar el XML o el PDF de un DTE
Devuelve el XML firmado o el PDF de un DTE como base64. Para consumo programático (REST/SDK). En conversación prefiere notta.dte.reenviar: el base64 de un PDF es inmanejable en chat. Un documento recién emitido todavía no está firmado: hasta que lo esté, la descarga falla de forma reintentable.
API key de la organización, en 'Authorization: Bearer connect_sk_…'. Es la credencial para tu backend y tus agentes propios; se crea en el dashboard con permisos explícitos y su valor completo se muestra una sola vez. Autentica como agente: la bitácora atribuye la acción a la clave, nunca a la persona que la creó.
In: header
Header Parameters
Cuál conexión (conn_…) ejecuta esta llamada. Obligatoria en todo sistema conectable y sin resolución implícita, ni siquiera cuando la organización tiene una sola conexión activa: la conexión ES la empresa, y elegir por ti una que hoy acierta mañana acierta distinto sin que nadie cambie nada. Los ids salen de la tool 'conexiones.estado.consultar'. Si falta, la respuesta es 'validation_error' y no se contacta al sistema externo.
^conn_Request Body
application/json
La entrada de la tool, envuelta en 'input'. Manda '{"input": {}}' cuando la tool no toma argumentos: el sobre es obligatorio aunque esté vacío.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/tools/notta.dte.descargar/execute" \ -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \ -H "Content-Type: application/json" \ -d '{ "input": { "id": "string", "formato": "xml" } }'{ "data": { "contenido_base64": "string", "content_type": "string" }, "meta": { "request_id": "string", "tool_id": "string", "plane": "action", "latency_ms": 0, "audit_status": "recorded", "idempotency": "replayed" }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}Consultar un DTE POST
Consulta el estado actual de un DTE en Notta por su id. Es el seguimiento del flujo asíncrono que abre notta.dte.emitir: el estado avanza de 'queued' a 'EPR' (aceptado por el SII) o a un rechazo terminal (RFR/RCT/RSC), y en ese caso sii_glosa trae el motivo que dio el SII. Devuelve también folio, montos calculados y ambiente SII.
Emitir DTE (factura o nota) POST
Emite un DTE ante el SII vía Notta: factura afecta (33), exenta (34), nota de débito (56) o nota de crédito (61, que exige references[] al documento original, y este solo puede ser una factura 33 o 34). Cada item declara si es exento y su monto_item (cantidad × precio_unitario, ya con el descuento de la línea aplicado); los TOTALES del documento (neto, exento, IVA, total) los calcula Notta. Las NOTAS (56/61) exigen además rut_emisor (el RUT de la empresa de esta conexión, que Notta no deriva en esa ruta) y la nota de débito (56) exige nd_reason; a cambio, no llevan forma_pago ni descuento_global. La emisión es ASÍNCRONA: esta llamada devuelve el documento con folio asignado y estado 'queued'; haz el seguimiento con notta.dte.consultar hasta EPR (aceptado) o un rechazo. Si un intento anterior falló por transporte o timeout, revisa los documentos RECIENTES con notta.dte.listar antes de reintentar, para no duplicar. Con correo_receptor, Notta envía el PDF+XML al receptor cuando el SII acepta.