Connect

Preparar boleta de honorarios (beta)

Prepara en el SII el borrador de una solicitud autorizada de honorarios.

Tool IDsii.honorario.previsualizar
Nombre MCPsii__honorario__previsualizar
Conectorsii
Planoaction
Scope (permiso)sii:honorarios:write
Authconnection_credentials
Versión1
Sensiblesí
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

Requiere acceso dedicado del titular y permiso sii:honorarios:write. Devuelve una referencia vinculada a la solicitud y al contenido verificado; no emite.

Entrada

CampoTipoRequeridoDescripción
solicitudIdstring ^bhr_[a-zA-Z0-9]+$síIdentificador opaco de la solicitud de honorarios en tu organización.
JSON Schema de entrada
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "solicitudId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^bhr_[a-zA-Z0-9]+$",
      "description": "Identificador opaco de la solicitud de honorarios en tu organización."
    }
  },
  "required": [
    "solicitudId"
  ],
  "additionalProperties": false
}

Salida

CampoTipoRequeridoDescripción
requestIdstring ^bhr_[a-zA-Z0-9]+$síIdentificador opaco de la solicitud de honorarios en tu organización.
versionenterosíVersión del documento que debe autorizar el profesional.
previewRefstringsíReferencia opaca: el servidor verifica propietario, snapshot, autorización y vigencia.
payloadHashstring ^[a-f0-9]{64}$síSHA-256 del contenido canónico de la solicitud.
brutoenterosíHonorarios brutos en pesos chilenos.
retencionenterosíImpuesto que retiene el receptor, en pesos chilenos.
liquidoenterosíMonto que recibe el emisor después de la retención, en pesos chilenos.
ppmEmisorenteronoPago provisional a cargo del emisor cuando el receptor no retiene, en pesos chilenos.
expiresAtstring `^(?:(?:\d\d[2468][048]\d\d[13579][26]\d\d0[48]
JSON Schema de salida
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "requestId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^bhr_[a-zA-Z0-9]+$",
      "description": "Identificador opaco de la solicitud de honorarios en tu organización."
    },
    "version": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Versión del documento que debe autorizar el profesional."
    },
    "previewRef": {
      "type": "string",
      "minLength": 1,
      "maxLength": 8192,
      "description": "Referencia opaca: el servidor verifica propietario, snapshot, autorización y vigencia."
    },
    "payloadHash": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$",
      "description": "SHA-256 del contenido canónico de la solicitud."
    },
    "bruto": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Honorarios brutos en pesos chilenos."
    },
    "retencion": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Impuesto que retiene el receptor, en pesos chilenos."
    },
    "liquido": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Monto que recibe el emisor después de la retención, en pesos chilenos."
    },
    "ppmEmisor": {
      "description": "Pago provisional a cargo del emisor cuando el receptor no retiene, en pesos chilenos.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "expiresAt": {
      "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": "Vencimiento del borrador, instante ISO 8601 con zona explícita."
    }
  },
  "required": [
    "requestId",
    "version",
    "previewRef",
    "payloadHash",
    "bruto",
    "retencion",
    "liquido",
    "expiresAt"
  ],
  "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_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