Zum Hauptinhalt springen

Berechtigungen

Jeder RxScale API-Schlüssel verfügt über eine Reihe von Berechtigungen, die steuern, auf welche Endpoints der Schlüssel zugreifen kann. Diese Seite bietet eine vollständige Referenz aller verfügbaren Berechtigungen, gruppiert nach API.

Funktionsweise der Berechtigungen

Beim Erstellen eines API-Schlüssels weisen Sie ihm eine oder mehrere Berechtigungen zu. Jeder API-Endpoint erfordert eine bestimmte Berechtigung — fehlt dem Schlüssel diese Berechtigung, gibt die Anfrage 403 Permission Denied zurück.
# Ein Schlüssel mit nur `orders_read` kann Bestellungen auflisten...
curl -X GET "https://api.rxscale.com/v1/external-pharmacy-api-v1/pharmacy_orders/" \
  -H "X-API-Key: your-api-key-here"

# ...aber keinen Bestellstatus aktualisieren (erfordert `orders_write`)
curl -X PATCH "https://api.rxscale.com/v1/external-pharmacy-api-v1/pharmacy_orders/{uid}/status" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"status": "in-progress"}'
# Gibt 403 zurück: Permission denied
Berechtigungen werden bei der Erstellung des API-Schlüssels festgelegt. Kontaktieren Sie Ihren RxScale-Kundenbetreuer, um Berechtigungen eines bestehenden Schlüssels zu ändern oder zu erweitern.

External Pharmacy API

Die External Pharmacy API verwendet apothekenspezifische API-Schlüssel. Berechtigungen sind einfache Zeichenketten, die zur Laufzeit geprüft werden.
BerechtigungTypEndpoints
orders_readLesenGET /pharmacy_orders/ — Apothekenbestellungen auflisten
GET /pharmacy_orders/{uid} — Bestelldetails abrufen
orders_writeSchreibenPATCH /pharmacy_orders/{uid}/status — Bestellstatus aktualisieren
stock_readLesenGET /pharmacy_skus/ — Apotheken-SKUs auflisten
stock_writeSchreibenPATCH /pharmacy_skus/{uid}/stock — Lagerbestand aktualisieren
pharmacy_sku_writeSchreibenPATCH /pharmacy_skus/{uid} — SKU aktualisieren (Preis, Bestand, External-ID)
PATCH /pharmacy_skus/{uid}/stock — Lagerbestand aktualisieren
PATCH /pharmacy_skus/{uid}/external_id — External-ID aktualisieren
webhooks_readLesenGET /webhooks/ — Webhook-Abonnements auflisten
webhooks_writeSchreibenPOST /webhooks/ — Webhook registrieren
DELETE /webhooks/{uid} — Webhook entfernen
Der Endpoint PATCH /pharmacy_skus/{uid}/stock akzeptiert entweder stock_write oder pharmacy_sku_write. Wenn Ihr Schlüssel eine der beiden Berechtigungen besitzt, ist die Anfrage erfolgreich. Alle anderen SKU-Schreib-Endpoints erfordern ausdrücklich pharmacy_sku_write.

Management API

Die Management API verwendet organisationsbezogene API-Schlüssel. Berechtigungen folgen der Namenskonvention ressource:aktion und werden über den @require_api_key_permission-Dekorator durchgesetzt.
BerechtigungTypEndpoints
order:readLesenGET /orders/{uid} — Bestelldetails abrufen
prescription:readLesenGET /prescriptions/{uid} — Rezeptdetails abrufen
Schaltet Rezeptdaten in Bestellantworten frei (in Kombination mit order:read)
product:readLesenGET /products/ — Produkte mit verknüpften SKU- und Shop-Daten auflisten
doctor:readLesenGET /doctors/ — Ärzte auflisten
doctor_statistics:readLesenGET /doctors/{uid}/statistics — Rezeptstatistiken eines Arztes abrufen
patient:readLesenGET /patients/?email={email} — Patient nach E-Mail suchen
GET /patients/{uid} — Patientendetails abrufen
GET /patients/{uid}/intent/{intent} — Intent-Rückgabecode abrufen
waiting_room:readLesenGET /waiting-room/{uid}/status — Status eines Wartezimmereintrags abrufen
waiting_room:writeSchreibenPOST /waiting-room/register — Patient im Wartezimmer anmelden
DELETE /waiting-room/{uid} — Wartezimmeranmeldung stornieren
wallet_pass_template:readLesenGET /wallet-passes/templates — Wallet-Pass-Vorlagen auflisten
wallet_pass:readLesenGET /wallet-passes/ — Wallet-Pässe auflisten
wallet_pass_push_notification:writeSchreibenPOST /wallet-passes/push-notifications — Push-Benachrichtigungen senden
Wenn ein API-Schlüssel order:read, aber nicht prescription:read besitzt, werden Rezeptdaten aus den Bestellantworten entfernt. Fügen Sie prescription:read hinzu, um vollständige Rezeptdetails in den Bestelldaten zu erhalten.

Benachrichtigungs-Abonnements

Die Endpoints für Benachrichtigungs-Abonnements (/notification-subscriptions/) der Management API erfordern keine spezifische granulare Berechtigung — jeder gültige Management-API-Schlüssel kann darauf zugreifen.
EndpointMethodeBeschreibung
/notification-subscriptions/GETWebhook-Abonnements auflisten
/notification-subscriptions/POSTWebhook-Abonnement erstellen
/notification-subscriptions/DELETEWebhook-Abonnement entfernen
/notification-subscriptions/testPOSTTest-Webhook senden

Public API

Die Public API verwendet organisationsbezogene API-Schlüssel (mit optionaler Unterstützung des Legacy-Headers X-RxScale-Authorization). Sie ist für Telemedizin-Anbieter konzipiert, um Produkte abzufragen und Checkouts zu erstellen.
BerechtigungTypEndpoints
product:readLesenGET /products/{shop_identifier} — Produkte eines Shops auflisten
order:readLesenGET /orders/{shop_identifier} — Bestellstatus nach Rezept-UIDs abfragen
create_prescription_checkoutSchreibenPOST /prescriptions/{shop_identifier} — Rezeptbasierten Checkout erstellen
create_treatment_checkoutSchreibenPOST /treatments/{shop_identifier} — Behandlungsbasierten Checkout erstellen
Die Berechtigungen product:read und order:read werden zwischen der Management API und der Public API geteilt. Wenn ein Schlüssel product:read besitzt, kann er sowohl GET /products/ der Management API als auch GET /products/{shop_identifier} der Public API nutzen (vorausgesetzt, der Schlüssel ist für beide gültig).

Auswahl der richtigen Berechtigungen

Befolgen Sie das Prinzip der minimalen Berechtigung — gewähren Sie nur die Berechtigungen, die Ihre Integration tatsächlich benötigt.

Häufige Szenarien

AnwendungsfallEmpfohlene Berechtigungen
Apothekenbestellverwaltungssystemorders_read, orders_write
Apothekenbestandssynchronisationstock_read, pharmacy_sku_write
Apothekenbestell- und Bestandsverwaltungorders_read, orders_write, stock_read, pharmacy_sku_write
Apotheke mit Webhook-BenachrichtigungenZusätzlich webhooks_read, webhooks_write zu den obigen
Telemedizin-Anbieter Checkout-Flowproduct:read, create_prescription_checkout
Telemedizin-Anbieter mit Bestellverfolgungproduct:read, create_prescription_checkout, order:read
Organisations-Analyse-Dashboardorder:read, prescription:read, doctor:read, doctor_statistics:read, patient:read
Wartezimmer-Integrationwaiting_room:read, waiting_room:write, patient:read
Wallet-Pass-Verwaltungwallet_pass_template:read, wallet_pass:read, wallet_pass_push_notification:write

Tipps

  • Lesen und Schreiben trennen — Wenn Ihre Integration nur Daten anzeigen muss, fordern Sie ausschließlich Leseberechtigungen an.
  • Dedizierte Schlüssel verwenden — Erstellen Sie separate API-Schlüssel für verschiedene Systeme oder Umgebungen, anstatt einen einzigen Schlüssel mit allen Berechtigungen zu teilen.
  • Regelmäßig überprüfen — Prüfen Sie Ihre API-Schlüssel regelmäßig und widerrufen Sie nicht mehr verwendete Schlüssel.
  • External Pharmacy API vs. Management API — Apothekenspezifische Integrationen sollten die External Pharmacy API mit Apotheken-API-Schlüsseln verwenden. Organisationsweite Integrationen sollten die Management API mit Management-API-Schlüsseln verwenden.