Emisso Connect

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 IDnotta.dte.eventos
Nombre MCPnotta__dte__eventos
Conectornotta
Planoaction
Scope (permiso)notta:read
Authconnection_credentials
Versión1
Sensible
Deprecadono
ComportamientoreadOnly=true, destructive=false, idempotent=true, openWorld=true

Requiere conexión. Indica cuál en cada llamada: header X-Connect-Connection en REST, campo connectionId en el execute de 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 de conexiones.estado.consultar.

Qué hace

Sirve para explicar por qué un documento quedó donde quedó; para el estado actual basta notta.dte.obtener.

Entrada

CampoTipoRequeridoDescripción
idstring `^([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]1200000000-0000-0000-0000-000000000000ffffffff-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

CampoTipoRequeridoDescripción
datalista de objetoLos eventos del documento.
data[].status"queued" · "sending" · "awaiting_sii" · "SOK" · "CRT" · "FOK" · …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[].atstringISO-8601 del momento observado
data[].source"local" · "sii"Origen: transición local o estado reportado por el SII
data[].glosastringnull
linksobjetoEnlaces a los demas recursos de este documento.
links.selfstringURL de este mismo historial de eventos en la API de Notta.
links.dtestringURL 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ódigoHTTPReintentableQué hacer
connection_disabled403noReactívala en /connections o usa otra conexión del mismo sistema.
connection_credential_required428noCrea 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_busy409Espera unos segundos y reintenta. Es una espera transitoria: no necesitas volver a conectar ni ingresar la credencial otra vez.
upstream_error502Reintenta más tarde. Si persiste, el problema está en el sistema externo, no en tu integración.
timeout504Reintenta. 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.

On this page