Emitir DTE (factura o nota)
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; su folio_ref va en TEXTO, tal como lo devuelve sii.rcv.consultar). 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.obtener 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. SEGUNDO DESENLACE: sobre el umbral de escritura de la empresa, Notta no emite y abre una aprobación humana que vive 24 horas. En ese caso la respuesta NO es un documento sino {status:'pending', pending_id, approve_url, expires_at, reason}: no trae folio ni id, y nada llegó al SII. Se reconoce SIEMPRE por ese cuerpo; por REST viaja además meta.idempotency='pending', que por MCP no llega. No reintentes para forzarla: con la misma Idempotency-Key te devuelve el mismo pendiente sin volver a emitir. Pasa approve_url a una persona de la empresa y sigue el desenlace con notta.dte.aprobacion, llamándola con id = ese pending_id: devuelve status (pending/approved/rejected/expired), result_ref con el documento que salió de la aprobación y next_action. NO uses notta.dte.listar para esto: lista documentos ya EMITIDOS, y mientras la aprobación viva no hay ninguno que listar; si la rechazan o vence, no lo habrá nunca.
Request
- Base URL: https://connect.emisso.ai/api
- URL: https://connect.emisso.ai/api/v1/tools/notta.dte.emitir/execute
- Auth: one of:
- HTTP bearer
- OAuth 2 (authorization code, authorization URL https://connect.emisso.ai/authorize, token URL https://connect.emisso.ai/token, scopes: notta:write)
Headers
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.
Clave de idempotencia para esta acción destructiva. Reenviar la MISMA clave con la misma entrada devuelve la respuesta ya emitida en vez de repetir el efecto; con una entrada distinta responde 'idempotency_conflict', y mientras el primer intento sigue en curso, 'idempotency_in_progress'. Un intento fallido nunca consume la clave. Sin cabecera, el pipeline genera una por ejecución, o sea que no hay deduplicación entre reintentos tuyos: mándala siempre que puedas reintentar.
Request body
Response
La tool corrió bien. 'data' es la salida de la tool tal cual, y 'meta' trae el 'request_id' que identifica esta llamada en la bitácora.
Changes
No recorded changes to this operation across all 1 revision of this API.