Connect

Emitir DTE en el SII

Inicia una emisión en el Facturador Gratuito: requiere previewRef vigente, Idempotency-Key explícita y autorización de la variante en la conexión.

Tool IDsii.dte.emitir
Nombre MCPsii__dte__emitir
Conectorsii
Planoaction
Scope (permiso)sii:write
Authconnection_credentials
Versión5
Sensiblesí
Deprecadono
ComportamientoreadOnly=false, destructive=true, idempotent=true, openWorld=true

Requiere conexión. Indica cuál en cada llamada: header X-Connect-Connection en REST y campo connectionId en el execute_write de MCP. 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

La confirmación de la preparación ocurre dentro de esta llamada cuando la hace el mismo actor que creó esa previsualización, sea una clave de API o una persona. La conexión debe tener guardada la clave del certificado, que se resuelve en el servidor y nunca viaja en la llamada ni en el resultado. Un resultado desconocido se consulta automáticamente; nunca autoriza repetir firma o envío.

Entrada

CampoTipoRequeridoDescripción
previewRefstringsíReferencia opaca devuelta por sii.dte.previsualizar; debe estar vigente y pertenecer a la misma conexión.
JSON Schema de entrada
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "previewRef": {
      "type": "string",
      "minLength": 1,
      "description": "Referencia opaca devuelta por sii.dte.previsualizar; debe estar vigente y pertenecer a la misma conexión."
    }
  },
  "required": [
    "previewRef"
  ],
  "additionalProperties": false
}

Ejemplo

curl
curl -X POST https://connect.emisso.ai/api/v1/tools/sii.dte.emitir/execute \
  -H "Authorization: Bearer connect_sk_…" \
  -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \
  -H "Idempotency-Key: 9d1f4c2a-7b30-4e58-9c11-2f6a8de5b743" \
  -H "Content-Type: application/json" \
  -d '{"input":{"previewRef":"spt1.1.Xq7Lm2Vt9RbN4c8K.3hVdQ0nWk8ZpT1yFbG6sR9mLc2XeJ5uA7tKqN4wHv0PzY8iDf3oUj6lBr1gSx9Ma.pW3nK8vQz1Lr5Tb9Xh2YcA"}}'
MCP · meta-tool execute_write
{
  "tool": "sii.dte.emitir",
  "params": {
    "previewRef": "spt1.1.Xq7Lm2Vt9RbN4c8K.3hVdQ0nWk8ZpT1yFbG6sR9mLc2XeJ5uA7tKqN4wHv0PzY8iDf3oUj6lBr1gSx9Ma.pW3nK8vQz1Lr5Tb9Xh2YcA"
  },
  "connectionId": "conn_9tKfR2mQx4Vb",
  "idempotencyKey": "9d1f4c2a-7b30-4e58-9c11-2f6a8de5b743"
}

Clave de idempotencia obligatoria. Sin ella la llamada responde idempotency_key_missing. Genera un UUID v4 nuevo por operación y envíalo en Idempotency-Key (REST) o en idempotencyKey (MCP). Repite la misma clave solo al reintentar esa operación.

Salida esperada (200):

{
  "data": {
    "resultado": {
      "estado": "emitido",
      "operacionId": "req_k7w2m9q4x1c8v5b3n6z0p",
      "tipoDte": "33",
      "variante": "33:del_giro:del_giro:credito",
      "folio": "1042",
      "fechaEmision": "2026-09-15",
      "confirmadoEn": "2026-09-15T14:03:12.000Z",
      "xmlFirmado": "<DTE xmlns=\"http://www.sii.cl/SiiDte\" version=\"1.0\"><Documento ID=\"…\"><Encabezado><IdDoc><TipoDTE>33</TipoDTE><Folio>1042</Folio><FchEmis>2026-09-15</FchEmis>…</IdDoc><Emisor><RUTEmisor>76987654-5</RUTEmisor>…</Emisor><Receptor><RUTRecep>77123456-9</RUTRecep>…</Receptor><Totales><MntNeto>548000</MntNeto><TasaIVA>19.00</TasaIVA><IVA>104120</IVA><MntTotal>652120</MntTotal></Totales></Encabezado>…<TED version=\"1.0\">…</TED>…</Documento><Signature xmlns=\"http://www.w3.org/2000/09/xmldsig#\">…</Signature></DTE>"
    }
  },
  "meta": {
    "request_id": "req_…",
    "tool_id": "sii.dte.emitir",
    "plane": "action",
    "latency_ms": 7410,
    "audit_status": "recorded"
  }
}

Primero previsualiza con sii.dte.previsualizar: emitir solo acepta lo previsualizado y se reintenta con la misma Idempotency-Key. xmlFirmado es el documento tributario: guárdalo. Paso a paso en Facturas 33 y 34.

Salida

CampoTipoRequeridoDescripción
resultadovalorsíResultado terminal allowlisted de la operación de emisión.
JSON Schema de salida
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "resultado": {
      "oneOf": [
        {
          "type": "object",
          "properties": {
            "estado": {
              "type": "string",
              "const": "emitido",
              "description": "El SII confirmó de manera concluyente la emisión."
            },
            "operacionId": {
              "type": "string",
              "pattern": "^req_[0-9a-z]{21}$",
              "description": "Identificador estable de la operación regulada."
            },
            "tipoDte": {
              "type": "string",
              "enum": [
                "33",
                "34",
                "52",
                "56",
                "61"
              ],
              "description": "Tipo DTE contemplado por los contratos publicados: 33, 34, 52, 56 o 61. Su presencia no implica habilitación productiva."
            },
            "variante": {
              "type": "string",
              "enum": [
                "33:del_giro:del_giro:credito",
                "34:del_giro:del_giro:credito",
                "52:constituye_venta",
                "52:ventas_por_efectuar",
                "52:consignacion",
                "52:entrega_gratuita",
                "52:traslado_interno",
                "52:otro_traslado_no_venta",
                "52:devolucion",
                "52:traslado_exportacion_no_venta",
                "52:venta_exportacion",
                "56:corregir_montos:34_exenta",
                "61:corregir_montos:34_exenta"
              ],
              "description": "Identidad exacta de la variante tributaria previsualizada."
            },
            "folio": {
              "type": "string",
              "minLength": 1,
              "description": "Folio confirmado por el SII para el documento emitido."
            },
            "fechaEmision": {
              "type": "string",
              "x-emisso-formato": "AAAA-MM-DD",
              "description": "Fecha de emisión confirmada por el SII."
            },
            "confirmadoEn": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
              "description": "Instante en que Connect obtuvo una confirmación concluyente de la emisión."
            },
            "xmlFirmado": {
              "type": "string",
              "minLength": 1,
              "maxLength": 1048576,
              "description": "XML del DTE firmado que Connect envió y el SII aceptó, con su timbre electrónico (TED). Basta para generar la representación impresa y el PDF417. Es el documento tributario: guárdalo como tal."
            }
          },
          "required": [
            "estado",
            "operacionId",
            "tipoDte",
            "variante",
            "folio",
            "fechaEmision",
            "confirmadoEn"
          ],
          "additionalProperties": false,
          "description": "Resultado concluyente de una emisión confirmada."
        },
        {
          "type": "object",
          "properties": {
            "estado": {
              "type": "string",
              "const": "rechazado",
              "description": "El SII rechazó la operación de manera concluyente."
            },
            "operacionId": {
              "type": "string",
              "pattern": "^req_[0-9a-z]{21}$",
              "description": "Identificador estable de la operación regulada."
            },
            "tipoDte": {
              "type": "string",
              "enum": [
                "33",
                "34",
                "52",
                "56",
                "61"
              ],
              "description": "Tipo DTE contemplado por los contratos publicados: 33, 34, 52, 56 o 61. Su presencia no implica habilitación productiva."
            },
            "variante": {
              "type": "string",
              "enum": [
                "33:del_giro:del_giro:credito",
                "34:del_giro:del_giro:credito",
                "52:constituye_venta",
                "52:ventas_por_efectuar",
                "52:consignacion",
                "52:entrega_gratuita",
                "52:traslado_interno",
                "52:otro_traslado_no_venta",
                "52:devolucion",
                "52:traslado_exportacion_no_venta",
                "52:venta_exportacion",
                "56:corregir_montos:34_exenta",
                "61:corregir_montos:34_exenta"
              ],
              "description": "Identidad exacta de la variante tributaria previsualizada."
            },
            "codigo": {
              "type": "string",
              "minLength": 1,
              "description": "Código normalizado del rechazo concluyente."
            },
            "puedeReintentar": {
              "type": "boolean",
              "const": false,
              "description": "Siempre false: una operación regulada rechazada no se reintenta automáticamente."
            }
          },
          "required": [
            "estado",
            "operacionId",
            "tipoDte",
            "variante",
            "codigo",
            "puedeReintentar"
          ],
          "additionalProperties": false,
          "description": "Resultado concluyente de una emisión rechazada."
        },
        {
          "type": "object",
          "properties": {
            "estado": {
              "type": "string",
              "const": "resultado_desconocido",
              "description": "No existe evidencia suficiente para afirmar emisión ni rechazo."
            },
            "operacionId": {
              "type": "string",
              "pattern": "^req_[0-9a-z]{21}$",
              "description": "Identificador estable de la operación regulada."
            },
            "tipoDte": {
              "type": "string",
              "enum": [
                "33",
                "34",
                "52",
                "56",
                "61"
              ],
              "description": "Tipo DTE contemplado por los contratos publicados: 33, 34, 52, 56 o 61. Su presencia no implica habilitación productiva."
            },
            "variante": {
              "type": "string",
              "enum": [
                "33:del_giro:del_giro:credito",
                "34:del_giro:del_giro:credito",
                "52:constituye_venta",
                "52:ventas_por_efectuar",
                "52:consignacion",
                "52:entrega_gratuita",
                "52:traslado_interno",
                "52:otro_traslado_no_venta",
                "52:devolucion",
                "52:traslado_exportacion_no_venta",
                "52:venta_exportacion",
                "56:corregir_montos:34_exenta",
                "61:corregir_montos:34_exenta"
              ],
              "description": "Identidad exacta de la variante tributaria previsualizada."
            },
            "puedeReintentar": {
              "type": "boolean",
              "const": false,
              "description": "Siempre false: no se repite una operación cuyo resultado externo es desconocido."
            },
            "siguientePaso": {
              "type": "string",
              "const": "reconciliacion_automatica_o_soporte",
              "description": "La única salida segura es reconciliar evidencia o escalar a soporte."
            }
          },
          "required": [
            "estado",
            "operacionId",
            "tipoDte",
            "variante",
            "puedeReintentar",
            "siguientePaso"
          ],
          "additionalProperties": false,
          "description": "Resultado inconcluso que exige reconciliación antes de cualquier acción."
        }
      ],
      "description": "Resultado terminal allowlisted de la operación de emisión."
    }
  },
  "required": [
    "resultado"
  ],
  "additionalProperties": false
}

Errores de esta tool

CódigoHTTPReintentableQué hacer
connection_disabled403noReactívala en /connections o usa otra conexión del mismo sistema.
connection_not_found404noUsa uno de los connectionId que lista el error, o revisa la conexión en /connections. No hace falta reactivar nada.
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_busy409síEspera unos segundos y reintenta. Es una espera transitoria: no necesitas volver a conectar ni ingresar la credencial otra vez.
upstream_error502síReintenta más tarde. Si persiste, el problema está en el sistema externo, no en tu integración.
timeout504sí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.

En esta página