Ir al contenido

Integración paso a paso

Para comenzar el proceso de integración, consulta las instrucciones detalladas paso a paso que se proporcionan aquí.

El diagrama adjunto ilustra el flujo de trabajo y destaca los pasos esenciales necesarios para completar la integración con éxito.

Para la integración, deberás utilizar el fiskaly HUB, la Management API y la SIGN AT API.

Antes de comenzar la configuración, esto es lo que configurará:

🏢

Organización

Su entidad de nivel superior en fiskaly. Las organizaciones gestionadas representan comerciantes individuales.

🔑

Clave API y Secret

Credenciales generadas en HUB, utilizadas para autenticar todas las solicitudes posteriores de la SIGN AT API.

🇦🇹

Autenticación FON

Credenciales de FinanzOnline proporcionadas por el contribuyente para habilitar la sincronización con la autoridad fiscal austriaca.

🛡️

SCU (Signature Creation Unit)

El componente de firma central. Una SCU por organización gestionada se encarga de la firma criptográfica de los recibos.

💻

Caja registradora

Representa una caja registradora física o virtual. Debe estar registrada en FinanzOnline e inicializada.

🧾

Recibo

Un registro fiscal firmado conforme a la RKSV que contiene datos del código QR y metadatos del recibo.

También necesitará una herramienta para realizar solicitudes HTTP — por ejemplo cURL (línea de comandos), Postman o el código de su propia aplicación. Puede descargar nuestra colección de Postman, que puede facilitar tu integración.

El diagrama a continuación ilustra el flujo de trabajo y destaca los pasos esenciales necesarios para completar la integración con éxito. Cada mosaico enlaza directamente con el paso de configuración correspondiente más abajo.

SIGN AT integration workflowTen-step SIGN AT integration workflow with tiles linking to the matching setup steps below.Register onDashboardDashboardCreate firstOrganizationDashboardCreate ManagedOrganizationsDashboardCreate API KeyDashboardAuthenticate FONSIGN ATCreate SCUSIGN ATCreate CashRegister(s)SIGN ATUpdate SCU toINITIALIZEDSIGN ATUpdate CashRegister(s)SIGN ATSign ReceiptsSIGN AT
  1. Registrarse en el Dashboard

    Comienza registrándote en el fiskaly HUB. Crear una cuenta es el primer paso, tras el cual podrás proceder con la configuración de la estructura organizativa de tu empresa en nuestro sistema.

  2. Crear la primera organización

    Continúa creando tu primera organización usando HUB. Esta organización representará al proveedor de TPV o al comerciante con tu propio sistema TPV. Es necesario incluir la dirección de facturación en esta etapa. Esta dirección solo se utilizará para los propósitos de facturación de fiskaly.

  3. Crear organizaciones gestionadas

    Tras establecer tu primera organización, procederá a crear organizaciones gestionadas. Cada organización gestionada representa a un comerciante, lo que te permite gestionarlos por separado. Si está pensando en automatizar tu proceso, te recomendamos usar el endpoint createOrganization de la Management API.

  4. Crear clave API

    El siguiente paso es generar una clave API dentro de cada organización gestionada. Esto se puede hacer a través de HUB o el endpoint createApiKey de la Management API. Este par de clave API y secret es necesario para generar un token de acceso, que se utiliza para todas las llamadas API posteriores.

    A partir del siguiente paso, utilizará la SIGN AT API.

    Autenticarse con la API

    Use tu clave API y secret para obtener un token de acceso. Este token es necesario para todas las solicitudes posteriores.

    curl -X POST https://rksv.fiskaly.com/api/v1/auth \
      -H "Content-Type: application/json" \
      -d '{
        "api_key": "your_api_key",
        "api_secret": "your_api_secret"
      }'

    La respuesta contiene un access_token que debe incluir como token Bearer en el encabezado Authorization de todas las solicitudes siguientes.

  5. Autenticar FON

    Tras autenticarse con el par de clave API y secret generado anteriormente, es necesario llamar al endpoint authenticateFon una vez por contribuyente.

    Para habilitar la sincronización con FinanzOnline, el contribuyente primero debe crear el “Usuario del Servicio Web de Cajas Registradoras” directamente en FinanzOnline y proporcionarle las credenciales de este usuario.

    curl -X POST https://rksv.fiskaly.com/api/v1/fon/auth \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "fon_participant_id": "your_fon_participant_id",
        "fon_user_id": "your_fon_user_id",
        "fon_user_pin": "your_fon_user_pin"
      }'
  6. Crear SCU

    Continúa creando una SCU a través del endpoint createSignatureCreationUnit. Por organización gestionada, solo se necesita crear una SCU. Una vez creada, el estado de una SCU será CREATED.

    SCU_ID=$(uuidgen)
    
    curl -X PUT "https://rksv.fiskaly.com/api/v1/signature-creation-unit/${SCU_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "legal_entity_id": {
          "vat_id": "ATU12345678"
        }
      }'
  7. Crear caja(s) registradora(s)

    Continúa creando al menos una caja registradora a través del endpoint createCashRegister. El número de cajas registradoras debe corresponder al número de cajas registradoras utilizadas en una tienda o establecimiento concreto. La creación de una caja registradora establece el estado CREATED.

    CASH_REGISTER_ID=$(uuidgen)
    
    curl -X PUT "https://rksv.fiskaly.com/api/v1/cash-register/${CASH_REGISTER_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "description": "Main POS Terminal"
      }'
  8. Actualizar SCU a INITIALIZED

    Para firmar recibos, tanto la SCU como la(s) caja(s) registradora(s) deben actualizarse a INITIALIZED. Llama al endpoint updateSignatureCreationUnit y transiciónela al estado INITIALIZED. Esta transición de estado registra automáticamente la SCU en el portal de FinanzOnline.

    curl -X PATCH "https://rksv.fiskaly.com/api/v1/signature-creation-unit/${SCU_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "state": "INITIALIZED"
      }'
  9. Actualizar caja(s) registradora(s)

    A diferencia de la actualización de la SCU, la(s) caja(s) registradora(s) deben actualizarse dos veces a través de updateCashRegister:

    a) Registrar la caja registradora

    Primero, cambia el estado de la caja registradora a REGISTERED. Esta transición de estado registra automáticamente la caja registradora en el portal de FinanzOnline.

    curl -X PATCH "https://rksv.fiskaly.com/api/v1/cash-register/${CASH_REGISTER_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "state": "REGISTERED"
      }'

    b) Inicializar la caja registradora

    Luego, en una segunda llamada, cambia el estado a INITIALIZED. Esta transición de estado desencadena la creación y validación del recibo inicial en el portal de FinanzOnline.

    curl -X PATCH "https://rksv.fiskaly.com/api/v1/cash-register/${CASH_REGISTER_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "state": "INITIALIZED"
      }'

    Tanto la SCU como la caja registradora están ahora listas para firmar recibos.

  10. Firmar recibos

    Con todos los pasos anteriores completados, ya está listo para firmar recibos a través del endpoint signReceipt.

    RECEIPT_ID=$(uuidgen)
    
    curl -X PUT "https://rksv.fiskaly.com/api/v1/cash-register/${CASH_REGISTER_ID}/receipt/${RECEIPT_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "receipt_type": "NORMAL",
        "schema": {
          "standard_v1": {
            "receipt": {
              "amounts_per_vat_rate": [
                {
                  "vat_rate": "STANDARD",
                  "amount": "12.00"
                }
              ],
              "amounts_per_payment_type": [
                {
                  "payment_type": "CASH",
                  "amount": "12.00"
                }
              ]
            }
          }
        }
      }'

    SIGN AT garantiza que todos los recibos cumplan con la RKSV. La respuesta contiene toda la información necesaria para completar el recibo final entregado al cliente:

    • qr_code_data — contiene los datos para el código QR de la RKSV que se mostrará en formato gráfico
    • receipt_number, time_signature y cash_register_serial_number — información para mostrar en formato textual
    • Todos los importes brutos sin procesar

Was this page helpful?