Factuarea APIDevelopers

Tiendas de comercio electrónico

Conecta tiendas, configura la facturación de pedidos y diagnostica pedidos y devoluciones mediante REST y MCP.

Autoriza primero la conexión del proveedor en Factuarea. integration_id identifica esa conexión existente; external_store_id es el identificador opaco de la tienda en el proveedor. La tienda pertenece a la empresa autenticada por tu API key.

Operaciones y scopes

OperaciónScope necesarioHerramienta MCP
GET /v1/storesstores:readlist_stores
POST /v1/storesstores:writeconnect_store
GET /v1/stores/{store}stores:readget_store
PUT /v1/stores/{store}stores:writeupdate_store
DELETE /v1/stores/{store}stores:writedisconnect_store
POST /v1/woocommerce/stores/{store}/connection-testwoocommerce_store:writetest_woocommerce_store_connection
POST /v1/shopify/stores/{store}/connection-testshopify_store:writetest_shopify_store_connection

Estas herramientas solo admiten API key. Las operaciones REST que declaran Idempotency-Key la requieren; reutiliza la misma clave al reintentar la misma intención. En MCP, pasa idempotency_key cuando lo exija la herramienta. El listado acepta limit de 1 a 100 (25 por defecto), starting_after y ending_before; no combines ambos cursores.

curl -X POST https://api.factuarea.com/v1/stores \
  -H "Authorization: Bearer $FACTUAREA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: connect-tienda-es-2026-09" \
  --data '{
  "integration_id": "0192e7b1-3c4d-7e2a-9f01-2b3c4d5e6f71",
  "provider": "woocommerce",
  "external_store_id": "wc-tienda-es",
  "name": "Tienda ES",
  "remote_base_url": "https://tienda.example.com",
  "environment": "test",
  "autoinvoicing_enabled": false,
  "autosend_enabled": false
}'

Revisa la configuración antes de activar

Las tiendas nuevas usan por defecto environment: test, autoinvoicing_enabled: false y autosend_enabled: false. prices_include_tax vale true, require_tax_id vale false y simplified_threshold es 400 EUR. La API admite un umbral de hasta 3000; elige el correspondiente a tu actividad. Cambiar una tienda a live no cambia el entorno de una credencial fact_test_.

Los pedidos pagados pueden producir facturas; las devoluciones pueden producir rectificativas vinculadas a la original. Se siguen comprobando la identificación, los impuestos, el estado del pedido y el umbral configurado. Los pedidos en otras divisas necesitan conversión a EUR y un tipo de cambio disponible. Los casos fiscales o de identidad no admitidos aparecen como motivos de descarte tipados, sin fabricar una factura.

Diagnostica el resultado

Las pruebas de conexión pueden devolver HTTP 200 con credential_accepted: false. Consulta reachable, failure_code, api_version y checked_at. Una tienda inexistente devuelve 404; el éxito de la petición HTTP no demuestra por sí solo que funcionen las credenciales remotas.

Usa la bandeja de integraciones para los pedidos descartados y reprocesa solo cuando is_replayable sea true, tras corregir la causa. Suscríbete a order.invoiced y order.refunded para recibir los snapshots en data.object; usa correlation_id para relacionar eventos. channel y source_store_id conservan el origen de la factura. Las notificaciones configuradas de Slack/Teams son un destino separado de tus webhooks públicos. Desconectar una tienda detiene su conexión; no borra sus facturas ni sus eventos históricos.

En esta página

¿Te echamos una mano?Contactar con soporte