Emisso Connect

Previsualizar un documento antes de emitirlo

Ensaya una emisión sin emitir: NO firma, NO pide folio, NO llega al SII, NO le manda correo a nadie y NO consume cuota. Toma EXACTAMENTE el mismo input que notta.dte.emitir y lo valida con el mismo esquema, así que un resultado OK significa que la emisión no va a fallar por el payload. Devuelve tres cosas que sólo se saben así: 'totales', calculados por el mismo código que firma el documento (cítalos, no los recalcules); 'aprobacion_humana.requerida', que dice si emitir AHORA dejaría el documento esperando a una persona por el umbral de la empresa en vez de emitirlo; y 'url', el borrador en Notta con el PDF como se va a imprimir, para que la persona apruebe el documento y no tu resumen (pide sesión de Notta: NO se lo mandes al receptor). Úsala antes de emitir cuando el monto importe o cuando el usuario vaya a revisar. Lo que NO comprueba viene listado en 'no_verificado', y lo más caro de esa lista es si el SII le autorizó ese tipo de documento a esta empresa en producción: eso sólo se sabe intentando emitir. Cada llamada deja un borrador NUEVO en Notta y hay un tope por minuto, así que no la repitas sin cambiar nada.

POST
/v1/tools/notta.dte.previsualizar/execute
AuthorizationBearer <token>

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

X-Connect-Connection*string

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.

Match^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.previsualizar/execute" \  -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \  -H "Content-Type: application/json" \  -d '{    "input": {      "tipo_dte": 33,      "receptor": {        "rut": "string",        "razon_social": "string"      },      "fecha_emision": "string",      "items": [        {          "nombre": "string",          "cantidad": -9007199254740991,          "precio_unitario": -9007199254740991,          "exento": true,          "monto_item": -9007199254740991        }      ]    }  }'
{  "data": {    "borrador_id": "string",    "url": "string",    "tipo_dte": -9007199254740991,    "fecha_emision": "string",    "sii_env": "string",    "emisor": {      "rut": "string",      "razon_social": "string"    },    "receptor": {      "rut": "string",      "razon_social": "string"    },    "items": [      {        "position": -9007199254740991,        "nombre": "string",        "cantidad": 0,        "precio_unitario": 0,        "monto_item": -9007199254740991,        "exento": true      }    ],    "totales": {      "neto": -9007199254740991,      "exento": -9007199254740991,      "iva": -9007199254740991,      "total": -9007199254740991    },    "totales_de_lineas": {      "neto": -9007199254740991,      "exento": -9007199254740991,      "iva": -9007199254740991,      "total": -9007199254740991    },    "advertencias": [      "string"    ],    "aprobacion_humana": {      "requerida": true,      "codigo": "string",      "motivo": "string",      "monto_comparable_clp": -9007199254740991    },    "no_verificado": [      "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  }}