Ir al contenido

La API Unificada

La API Unificada de fiskaly es una arquitectura de integración única que cubre múltiples países. Intégrela una vez para Francia o Italia, y añadir el siguiente país significa cambiar el esquema del payload — no reescribir tu integración.

Esta página documenta cómo funciona la API Unificada, cómo se ve su modelo de recursos y cómo difiere de las APIs Especializadas (SIGN DE, SIGN AT, SIGN ES).

fiskaly proporciona dos arquitecturas de API. Ambas son completamente compatibles y se mantienen activamente:

API UnificadaAPIs Especializadas
PaísesFrancia (SIGN FR), Italia (SIGN IT), Suecia (próximo)Alemania (SIGN DE), Austria (SIGN AT), España (SIGN ES)
URLs basetest.api.fiskaly.com / live.api.fiskaly.comEspecíficas del producto (p. ej., kassensichv.fiskaly.com)
Gestión de org.Integrada en la API del productoManagement API separada (management.fiskaly.com)
IDs de recursosGenerados por el servidor (use X-Idempotency-Key)UUIDs generados por el cliente
Control de versionesEncabezado X-Api-Version (basado en fecha, sin cambios disruptivos)Sin encabezado de versión (posibles cambios disruptivos)
Alcance de recursosEncabezado X-Scope-IdentifierParámetros de ruta
TerminologíaOrganización, Contribuyente, Ubicación, Sistema, RegistroTSS, cliente, transacción (varía por producto)
Añadir un paísCambiar esquema del payload dentro del mismo modelo de recursosIntegrar una API separada con diferentes endpoints
EscenarioRecomendación
Solo necesita AlemaniaSIGN DE (API Especializada)
Solo necesita AustriaSIGN AT (API Especializada)
Solo necesita EspañaSIGN ES (API Especializada)
Solo necesita Francia o ItaliaAPI Unificada
Necesita Francia + Italia (o + Suecia)API Unificada — integra una vez, añade países mediante esquema de payload
Necesita Alemania + FranciaAmbas — SIGN DE (Especializada) + SIGN FR (Unificada). Mismo patrón de autenticación, diferentes modelos de recursos.
Está empezando y planifica 3+ paísesEmpiece con la API Unificada para FR/IT, añade APIs Especializadas para DE/AT/ES según sea necesario

La API Unificada utiliza URLs base separadas para cada entorno:

  • TEST: https://test.api.fiskaly.com
  • LIVE: https://live.api.fiskaly.com

Esto es diferente de las APIs Especializadas (p. ej., SIGN DE), donde se utiliza una única URL base y la API Key determina el entorno.

Cada solicitud a la API Unificada incluye estos encabezados:

Obligatorio en cada solicitud. El valor es la fecha de lanzamiento de la versión de la API que está usando (p. ej., 2026-02-03).

X-Api-Version: 2026-02-03

Esto te da control total sobre cuándo adoptar una nueva versión. Puede:

  • Probar una nueva versión en TEST antes de migrar LIVE
  • Ejecutar diferentes clientes en diferentes versiones simultáneamente
  • Garantizar ningún cambio disruptivo dentro de una versión fijada

Obligatorio en todas las solicitudes POST y PATCH. Dado que los IDs de recursos son generados por el servidor (no por el cliente como en SIGN DE), este encabezado garantiza que las solicitudes reintentadas no crean recursos duplicados.

X-Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000

Use un UUIDv4 o UUIDv3 nuevo para cada operación distinta. Use una nueva clave al reintentar una solicitud fallida.

Se usa para establecer relaciones entre recursos. Reemplaza los parámetros de ruta usados en la Management API y las APIs Especializadas.

X-Scope-Identifier: organization-unit-id

Por ejemplo, al crear una API Key para una Organization::UNIT específica, el encabezado X-Scope-Identifier contiene el ID de la Unidad en lugar de codificarlo en la ruta URL.

La API Unificada usa una jerarquía de recursos estandarizada en todos los países:

Organization::ACCOUNT ← Tu empresa (nivel superior, gestionada en HUB)
└── Organization::GROUP ← Clúster lógico (región, marca, franquicia)
└── Organization::UNIT ← Comerciante individual / contribuyente
├── Subject::API_KEY ← Credenciales de API para esta unidad
├── Taxpayer (COMPANY o INDIVIDUAL)
│ │
│ ├── Información general (nombre, dirección — compartida entre países)
│ │
│ └── Información de fiscalización (específica del país: SIREN para FR,
│ Codice Fiscale para IT, etc.)
├── Location ← Ubicación física del negocio (tienda, local)
└── System::FISCAL_DEVICE ← Terminal POS / caja registradora

Cada recurso principal (Contribuyente, Ubicación, Sistema) sigue la misma máquina de estados:

ACQUIRED ──→ COMMISSIONED ──→ DECOMMISSIONED
(creado) (activo) (retirado)
  • ACQUIRED — el recurso está creado pero aún no activo. Modo: INACTIVE.
  • COMMISSIONED — el recurso está activo y listo para producción. Modo: OPERATIVE. Esta transición es irreversible e inicia la facturación.
  • DECOMMISSIONED — el recurso está permanentemente retirado. Modo: INACTIVE. También irreversible.

Modos operativos dentro del estado COMMISSIONED:

ModoSignificadoEstablecido por
OPERATIVEOperación normalAutomático (al comisionar o tras resolver un problema)
DEGRADEDProblema detectadoAutomático (por el servicio)
SUSPENDEDPausa de mantenimientoManual (por ti, a través de la API)

En la API Unificada, las transacciones se denominan Registros y usan un modelo de dos pasos:

  1. Record::INTENTION — marca el inicio de una operación fiscal (equivalente a Start-Transaction en SIGN DE)
  2. Record::TRANSACTION — completa la operación fiscal con el payload completo (equivalente a Finish-Transaction en SIGN DE)

Tipos de operación adicionales compatibles solo a través de Record::INTENTION:

  • EVENT — eventos del sistema (modo de entrenamiento, operaciones de prueba, reinicios)
  • DUPLICATE — duplicado de un documento fiscal existente
  • EXPORT — generación de exportación de datos fiscales

Was this page helpful?