Notta
Emite facturas y notas ante el SII desde tus agentes. Autorizas una vez en Notta con tu propia cuenta: no hay ninguna API key que crear ni pegar.
notta emite documentos tributarios electrónicos ante el SII: facturas afectas y exentas, y notas de débito y de crédito. Es el primer conector que escribe en un sistema externo, así que su tool de emisión es la primera del catálogo marcada como destructiva y la primera que pasa por el control de idempotencia.
Notta es producto de Emisso, y eso cambia el alta: en vez de pedirte una clave que tendrías que ir a buscar a otro portal, te llevamos a Notta para que autorices con tu propia cuenta y te traemos de vuelta. Connect nunca ve ni guarda tu clave.
Qué necesitas para conectar
Antes de empezar, necesitas una cuenta en Notta con esta empresa ya creada, y tu usuario tiene que tener permiso sobre ella. Si todavía no la tienes, créala primero en app.notta.cl y vuelve. Connect no crea la empresa por ti: la autorización que vas a dar es sobre una empresa que ya existe del otro lado.
El formulario pide un solo dato, y no es un secreto:
| Campo | Qué es |
|---|---|
| RUT de la empresa | La empresa que va a emitir. Es contra este RUT que se compara lo que Notta autoriza. |
Al continuar, el navegador sale a Notta para que apruebes el acceso y vuelve a Connect con la autorización hecha. Ninguna clave pasa por Connect. Lo que se guarda es un permiso que Notta emite, cifrado y que nadie ve nunca, ni tú ni el agente, y que puedes revocar del otro lado cuando quieras.
Si la empresa que autorizas no es la del RUT que escribiste, la conexión se rechaza en vez de quedar apuntando a otra: es la misma empresa o no es. La comprobación corre apenas vuelves del consentimiento, así que el permiso se anula de este lado y te lo decimos ahí mismo, no en la primera factura.
Qué puede hacer hoy una conexión autorizada así
Todo el catálogo, la emisión incluida. Una conexión creada con el permiso de tu cuenta lista, obtiene, totaliza, sigue eventos, pide los enlaces al PDF y al XML, mira las aprobaciones pendientes, lista los folios (CAF), reenvía un documento por correo y emite.
Emitir y reenviar exigen el permiso de escritura (dte:write), y el consentimiento lo pide por su cuenta. Una autorización ya entregada no gana permisos nuevos: renovarla conserva exactamente los que aceptaste la primera vez. Si conectaste Notta antes de que Connect empezara a pedir dte:write, la conexión lee pero no emite, y hoy el único camino es eliminar la conexión y crearla de nuevo: no hay un botón de volver a autorizar sobre una conexión que ya existe.
Sobre el umbral de escritura que fije tu empresa en Notta, emitir no emite: abre una aprobación. Es el segundo desenlace de notta.dte.emitir, y no trae folio ni id porque nada llegó al SII. El cuerpo son cinco campos:
{
"status": "pending",
"pending_id": "8f14e45f-ceea-467a-9f0e-ecf3b1a1f9c2",
"approve_url": "https://app.notta.cl/aprobaciones/8f14e45f",
"expires_at": "2026-09-03T14:20:00Z",
"reason": "monto sobre el umbral de la empresa"
}Pásale approve_url a una persona de la empresa y sigue en qué queda con notta.dte.aprobacion, usando el pending_id como id. notta.dte.listar no sirve para esto: lista documentos ya emitidos, y mientras la aprobación viva no hay ninguno; si la rechazan o vence, no lo habrá nunca.
Antes de la primera factura
Emitir ante el SII exige dos cosas que solo puede conseguir una persona: el certificado digital de la empresa y los folios (CAF) del tipo de documento. Los dos se cargan en Notta, no en Connect.
Los folios sí puedes verlos desde aquí: notta.folios.listar te dice qué rangos tienes cargados por tipo de documento, cuál es el próximo por usar, cuántos quedan y hasta cuándo son válidos. Devuelve una fila por rango, no una por tipo: un mismo tipo de documento aparece varias veces si tiene varios rangos cargados, así que lo que le queda a ese tipo es la suma de sus filas. Y la lista viene recortada a un solo ambiente del SII (certificación o producción, en sii_env), el que decida la credencial con la que autorizaste: certificación y producción son secuencias de folios independientes, y ésta no las mezcla. El certificado se revisa en Notta. No es un error de tu integración: es el trámite que todavía no termina.
Las tools
| Tool | Qué hace |
|---|---|
notta.dte.emitir | Emite una factura o nota. Devuelve el folio asignado, salvo que quede esperando una aprobación. |
notta.dte.obtener | El detalle de un documento, incluido el veredicto del SII. |
notta.dte.listar | Los documentos emitidos, con filtros y paginación por cursor. |
notta.dte.totales | Los totales de un mes, por tipo de documento y estado en el SII. |
notta.dte.eventos | La línea de tiempo de un documento: cada cambio de estado y su motivo. |
notta.dte.enlace_pdf | Un enlace temporal al PDF del documento. |
notta.dte.enlace_xml | Un enlace temporal al XML firmado que se envió al SII. |
notta.dte.aprobacion | En qué quedó una aprobación pendiente que dejó una emisión. |
notta.folios.listar | Los rangos de folios (CAF) cargados, con cuántos quedan. |
notta.dte.reenviar | Reenvía el documento por correo al receptor. |
notta.conexion.verificar | Prueba la credencial sin emitir nada. |
Emitir
curl -X POST https://connect.emisso.ai/api/v1/tools/notta.dte.emitir/execute \
-H "Authorization: Bearer connect_sk_..." \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Idempotency-Key: 7f3c1b90-2d4e-4a11-9c6f-5b8e0a2d13c7" \
-H "Content-Type: application/json" \
-d '{"input":{"tipo_dte":33,"fecha_emision":"2026-09-30","forma_pago":1,"receptor":{"rut":"76900600-1","razon_social":"Comercial Andes Ltda.","giro":"Comercio al por mayor","direccion":"Av. Apoquindo 3000","comuna":"Las Condes"},"items":[{"nombre":"Asesoría de septiembre","cantidad":1,"precio_unitario":450000,"exento":false,"monto_item":450000}]}}'Respuesta (recortada):
{
"data": {
"id": "dte_8sKq2mR4",
"folio": "267",
"tipo_dte": 33,
"estado": "queued",
"montos": { "neto": 450000, "exento": 0, "iva": 85500, "total": 535500 }
},
"meta": { "request_id": "req_...", "tool_id": "notta.dte.emitir", "plane": "action" }
}Ésta es la respuesta del desenlace directo, el de arriba. El folio ya está asignado y es tuyo: no se reutiliza. Lo que sigue (firmar, armar el sobre, subirlo al SII y esperar el veredicto) ocurre después, y por eso el estado dice queued. Para saber cómo terminó, consulta el documento.
Emitir dos veces por accidente
Una factura duplicada no se deshace: se corrige con una nota de crédito, que es otro documento con otro folio. Por eso emitir es la única tool del catálogo que trata la repetición como parte del contrato.
Manda tu propia Idempotency-Key en el header y conserva tanto esa clave como la conexión en todos los reintentos. Si repites la llamada con la misma clave, conexión y contenido, Connect devuelve la respuesta guardada sin volver a tocar Notta. Si reutilizas la clave en otra conexión o con un contenido distinto, responde idempotency_conflict: esa clave ya nombra otra operación. Y si el primer intento sigue en curso, responde idempotency_in_progress, que se reintenta a los segundos, nunca con una clave nueva.
Si el error indica que un registro histórico no permite confirmar su conexión, conserva la clave y revisa el documento con soporte antes de continuar. Crear otra clave o volver a emitir puede duplicar un documento que ya existe.
El SDK no reintenta esta llamada por su cuenta, y es deliberado.
Consultar el resultado
curl -X POST https://connect.emisso.ai/api/v1/tools/notta.dte.obtener/execute \
-H "Authorization: Bearer connect_sk_..." \
-H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
-H "Content-Type: application/json" \
-d '{"input":{"id":"dte_8sKq2mR4"}}'Respuesta (recortada):
{
"data": {
"id": "dte_8sKq2mR4",
"folio": "267",
"tipo_dte": 33,
"estado": "aceptado",
"track_id": "1284455901",
"sii_glosa": "Envio Aceptado"
},
"meta": { "request_id": "req_...", "tool_id": "notta.dte.obtener", "plane": "action" }
}El SII se toma su tiempo en responder, así que un documento recién emitido puede seguir en camino por varios minutos.
Verdades operativas
El ambiente lo decide la cuenta de Notta, no la llamada. Contra qué ambiente del SII se emite (certificación o producción) es una propiedad de la empresa en Notta, no de la petición. El request no puede forzarlo.
El plan de Notta es de Notta. La cuota mensual de documentos es la de tu cuenta allá, y el plan se cambia en Notta, no en Connect. Si se agota, la emisión responde connector_plan_limit y el upgrade se hace allá, no aquí.
Para que la factura llegue, hay dos caminos. enlace_pdf y enlace_xml te devuelven un enlace temporal a cada archivo, que sirve sin credencial y vence a los 15 minutos, para que hagas lo tuyo con ellos. Si lo que quieres es que le lleguen al receptor, usa reenviar, o incluye su correo al emitir: Notta se lo manda cuando el SII acepta.
No hay caché que consultar. A diferencia del SII y los bancos, este conector no sincroniza nada al plano persistido: cada consulta pregunta en vivo, porque los documentos viven en Notta. Por eso ninguna de sus tools se llama consultar, que en el resto del catálogo significa «lee lo ya sincronizado»: la que trae el detalle de un documento es notta.dte.obtener.