Historial de estados de un documento
Devuelve la línea de tiempo de un documento emitido: cada transición de estado con su momento, si la reportó el SII o fue local, y la glosa cuando hubo rechazo o reparo.
| Tool ID | notta.dte.eventos |
| Nombre MCP | notta__dte__eventos |
| Conector | notta |
| Plano | action |
| Scope (permiso) | notta:read |
| Auth | connection_credentials |
| Versión | 1 |
| Sensible | sí |
| Deprecado | no |
| Comportamiento | readOnly=true, destructive=false, idempotent=true, openWorld=true |
Requiere conexión. Indica cuál en cada llamada: header
X-Connect-Connectionen REST, campoconnectionIden elexecutede MCP y en las opciones del SDK. No hay resolución implícita, ni siquiera con una sola conexión activa: la conexión es la empresa. El id sale deconexiones.estado.consultar.
Qué hace
Sirve para explicar por qué un documento quedó donde quedó; para el estado actual basta notta.dte.obtener.
Entrada
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
id | string `^([0-9a-fA-F]8-[0-9a-fA-F]4-[1-8][0-9a-fA-F]3-[89abAB][0-9a-fA-F]3-[0-9a-fA-F]12 | 00000000-0000-0000-0000-000000000000 | ffffffff-ffff-ffff-ffff-ffffffffffff)$` |
JSON Schema de entrada
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Identificador del documento dentro de Notta, un UUID. Es el que reciben las demas tools de este sistema para pedir el detalle, el PDF, el XML o los eventos."
}
},
"required": [
"id"
]
}Salida
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
data | lista de objeto | sí | Los eventos del documento. |
data[].status | "queued" · "sending" · "awaiting_sii" · "SOK" · "CRT" · "FOK" · … | sí | Estado en esta transición. Vocabulario de dtes.sii_status, generado del catálogo de estados. Cada valor con su glosa, si tiene VEREDICTO del SII (terminal) y la acción sugerida. La descripción larga de cada uno viaja en el bloque estado de esta misma respuesta: queued: en cola · terminal: no · acción: esperar sending: enviando · terminal: no · acción: esperar signed: firmado, sin subir al SII · terminal: no · acción: esperar awaiting_sii: esperando al SII · terminal: no · acción: esperar · DEPRECADO SOK: schema del envío validado · terminal: no · acción: esperar CRT: carátula del envío validada · terminal: no · acción: esperar FOK: firma del envío validada · terminal: no · acción: esperar PDR: envío en proceso · terminal: no · acción: esperar PRD: envío en proceso · terminal: no · acción: esperar -11: procesando en el SII · terminal: no · acción: esperar EPR: aceptado · terminal: sí · acción: ninguna RPR: aceptado con reparos · terminal: sí · acción: ninguna aceptado_con_reparos: aceptado con reparos · terminal: sí · acción: ninguna · DEPRECADO accepted: aceptado (importado del Respaldo del SII) · terminal: sí · acción: ninguna RFR: rechazo por firma · terminal: sí · acción: contactar_soporte RCT: rechazo por carátula · terminal: sí · acción: contactar_soporte RSC: rechazo por schema · terminal: sí · acción: contactar_soporte RCH: documento rechazado · terminal: sí · acción: reemitir stuck: atascado en SII · terminal: no · acción: reintentar_consulta sin_permiso_sii: sin permiso para consultar en el SII · terminal: no · acción: accion_en_sii Corta cualquier bucle de espera por estado.terminal, NUNCA por sii_status === "EPR": un rechazo (RFR, RCT, RSC y RCH) también es final, y ese bucle no saldría nunca. stuck y sin_permiso_sii no son terminales (el SII no llegó a juzgar el documento) pero tampoco avanzan solos: los destraba POST /dtes/\{id\}/refresh-status. |
data[].at | string | sí | ISO-8601 del momento observado |
data[].source | "local" · "sii" | sí | Origen: transición local o estado reportado por el SII |
data[].glosa | string | null | sí |
links | objeto | sí | Enlaces a los demas recursos de este documento. |
links.self | string | sí | URL de este mismo historial de eventos en la API de Notta. |
links.dte | string | sí | URL del documento al que pertenece este recurso. |
JSON Schema de salida
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"queued",
"sending",
"awaiting_sii",
"SOK",
"CRT",
"FOK",
"PDR",
"PRD",
"-11",
"EPR",
"RPR",
"aceptado_con_reparos",
"RFR",
"RCT",
"RSC",
"RCH",
"stuck",
"signed",
"accepted",
"sin_permiso_sii"
],
"description": "Estado en esta transición.\n\nVocabulario de `dtes.sii_status`, generado del catálogo de estados. Cada valor con su glosa, si tiene VEREDICTO del SII (`terminal`) y la acción sugerida. La descripción larga de cada uno viaja en el bloque `estado` de esta misma respuesta:\n\n`queued`: en cola · terminal: no · acción: `esperar`\n`sending`: enviando · terminal: no · acción: `esperar`\n`signed`: firmado, sin subir al SII · terminal: no · acción: `esperar`\n`awaiting_sii`: esperando al SII · terminal: no · acción: `esperar` · DEPRECADO\n`SOK`: schema del envío validado · terminal: no · acción: `esperar`\n`CRT`: carátula del envío validada · terminal: no · acción: `esperar`\n`FOK`: firma del envío validada · terminal: no · acción: `esperar`\n`PDR`: envío en proceso · terminal: no · acción: `esperar`\n`PRD`: envío en proceso · terminal: no · acción: `esperar`\n`-11`: procesando en el SII · terminal: no · acción: `esperar`\n`EPR`: aceptado · terminal: sí · acción: `ninguna`\n`RPR`: aceptado con reparos · terminal: sí · acción: `ninguna`\n`aceptado_con_reparos`: aceptado con reparos · terminal: sí · acción: `ninguna` · DEPRECADO\n`accepted`: aceptado (importado del Respaldo del SII) · terminal: sí · acción: `ninguna`\n`RFR`: rechazo por firma · terminal: sí · acción: `contactar_soporte`\n`RCT`: rechazo por carátula · terminal: sí · acción: `contactar_soporte`\n`RSC`: rechazo por schema · terminal: sí · acción: `contactar_soporte`\n`RCH`: documento rechazado · terminal: sí · acción: `reemitir`\n`stuck`: atascado en SII · terminal: no · acción: `reintentar_consulta`\n`sin_permiso_sii`: sin permiso para consultar en el SII · terminal: no · acción: `accion_en_sii`\n\nCorta cualquier bucle de espera por `estado.terminal`, NUNCA por `sii_status === \"EPR\"`: un rechazo (`RFR`, `RCT`, `RSC` y `RCH`) también es final, y ese bucle no saldría nunca. `stuck` y `sin_permiso_sii` no son terminales (el SII no llegó a juzgar el documento) pero tampoco avanzan solos: los destraba `POST /dtes/{id}/refresh-status`."
},
"at": {
"type": "string",
"description": "ISO-8601 del momento observado"
},
"source": {
"type": "string",
"enum": [
"local",
"sii"
],
"description": "Origen: transición local o estado reportado por el SII"
},
"glosa": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Motivo que reporta el SII (rechazo/reparo); null si no aplica"
}
},
"required": [
"status",
"at",
"source",
"glosa"
],
"additionalProperties": false,
"description": "Un evento del documento: que le paso y cuando."
},
"description": "Los eventos del documento."
},
"links": {
"type": "object",
"properties": {
"self": {
"type": "string",
"description": "URL de este mismo historial de eventos en la API de Notta."
},
"dte": {
"type": "string",
"description": "URL del documento al que pertenece este recurso."
}
},
"required": [
"self",
"dte"
],
"additionalProperties": false,
"description": "Enlaces a los demas recursos de este documento."
}
},
"required": [
"data",
"links"
],
"additionalProperties": false
}Errores de esta tool
| Código | HTTP | Reintentable | Qué hacer |
|---|---|---|---|
connection_disabled | 403 | no | Reactívala en /connections o usa otra conexión del mismo sistema. |
connection_credential_required | 428 | no | Crea un enlace con conexiones.enlace.crear (modo reconectar si la conexión ya existe) y pide a la persona que entregue la credencial de nuevo. No reintentes con la credencial anterior. |
connection_busy | 409 | sí | Espera unos segundos y reintenta. Es una espera transitoria: no necesitas volver a conectar ni ingresar la credencial otra vez. |
upstream_error | 502 | sí | Reintenta más tarde. Si persiste, el problema está en el sistema externo, no en tu integración. |
timeout | 504 | sí | Reintenta. Para sincronizaciones largas usa la vía asíncrona y consulta el estado del trabajo. |
Toda llamada puede devolver además los códigos transversales (validation_error, unauthorized, scope_not_granted, rate_limited, entre otros): el detalle vive en el catálogo de errores.
Enlace al XML firmado de un documento
Devuelve un enlace temporal al XML firmado que se le envió al SII.
Listar los documentos emitidos
Lista los documentos que esta empresa emitió a través de Notta, con filtros por tipo de documento, folio, RUT del receptor, rango de fechas de emisión, estado en el SII y estado del receptor, y paginación por cursor.