Aller au contenu

Intégration étape par étape

Pour commencer le processus d’intégration, veuillez consulter les instructions détaillées étape par étape fournies ici.

Le diagramme ci-joint illustre le flux de travail et met en évidence les étapes essentielles nécessaires pour réussir votre intégration.

Pour l’intégration, vous devrez utiliser le fiskaly HUB, la Management API et la SIGN AT API.

Avant de plonger dans la configuration, voici ce que vous allez configurer :

🏢

Organisation

Votre entité de niveau supérieur dans fiskaly. Les organisations gérées représentent des commerçants individuels.

🔑

Clé API et Secret

Identifiants générés dans HUB, utilisés pour authentifier toutes les requêtes ultérieures de l'API SIGN AT.

🇦🇹

Authentification FON

Identifiants FinanzOnline fournis par le contribuable pour activer la synchronisation avec l'autorité fiscale autrichienne.

🛡️

SCU (Signature Creation Unit)

Le composant central de signature. Une SCU par organisation gérée se charge de la signature cryptographique des reçus.

💻

Caisse enregistreuse

Représente une caisse enregistreuse physique ou virtuelle. Doit être enregistrée auprès de FinanzOnline et initialisée.

🧾

Reçu

Un document fiscal signé conforme à la RKSV contenant les données du code QR et les métadonnées du reçu.

Vous aurez également besoin d’un outil pour effectuer des requêtes HTTP — par exemple cURL (ligne de commande), Postman ou le code de votre propre application. Vous pouvez télécharger notre collection Postman, qui peut faciliter votre intégration.

Le diagramme ci-dessous illustre le flux de travail et met en évidence les étapes essentielles nécessaires pour réussir votre intégration. Chaque vignette renvoie directement à l’étape de configuration correspondante ci-dessous.

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. S'inscrire sur le Dashboard

    Commencez par vous inscrire sur le fiskaly HUB. La création d’un compte est la première étape, après quoi vous pouvez procéder à la mise en place de la structure organisationnelle de votre entreprise dans notre système.

  2. Créer la première organisation

    Continuez en créant votre première organisation à l’aide de HUB. Cette organisation représentera le fournisseur de TPV ou le commerçant avec son propre système TPV. Il est nécessaire d’inclure l’adresse de facturation à cette étape. Cette adresse sera uniquement utilisée à des fins de facturation par fiskaly.

  3. Créer des organisations gérées

    Après avoir établi votre première organisation, vous procéderez à la création d’organisations gérées. Chaque organisation gérée représente un commerçant, vous permettant de les gérer séparément. Si vous envisagez d’automatiser votre processus, nous recommandons d’utiliser l’endpoint createOrganization de la Management API.

  4. Créer une clé API

    L’étape suivante consiste à générer une clé API au sein de chaque organisation gérée. Cela peut être fait via HUB ou l’endpoint createApiKey de la Management API. Cette paire clé API et secret est nécessaire pour générer un token d’accès, utilisé pour tous les appels API ultérieurs.

    À partir de l’étape suivante, vous utiliserez la SIGN AT API.

    S’authentifier avec l’API

    Utilisez votre clé API et votre secret pour obtenir un token d’accès. Ce token est requis pour toutes les requêtes ultérieures.

    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 réponse contient un access_token que vous devez inclure en tant que token Bearer dans l’en-tête Authorization de toutes les requêtes suivantes.

  5. Authentifier FON

    Après vous être authentifié avec la paire clé API et secret générée précédemment, il est nécessaire d’appeler l’endpoint authenticateFon une fois par contribuable.

    Pour activer la synchronisation avec FinanzOnline, le contribuable doit d’abord créer l‘“Utilisateur du Service Web de Caisse Enregistreuse” directement dans FinanzOnline et vous fournir les identifiants de cet utilisateur.

    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. Créer la SCU

    Continuez en créant une SCU via l’endpoint createSignatureCreationUnit. Par organisation gérée, une seule SCU doit être créée. Une fois créée, l’état d’une SCU sera 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. Créer la/les caisse(s) enregistreuse(s)

    Continuez en créant au moins une caisse enregistreuse via l’endpoint createCashRegister. Le nombre de caisses enregistreuses doit correspondre au nombre de caisses enregistreuses utilisées dans un magasin ou un établissement particulier. La création d’une caisse enregistreuse définit l’état à 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. Mettre à jour la SCU à INITIALIZED

    Pour signer des reçus, la SCU et la/les caisse(s) enregistreuse(s) doivent être mises à jour à INITIALIZED. Appelez l’endpoint updateSignatureCreationUnit et faites-la transitionner à l’état INITIALIZED. Cette transition d’état enregistre automatiquement la SCU dans le portail 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. Mettre à jour la/les caisse(s) enregistreuse(s)

    Contrairement à la mise à jour de la SCU, la/les caisse(s) enregistreuse(s) doit/doivent être mise(s) à jour deux fois via updateCashRegister :

    a) Enregistrer la caisse enregistreuse

    Premièrement, changez l’état de la caisse enregistreuse à REGISTERED. Cette transition d’état enregistre automatiquement la caisse enregistreuse dans le portail 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) Initialiser la caisse enregistreuse

    Ensuite, dans un deuxième appel, changez l’état à INITIALIZED. Cette transition d’état déclenche la création et la validation du reçu initial dans le portail 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"
      }'

    La SCU et la caisse enregistreuse sont maintenant prêtes à signer des reçus.

  10. Signer les reçus

    Avec toutes les étapes précédentes terminées, vous êtes maintenant prêt à signer des reçus via l’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 garantit que tous les reçus sont conformes à la RKSV. La réponse contient toutes les informations nécessaires pour compléter le reçu final remis au client :

    • qr_code_data — contient les données pour le code QR RKSV à afficher sous forme graphique
    • receipt_number, time_signature et cash_register_serial_number — informations à afficher sous forme textuelle
    • Tous les montants bruts bruts

Was this page helpful?