FISCALISTO / API / REFERENCIA
FISCALISTO / API / REFERENCIA
Shopify: con el dominio y las llaves de la app de la tienda (Dev Dashboard, permisos read_orders y write_orders) registra los webhooks y queda active. Mercado Libre: queda pending hasta que el vendedor autorice en authorize_url. Desde entonces cada pedido pagado es un ticket (folio SHOP-1001 o ML-…), que su comprador factura en el portal o entra en la factura global; un pedido cancelado o reembolsado completo cancela su ticket.
bearerAuthAutorizaciónBearer <llave>Su llave secreta: fk_test_… en pruebas, fk_live_… en producción. Desarrolladores › Llaves.
Idempotency-Key?stringOpcional (los SDK la mandan solos). Si la respuesta se pierde, repita la solicitud con el mismo valor durante 24 horas: contesta lo mismo, con idempotent-replayed: true, y no lo hace dos veces (ni crea, ni manda correos, ni cobra).
1 <= length <= 255application/jsonissuer?stringEl emisor (iss_…) dueño de la tienda. Por omisión, su único emisor.
platform*stringshopify o mercadolibre.
"shopify""mercadolibre"shop?stringShopify: el dominio de la tienda (mi-tienda.myshopify.com).
client_id?stringShopify: el Client ID de la app de la tienda (Dev Dashboard).
1 <= length <= 200client_secret?stringShopify: el Client secret de esa app; con él se firman los webhooks. Se guarda cifrado y nunca se muestra.
1 <= length <= 200access_token?stringShopify, solo apps personalizadas antiguas: su token de la Admin API (shpat_…); client_secret es entonces su API secret key.
^shpat_[A-Za-z0-9]+$return_url?stringMercado Libre: a dónde volver después de autorizar (se agregan store_connection y status).
urilength <= 500settings?Cómo se vuelve ticket cada pedido.
Correcto.
application/jsonUna tienda de Shopify o Mercado Libre cuyos pedidos pagados se vuelven tickets de autofactura del emisor.
id*stringIdentificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_).
livemode*booleantrue en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT.
object*stringQué tipo de objeto es («invoice», «customer»…).
issuer*stringEl emisor dueño de la tienda.
platform*stringshopify o mercadolibre.
"shopify""mercadolibre"shop*|El dominio de la tienda de Shopify, o el id del vendedor en Mercado Libre (al autorizar).
status*stringpending (Mercado Libre espera que el vendedor autorice en authorize_url), active o disconnected.
"pending""active""disconnected"authorize_url*|Si está pending: la página de Mercado Libre donde el vendedor autoriza (vale un día; cada consulta da una nueva). Si no, null.
settings*Cómo se vuelve ticket cada pedido.
orders_count*integerCuántos pedidos se han vuelto tickets.
-9007199254740991 <= value <= 9007199254740991last_order_at*|Cuándo llegó el último, o null.
last_error*|El último problema (un pedido en dólares, un ticket que ya se facturó cuando se canceló el pedido…), o null.
created_at*|Cuándo se conectó.
curl -X POST 'https://api.fiscalisto.com/v1/store_connections' \ -H 'Authorization: Bearer fk_test_…' \ -H 'Idempotency-Key: 8f14e45f-ceea-467a-9575-6a1b0e5f3c21' \ -H 'Content-Type: application/json' \ -d '{ "platform": "shopify", "shop": "mi-tienda.myshopify.com", "client_id": "8c1f0e7a2b3d4e5f6a7b8c9d0e1f2a3b", "client_secret": "shpss_0123456789abcdef0123456789abcdef", "settings": { "product_key": "53101600", "payment_forms": { "paypal": "31" } }}'{ "id": "stc_OufpKqnrvx9p3Kd8sLm2XyT5uBcW8sKdLx", "object": "store_connection", "livemode": false, "issuer": "iss_OufpKqnrvx9p", "platform": "shopify", "shop": "mi-tienda.myshopify.com", "status": "active", "authorize_url": null, "settings": { "product_key": "53101600", "unit_key": null, "iva": "0.16", "description": null, "folio_prefix": "SHOP-", "payment_form": null, "payment_forms": { "paypal": "31" }, "auto_invoice": null }, "orders_count": 128, "last_order_at": "2026-10-25T10:12:44-06:00", "last_error": null, "created_at": "2026-10-01T09:00:00-06:00"}