Emitir la anulación de una factura o boleta en el SII
Firma y envía la nota de crédito de anulación preparada. EN EL SII FIRMAR ES EMITIR: el portal envía el documento en el mismo acto, así que no hay ensayo previo ni vuelta atrás, y el documento queda anulado. Exige previewRef vigente e Idempotency-Key explícita. La confirmación de la preparación ocurre dentro de esta llamada cuando la hace el mismo actor que la creó, sea una clave de API o una persona. La clave del certificado se resuelve en el servidor desde la conexión y nunca viaja en la llamada ni en el resultado. Un resultado desconocido se reconcilia contra la lista de documentos del portal; nunca autoriza reenviar. Un segundo emitir sobre el mismo previewRef NO duplica: la preparación va de pendiente a confirmada a consumida, así que el reintento falla en vez de emitir otra nota. Lo que decide la Idempotency-Key es si ese reintento recibe la respuesta guardada o un error sobre el mismo desenlace real.
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_UUID v4 canónica generada por el caller para esta acción destructiva. Es obligatoria: el gateway no la autogenera. Reenvía exactamente la misma UUID para consultar o reconciliar el mismo intento; una UUID distinta identifica otra operación.
^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$uuidRequest 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.anulacion.emitir/execute" \ -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \ -H "Idempotency-Key: 9d1f4c2a-7b30-4e58-9c11-2f6a8de5b743" \ -H "Content-Type: application/json" \ -d '{ "input": { "previewRef": "string" } }'{ "data": { "resultado": { "tipoDte": "61", "puedeReintentar": false, "estado": "emitida", "operacionId": "string", "folio": "string", "fechaEmision": "string", "confirmadoEn": "2019-08-24T14:15:22Z", "xmlFirmado": "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 }}Resumir ventas de Shopify POST
Ventas de Shopify de un período, por moneda. Suma con decimales exactos los pedidos creados en el rango: subtotal, descuentos, impuestos, envío, bruto, reembolsado y neto (bruto − reembolsado). Excluye pedidos cancelados y de prueba. `cobertura.completa` es true solo si se leyeron todos los pedidos del rango y el historial alcanza; si no, `cobertura.motivos` dice por qué y, con `mas_paginas`, sigue con `cobertura.siguientePagina` y suma tú los resultados. Son pedidos, no cobros liquidados. Connect consulta Shopify en vivo y no guarda nada: cada llamada lee la tienda de la conexión.
Preparar la anulación de una factura o boleta en el SII POST
Prepara en el Facturador Gratuito del SII la nota de crédito que anula un documento, sin firmarla ni emitirla. Identifica el documento por tipo, folio y fecha de emisión. Una factura afecta (33) tiene que estar en la lista de emitidos de ese portal: el SII construye la nota a partir de ella. Una boleta afecta (39) o exenta (41) tiene que haberla emitido Connect en esta conexión: la nota va por su total, con referencia a la boleta y al receptor de la boleta, o a la propia empresa si la boleta no tenía receptor. La de una boleta exenta no lleva IVA. Un documento emitido con otro proveedor se rechaza diciéndolo. Requiere habilitación de la organización, permiso de la conexión y credencial de representante, y que la conexión tenga guardada la clave del certificado: se resuelve en el servidor y nunca viaja en la llamada ni en el resultado.