Resumir ventas de Shopify
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.
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/shopify.ventas.resumir/execute" \ -H "X-Connect-Connection: conn_9tKfR2mQx4Vb" \ -H "Content-Type: application/json" \ -d '{ "input": { "desde": "string", "hasta": "string" } }'{ "data": { "desde": "string", "hasta": "string", "moneda": "string", "pedidos": 0, "cancelados": 0, "totales": { "subtotal": "string", "descuentos": "string", "impuestos": "string", "envio": "string", "bruto": "string", "reembolsado": "string", "neto": "string", "actual": "string" }, "cobertura": { "completa": true, "motivos": [ "mas_paginas" ], "siguientePagina": "string", "paginasLeidas": 0 }, "historial": { "completo": true, "diasDisponibles": -9007199254740991 } }, "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 }}Leer la tienda Shopify POST
Datos de la tienda Shopify. Trae dominio `.myshopify.com`, moneda, zona horaria, si los precios incluyen impuestos, los permisos que concedió y cuánto historial de pedidos alcanza. Connect consulta Shopify en vivo y no guarda nada: cada llamada lee la tienda de la conexión.
Emitir la anulación de una factura o boleta en el SII POST
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.