Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.rxscale.com/llms.txt

Use this file to discover all available pages before exploring further.

Produkte

Rufen Sie eine paginierte Liste der in einem bestimmten Shop verfügbaren Produkte ab, gefiltert nach Markt.

Produkte auflisten

GET /v2/public/products/{shop_identifier}
shop_identifier
string
erforderlich
Eindeutiger Bezeichner für den Shop
market
string
erforderlich
Marktbezeichner (z. B. DE für Deutschland)
Produkte und SKUs nach Name filtern
page
integer
Standard:"0"
Seitennummer (0-basiert)
limit
integer
Standard:"50"
Ergebnisse pro Seite (max. 150)
Erforderliche Berechtigung: product:read

Beispielanfrage

curl -X GET "https://api.rxscale.com/v2/public/products/my-shop?market=DE&page=0&limit=25" \
  -H "X-API-Key: your-api-key-here"

Antwort

{
  "data": [
    {
      "uid": "prod-abc123",
      "display_name": "Medication X",
      "attributes": [
        {
          "key": "category",
          "value": "Pain Relief"
        }
      ],
      "skus": [
        {
          "uid": "sku-456",
          "display_name": "Medication X 100mg",
          "pzn": "12345678",
          "price": 1299
        },
        {
          "uid": "sku-789",
          "display_name": "Medication X 200mg",
          "pzn": "87654321",
          "price": 1999
        }
      ]
    }
  ],
  "totalRegistries": 42,
  "totalPages": 2
}

Antwortfelder

FeldTypBeschreibung
dataarrayListe der Produktobjekte
data[].uidstringProdukt-UID
data[].display_namestringAnzeigename des Produkts
data[].attributesarrayProduktattribute (Schlüssel-Wert-Paare)
data[].skusarrayVerfügbare SKUs für dieses Produkt im angegebenen Markt
data[].skus[].uidstringSKU-UID (verwenden Sie diese beim Erstellen von Checkouts)
data[].skus[].pznstringPharmazentralnummer
data[].skus[].priceintegerPreis in Euro-Cent
totalRegistriesintegerGesamtanzahl der übereinstimmenden Produkte
totalPagesintegerGesamtanzahl der Seiten

Fehlerantworten

StatuscodeBeschreibung
400Fehlender market-Abfrageparameter
404Shop nicht gefunden

Produkte reservieren

Erstellen Sie einen Shopify-Bestellentwurf mit einer Bestandsreservierung für 24 Stunden, bevor Rezepte vorliegen. Verwenden Sie die zurückgegebene Draft-Order-ID später als reserved_draft_order_id, wenn Sie signierte Rezepte hochladen.
POST /v2/public/products/{shop_identifier}/reservation
shop_identifier
string
erforderlich
Eindeutiger Bezeichner für den Shop
Erforderliche Berechtigung: create_prescription_checkout
Die Reservierungsanfrage enthält keine Rezepte und keine Patientendaten. RxScale ergänzt Telemedizin-Anbieter-Attribute automatisch anhand des API-Keys.
Der API-Key muss mit einem Telemedizin-Anbieter verknüpft sein. Anfragen mit einem nicht-telemedizinischen API-Key werden mit 400 Bad Request abgelehnt, bevor Bestand reserviert wird, da der resultierende Bestellentwurf beim späteren Rezept-Upload nicht zugeordnet werden könnte.

Anfragekörper

{
  "external_reservation_id": "caller-reservation-123",
  "lines": [
    {
      "sku_uid": "sku-456",
      "quantity": 1
    }
  ]
}
FeldTypErforderlichBeschreibung
external_reservation_idstringNeinIhre Reservierungs-ID. Wird am Shopify-Bestellentwurf gespeichert und in der Antwort zurückgegeben
linesarrayJaZu reservierende Produkte
lines[].sku_uidstringJaSKU-UID aus dem Produktkatalog
lines[].quantityintegerJaZu reservierende Menge
Jede sku_uid darf pro Reservierungsanfrage nur einmal vorkommen. Doppelte SKU-Zeilen werden abgelehnt, weil der spätere Rezept-Upload jede reservierte Draft-Order-Zeile eindeutig zuordnen muss.

Beispielanfrage

curl -X POST "https://api.rxscale.com/v2/public/products/my-shop/reservation" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "external_reservation_id": "caller-reservation-123",
    "lines": [
      {
        "sku_uid": "sku-456",
        "quantity": 1
      }
    ]
  }'

Antwort

{
  "status": "success",
  "external_reservation_id": "caller-reservation-123",
  "draft_order": {
    "id": "123",
    "invoiceUrl": "https://example.myshopify.com/invoice/...",
    "reserve_inventory_until": "2026-05-16T17:20:00Z"
  }
}
draft_order.id ist die Shopify Legacy-DraftOrder-ID, nicht die Shopify-GID. Übergeben Sie diesen Wert nach der Signatur der Rezepte als reserved_draft_order_id an POST /v2/public/prescriptions/{shop_identifier}.

Fehlerantworten

StatuscodeBeschreibung
400API-Key ist nicht mit einem Telemedizin-Anbieter verknüpft, Body-Validierung fehlgeschlagen oder doppelte sku_uid-Werte
404Shop oder SKU nicht gefunden