D Digikart ← Start

Kassenintegration · Digikart-API

Version 1 · für Kassenhersteller, Integratoren und Middleware
Diese API ermöglicht es einer Kassensoftware, jeden Zahlvorgang an Digikart zu senden: Die Treuekarte Apple Wallet / Google Wallet des Kunden wird gutgeschrieben (Stempel oder Punkte je nach Geschäft) und auf seinem Telefon aktualisiert in Echtzeit, ohne jede erneute Eingabe durch das Personal.

1. Authentifizierung

Jedes Digikart-Geschäft verfügt über einen API-Schlüssel , der in seiner Übersicht generiert wird (Mein Konto → Kassenanbindung). Er wird im HTTP-Header übertragen:

Authorization: Bearer dk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Der Schlüssel gehört zu einem Geschäft: Er kann nur die Karten dieses Geschäfts gutschreiben. Er kann vom Händler jederzeit widerrufen oder neu generiert werden.

2. Verbindung testen

GEThttps://digikart.fr/api/pos/ping

curl https://digikart.fr/api/pos/ping \
  -H "Authorization: Bearer dk_live_..."

→ { "ok": true, "business": "Bar Bichette", "mode": "points", "pointsRate": 1 }

mode vaut "stamps" (Stempel: 1 Besuch = 1 Stempel) oder "points" (Punkte werden aus dem Bonbetrag berechnet).

3. Einen Verkauf gutschreiben

POSThttps://digikart.fr/api/pos/transaction

ChampTypeDescription
cardstring* Die Kennung der Kundenkarte: der Inhalt des Barcodes / QR-Codes auf seiner Wallet-Karte (eine Seriennummer oder eine URL /c/<serial>, beide werden akzeptiert).
phonestring* Alternative zum Scan: die Telefonnummer, die der Kunde bei der Installation seiner Karte angegeben hat (nützlich für Kassen und Terminals ohne 2D-Scanner). Zulässige Formate: 06 12 34 56 78 oder +33612345678.
* card oder phone : Einer von beiden ist erforderlich.
amountnumber Bonbetrag in Euro. Erforderlich, wenn das Geschäft im Punktemodus ist (er bestimmt die Punkte). Optional im Stempelmodus (für die Statistiken des Händlers gespeichert).
transaction_idstring Eindeutige Bon-ID auf Kassenseite. Dringend empfohlen : Er garantiert die Idempotenz (siehe §4).

Beispiel: Geschäft im Punktemodus

curl -X POST https://digikart.fr/api/pos/transaction \
  -H "Authorization: Bearer dk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "card": "A1B2C3D4E5", "amount": 23.80, "transaction_id": "TICKET-20260715-0042" }'

→ {
    "ok": true, "mode": "points",
    "serial": "A1B2C3D4E5", "name": "Marie D.",
    "stamps": 61,            // solde de points après crédit
    "pointsAdded": 24,       // arrondi de 23,80 € × taux du commerce
    "rewardUnlocked": false,
    "claimable": null        // ou { threshold, reward } si un palier est atteint
  }

Beispiel: Geschäft im Stempelmodus

curl -X POST https://digikart.fr/api/pos/transaction \
  -H "Authorization: Bearer dk_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "card": "A1B2C3D4E5", "transaction_id": "TICKET-20260715-0043" }'

→ { "ok": true, "mode": "stamps", "stamps": 7, "stampsRequired": 10, "rewardUnlocked": false }

Sobald die Antwort kommt, wird die Wallet-Karte des Kunden auf seinem Telefon aktualisiert (Apple-Push / Google-API): kassenseitig nichts weiter zu tun.

4. Idempotenz (erneut gesendete Bons)

Wird eine Transaktion mit einer transaction_id erneut gesendet, die bereits verarbeitet wurde (erneuter Netzwerkversuch, erneut gesendeter Webhook), schreibt Digikart nicht ein zweites Mal gut : Die ursprüngliche Antwort wird erneut gesendet, ergänzt um "duplicate": true. Verwenden Sie die Bon-ID Ihrer Kasse, die zwischen zwei Versuchen gleich bleibt.

5. Fehler

HTTPcodeSignification
400invalid_requestUngültiger Anfragetext.
400amount_requiredDas Geschäft ist im Punktemodus: amount ist erforderlich.
401unauthorizedSchlüssel fehlt, unbekannt oder widerrufen.
402subscription_requiredDas Digikart-Abonnement des Geschäfts ist nicht aktiv.
403wrong_merchantDie Karte gehört zu einem anderen Geschäft.
404card_not_found / phone_not_foundUnbekannte Karte, oder kein Kunde mit dieser Nummer bei diesem Geschäft.
429too_soon / rate_limitedDuplikat erkannt ohne transaction_id, oder mehr als 120 Anfragen/Minute.

Im Fehlerfall wird nichts geschrieben: Die Transaktion kann gefahrlos erneut gesendet werden.

6. Typischer Ablauf an der Kasse

  • Der Kunde zeigt seine Digikart-Karte (Apple/Google Wallet): Die Kasse scannt seinen Barcode.
  • Beim Bezahlen ruft die Kasse POST /api/pos/transaction mit der Karte, dem Betrag und der Bon-ID.
  • Die Karte des Kunden aktualisiert sich sofort auf seinem Telefon.

7. Kontakt für Integratoren

Kassenhersteller, Integrator, Middleware (HubRise usw.): Schreiben Sie uns an contact@digikart.fr : Wir begleiten Integrationen gerne.