Ir al contenido

Inicio rápido de Alemania

Este inicio rápido te guía a través de la autenticación con la API de SIGN DE, la creación de un TSS (Sistema de Seguridad Técnica) y la firma de tu primera transacción. Al final tendrás un flujo de firma fiscal funcional.

  • Una cuenta fiskaly con una organización alemana (regístrate en hub.fiskaly.com)
  • Una clave de API y un secreto generados en el entorno de PRUEBA
  • Una herramienta para realizar solicitudes HTTP (cURL, Postman o el código de tu aplicación)
  1. Autenticar

    Usa tu clave de API y secreto para obtener un token de acceso:

    curl -X POST https://kassensichv-middleware.fiskaly.com/api/v2/auth \
      -H "Content-Type: application/json" \
      -d '{
        "api_key": "YOUR_API_KEY",
        "api_secret": "YOUR_API_SECRET"
      }'

    La respuesta contiene un access_token (válido 24h) y un refresh_token (válido 48h).

  2. Crear e inicializar un TSS

    Crea un TSS, establece el PIN de administrador, autentícate como administrador e inicializa:

    # Crear TSS
    TSS_ID=$(uuidgen)
    curl -X PUT "https://kassensichv-middleware.fiskaly.com/api/v2/tss/${TSS_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"description": "Quickstart TSS"}'
    
    # Cambiar PIN de administrador
    curl -X PATCH "https://kassensichv-middleware.fiskaly.com/api/v2/tss/${TSS_ID}/admin" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"admin_puk": "ADMIN_PUK_FROM_RESPONSE", "new_admin_pin": "my-secure-pin"}'
    
    # Autenticarse como administrador
    curl -X POST "https://kassensichv-middleware.fiskaly.com/api/v2/tss/${TSS_ID}/admin/auth" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"admin_pin": "my-secure-pin"}'
    
    # Inicializar TSS
    curl -X PATCH "https://kassensichv-middleware.fiskaly.com/api/v2/tss/${TSS_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"state": "INITIALIZED"}'
  3. Crear un cliente

    CLIENT_ID=$(uuidgen)
    curl -X PUT "https://kassensichv-middleware.fiskaly.com/api/v2/tss/${TSS_ID}/client/${CLIENT_ID}" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"serial_number": "POS-001"}'
  4. Firmar tu primera transacción

    Inicia una transacción y luego finalízala con los datos del recibo:

    TX_ID=$(uuidgen)
    
    # Iniciar transacción
    curl -X PUT "https://kassensichv-middleware.fiskaly.com/api/v2/tss/${TSS_ID}/tx/${TX_ID}?tx_revision=1" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{"state": "ACTIVE", "client_id": "'${CLIENT_ID}'"}'
    
    # Finalizar transacción con recibo
    curl -X PUT "https://kassensichv-middleware.fiskaly.com/api/v2/tss/${TSS_ID}/tx/${TX_ID}?tx_revision=2" \
      -H "Authorization: Bearer ${ACCESS_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '{
        "state": "FINISHED",
        "client_id": "'${CLIENT_ID}'",
        "schema": {
          "standard_v1": {
            "receipt": {
              "receipt_type": "RECEIPT",
              "amounts_per_vat_rate": [{"vat_rate": "NORMAL", "amount": "10.00"}],
              "amounts_per_payment_type": [{"payment_type": "CASH", "amount": "10.00"}]
            }
          }
        }
      }'

    La respuesta incluye una signature criptográfica del TSS, el signature_counter y todos los datos necesarios para un recibo conforme a KassenSichV.

Was this page helpful?