Consultar boletas de honorarios del SII
Lee las boletas de honorarios electrónicas (BHE) ya sincronizadas para esta conexión, filtradas por período y/o perspectiva (emitidas = las que emitió esta empresa; recibidas = las que le emitieron, donde esta empresa es el agente retenedor). Lectura pura: NO dispara una sincronización nueva ni contacta al SII. Si el mes no está cargado, devuelve una lista vacía y 'sincronizacion: null': no es cero movimiento. Para traer datos nuevos, usa 'sii.conexion.sincronizar' primero. El filtro tributario canónico es 'estado' distinto de 'S' sobre el código crudo: 'V' (anulación pendiente), 'R' y 'U' (observadas) siguen VIGENTES; solo 'S' está anulada: nunca filtres por 'estadoNormalizado' igual a 'vigente'. El 'estado' es el observado en la última sincronización del período, no el estado final: una BHE puede anularse, o revertir de anulación pendiente a vigente, hasta el 1 de marzo del año siguiente, y por petición administrativa sin plazo después. Resincroniza el período para refrescarlo; 'ultimaLecturaEn' dice cuándo se observó cada fila. La suma de 'retencion_receptor' es el insumo para cuadrar el F29 código 151, no el código 151: ese además incluye las retenciones por BTE y se imputa al mes del pago. Pagina con 'cursor': cuando la respuesta trae 'cursor' distinto de null, hay más filas. reenvía ese valor tal cual en 'cursor' para pedir la página siguiente; nunca lo construyas a mano.
API key de la organización, en 'Authorization: Bearer connect_sk_…'. Es la credencial para tu backend y tus agentes propios; se crea en el dashboard con permisos explícitos y su valor completo se muestra una sola vez. Autentica como agente: la bitácora atribuye la acción a la clave, nunca a la persona que la creó.
In: header
Header Parameters
Cuál conexión (conn_…) ejecuta esta llamada. Obligatoria en todo sistema conectable y sin resolución implícita, ni siquiera cuando la organización tiene una sola conexión activa: la conexión ES la empresa, y elegir por ti una que hoy acierta mañana acierta distinto sin que nadie cambie nada. Los ids salen de la tool 'conexiones.estado.consultar'. Si falta, la respuesta es 'validation_error' y no se contacta al sistema externo.
^conn_Request Body
application/json
La entrada de la tool, envuelta en 'input'. Manda '{"input": {}}' cuando la tool no toma argumentos: el sobre es obligatorio aunque esté vacío.
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/tools/sii.boletas_honorarios.consultar/execute" \ -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \ -H "Content-Type: application/json" \ -d '{ "input": {} }'{ "data": { "documentos": [ { "folio": "string", "perspectiva": "emitidas", "periodo": "string", "fechaBoleta": "string", "fechaBoletaDate": "string", "razonSocialContraparte": "string", "codigoBarras": "string", "honorariosBrutos": -9007199254740991, "retencionEmisor": -9007199254740991, "retencionReceptor": -9007199254740991, "honorariosLiquidos": -9007199254740991, "estado": "string", "estadoNormalizado": "vigente", "esSocProfesional": "string", "fechaEventoEstado": "string", "fechaEventoEstadoDate": "string", "rutContraparte": "string", "ultimaLecturaEn": "string" } ], "cursor": "string", "sincronizacion": { "sincronizadoEn": "string", "completo": true, "incompletos": -9007199254740991, "fueraDeVentana": -9007199254740991, "perspectivasFallidas": [ { "perspectiva": "emitidas", "code": "string" } ] } }, "meta": { "request_id": "string", "operation_request_id": "733a3a71-b72d-4633-94b1-070c6664565f", "tool_id": "string", "plane": "action", "latency_ms": 0, "audit_status": "recorded", "idempotency": "replayed" }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}{ "error": { "code": "alcance_not_enabled", "message": "string", "suggested_fix": "string", "request_id": "string", "details": null }}Preparar boleta en e-Boleta (beta) POST
Prepara una boleta 39 o 41 en E-Boleta del SII sin emitir y devuelve previewRef, vigente 15 minutos. Requiere la emisión de boletas habilitada para la organización y la conexión (acceso de representante y permiso sii:boletas:write). Si la empresa tiene varias sucursales en E-Boleta, indica en `sucursal` desde cuál se emite esta boleta (los códigos salen de sii.boleta_sucursales.listar); con una sola se usa esa. La respuesta dice qué sucursal se usó.
Consultar boletas electrónicas del SII POST
Lee el resumen diario de boletas electrónicas ya sincronizado para esta conexión, filtrado por período. Lectura pura: NO dispara una sincronización nueva ni contacta al SII. Si el mes no está cargado, devuelve una lista vacía y 'sincronizacion: null': no es cero movimiento. Para traer datos nuevos, usa 'sii.conexion.sincronizar' primero. Pagina con 'cursor': cuando la respuesta trae 'cursor' distinto de null, hay más filas. reenvía ese valor tal cual en 'cursor' para pedir la página siguiente; nunca lo construyas a mano.