Zum Hauptinhalt springen

Audit-Log

Das Audit-Log im Admin-Tool (Einstellungen → Audit-Log) hält fest, was in Ihrer Organisation passiert: Konfigurationsänderungen, Webhook-Zustellungen, DSGVO-Exporte, das Audit-Log für Bestellimporte und jede Anfrage Ihrer Integrationen an die Management API und die Public API.

Was für API-Anfragen festgehalten wird

Jede Anfrage, die Ihrer Organisation zugeordnet werden kann, erhält einen Eintrag – egal ob sie erfolgreich ist oder fehlschlägt:
  • Zeitpunkt, Methode und Endpoint, zum Beispiel GET /v1/management/prescriptions/<prescription_uid>.
  • Der angefragte Pfad. Die Namen von Query-Parametern bleiben erhalten, ihre Werte nie.
  • Der API-Schlüssel, der die Anfrage gestellt hat: seine Kennung, nie sein Geheimnis.
  • Ergebnis und Statuscode. Bei einer fehlgeschlagenen Anfrage die Fehlerantwort, die Ihre Integration erhalten hat (bis zu 2.000 Zeichen).
  • Client-IP-Adresse, User-Agent und Dauer.
  • Eine Ausführungs-ID, mit der der RxScale-Support die Anfrage in unseren Logs findet.
Jeder API-Eintrag hat eines dieser Ereignisse:

Fehlgeschlagene Versuche

Zwei Arten abgelehnter Anfragen werden als API-Authentifizierung fehlgeschlagen festgehalten:
  • Eine Anfrage mit der Kennung eines Ihrer API-Schlüssel, aber dem falschen Geheimnis (401).
  • Eine Anfrage mit einem gültigen API-Schlüssel ohne die nötige Berechtigung (403).
Eine Anfrage ohne, mit fehlerhaftem oder mit unbekanntem API-Schlüssel lässt sich keiner Organisation zuordnen und erscheint daher nicht in Ihrem Audit-Log. Auch eine wegen Rate-Limiting abgelehnte Anfrage (429) wird nicht festgehalten.
Wer die Kennung eines Ihrer API-Schlüssel kennt, kann Einträge für fehlgeschlagene Versuche auslösen. Wiederholte fehlgeschlagene Versuche für einen Schlüssel bedeuten meist, dass eine Integration das falsche Geheimnis verwendet oder dass jemand versucht, es zu erraten. Ersetzen Sie den Schlüssel im Zweifel.

Audit-Log für Bestellimporte

Das Audit-Log für Bestellimporte hält jede Bestellung fest, die über Public Receiver V2 oder den Shopify-Webhook zu RxScale kommt. Jedes Fulfillment erhält einen Eintrag – unabhängig davon, ob die Bestellung importiert oder abgelehnt wurde. Eine Shopify-Bestellung mit zwei Fulfillments erzeugt zwei Einträge. Öffnen Sie im Admin-Tool Einstellungen → Audit-Log und setzen Sie Typ auf Bestellimport. Die Spalte Quelle zeigt Public Receiver oder Shopify-Webhook. Die Spalte Ereignis zeigt Bestellimport. Jeder Eintrag hat eines von drei Ergebnissen. Gespeichert wird success, success_with_warnings oder rejected. Beim Öffnen des Eintrags steht dieses Ergebnis unter Ergebnis des Imports, mit der Bezeichnung aus der Tabelle. Die Spalte Ergebnis in der Liste zeigt für success und success_with_warnings Erfolgreich und für rejected Fehlgeschlagen. Wurde der Import abgelehnt oder mit Warnungen importiert, zeigt die Spalte Details eine kurze Meldung: jeder Grund ist ein Code und ein Satz, zum Beispiel items_missing: 2 skus not in catalogue. Ein sauberer Import (success) lässt Details leer. Öffnen Sie den Eintrag, um den Shop, die Bestell- und Fulfillment-IDs aus dem Quellsystem, die Gründe und eine Ausführungs-ID zu lesen, mit der unser Support den Import in unseren Logs findet. Der häufigste Ablehnungsgrund ist ein rezeptpflichtiges Produkt auf einer Bestellung ohne Anamnese und ohne Rezept, bei der Skip-Validation nicht gesetzt ist. Die Bestellung wird nicht angelegt; wird die Bestellung korrigiert und der Webhook erneut ausgelöst, entsteht ein neuer Eintrag.
Die meisten abgelehnten Importe werden wiederholt, sobald das Quellsystem die Bestellung erneut sendet, und jeder Versuch ist ein eigener Eintrag – mehrere abgelehnte Einträge zur selben Bestellung bedeuten also, dass dieselbe Bestellung unverändert erneut eingetroffen ist, nicht, dass mehrere verschiedene Bestellungen fehlgeschlagen sind. Die Ausnahme ist eine Bestellung, die Ihr Shop bereits als erfüllt markiert hat: Diese Ablehnung halten wir einmal fest und ignorieren danach erneute Zustellungen derselben Version.

Was nicht als Bestellimport festgehalten wird

  • Eine Bestellung, die Ihr Shopify-Shop nicht als bezahlt markiert hat.
  • Eine Bestellung mit dem Attribut rxscale_ignore_order oder _rxscale_ignore_order auf true.
  • Eine Zustellung mit einem API-Schlüssel, den wir nicht kennen. Sie lässt sich Ihrer Organisation nicht zuordnen.
  • Ein Shopify-Webhook für einen Shop, den wir nicht kennen. Bei Public Receiver V2 ist es anders: Eine Anfrage mit einem Ihrer API-Schlüssel, die einen Shop außerhalb Ihrer Organisation nennt, wird als abgelehnter Import festgehalten.
  • Eine erneute Zustellung einer Bestellung, die wir in diesem Stand bereits importiert haben.
  • Eine Stornierung. Das sind keine Importe.

Was nie festgehalten wird

  • Anfrageinhalte (Request Bodies).
  • Werte von Query-Parametern. Suchbegriffe können Patientendaten enthalten.
  • Antwortinhalte erfolgreicher Anfragen.
  • Geheimnisse von API-Schlüsseln.
  • Zugangsdaten in einem Anfragepfad, zum Beispiel eine Wartezimmer-Queue-ID. Sie werden durch [REDACTED] ersetzt.
  • Bestellinhalte. Ein Bestellimport-Eintrag enthält IDs, Gründe und eine Meldung – nie den Bestellinhalt, Kontaktdaten oder Adresse eines Kunden, Titel oder eigene Eigenschaften einer Position oder Anamnese-Inhalte.

Aufbewahrung

Konfigurationsänderungen, Webhook-Zustellungen und DSGVO-Exporte werden wie bisher aufbewahrt.

Zeitpunkt und Vollständigkeit

Einträge erscheinen in der Regel wenige Sekunden nach der Anfrage. Das Festhalten lässt eine API-Anfrage nie fehlschlagen; deshalb kann in seltenen Fällen, etwa bei einem Infrastrukturausfall, ein Eintrag fehlen.

Filtern

Das Audit-Log zeigt standardmäßig die letzten 7 Tage. Sie können nach Typ, Ereignis, Ergebnis, API-Schlüssel und Datumsbereich filtern. Passen mehr als 10.000 Einträge, können Sie durch die neuesten 10.000 blättern; grenzen Sie die Filter ein, um ältere zu erreichen.

Audit-Log abfragen

Dasselbe Log lässt sich mit einem Management-API-Schlüssel lesen, der die Berechtigung Audit log read (audit_log:read) hat. Der Admin-Bereich und die API lesen einen Trail. Die API ist nicht verfügbar, solange das Audit-Logging für die Management API der Organisation ausgeschaltet ist. Siehe Audit-Log.

Verwandte Themen