> ## 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.

# Leitfaden zur Apothekenintegration

> Schritt-für-Schritt-Anleitung für Apotheken zur Integration mit RxScale

# Leitfaden zur Apothekenintegration

Dieser Leitfaden führt Sie durch die Schritte zur Integration Ihrer Apotheke oder Ihres Apothekenverwaltungssystems mit RxScale -- von der Bereitstellung Ihres API-Schlüssels bis zur Verarbeitung Ihrer ersten Bestellung.

## Schritt 1: API-Schlüssel erhalten

Wenden Sie sich an Ihren RxScale-Kundenbetreuer, um Ihre API-Zugangsdaten zu erhalten. Sie erhalten:

* Einen **API-Schlüssel** zur Authentifizierung
* Eine **Apotheken-UID** (oder Zugriff auf Gruppenebene, wenn Sie mehrere Apotheken verwalten)
* Zugang zur **Entwicklungsumgebung** zum Testen

| Umgebung    | Basis-URL                     |
| ----------- | ----------------------------- |
| Entwicklung | `https://api.rxscale-dev.com` |
| Produktion  | `https://api.rxscale.com`     |

Testen Sie Ihren Schlüssel mit einem Health Check:

```bash theme={null}
curl -X GET "https://api.rxscale-dev.com/v1/external_pharmacy_api/health/" \
  -H "X-API-Key: your-api-key-here"
```

## Schritt 2: SKUs synchronisieren

Rufen Sie den SKU-Katalog Ihrer Apotheke ab und synchronisieren Sie ihn mit Ihrem internen Produktsystem.

```bash theme={null}
curl -X GET "https://api.rxscale.com/v1/external_pharmacy_api/pharmacy_skus/" \
  -H "X-API-Key: your-api-key-here"
```

Für jede SKU können Sie:

* **Ihren Preis festlegen** (in Euro-Cent)
* **Lagerbestände aktualisieren**, um Ihren aktuellen Bestand widerzuspiegeln
* **Eine externe ID verknüpfen** aus Ihrem Apothekenverwaltungssystem

```bash theme={null}
curl -X PATCH "https://api.rxscale.com/v1/external_pharmacy_api/pharmacy_skus/psku-abc123" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 1299,
    "stock": 100,
    "external_id": "YOUR-PMS-ID-001"
  }'
```

Siehe [Apotheken-SKUs](/de/api-reference/external-pharmacy/skus) für die vollständige Dokumentation.

## Schritt 3: Webhooks registrieren

Richten Sie Webhooks ein, damit Ihr System Echtzeit-Benachrichtigungen erhält, wenn neue Bestellungen eingehen oder sich Lagerbestände ändern.

```bash theme={null}
curl -X POST "https://api.rxscale.com/v1/external_pharmacy_api/webhooks/" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "target": "https://your-pharmacy.com/webhooks/rxscale",
    "notification_type": "pharmacy_order_created"
  }'
```

<Warning>
  Speichern Sie das in der Antwort zurückgegebene `signing_secret`. Sie benötigen es zur Überprüfung von Webhook-Signaturen. Es wird nur einmal angezeigt.
</Warning>

Wir empfehlen, folgende Ereignistypen zu abonnieren:

| Ereignistyp                  | Grund                                                                                |
| ---------------------------- | ------------------------------------------------------------------------------------ |
| `pharmacy_order_created`     | Sofortige Benachrichtigung, wenn eine neue Bestellung Ihrer Apotheke zugewiesen wird |
| `pharmacy_order_updated`     | Statusänderungen verfolgen (z. B. Stornierungen)                                     |
| `pharmacy_sku_stock_updated` | Synchron bleiben, wenn der Lagerbestand extern angepasst wird                        |

Siehe [Webhook-Sicherheit](/de/webhooks/security) für die Überprüfung von Webhook-Signaturen.

## Schritt 4: Bestellungen verarbeiten

Wenn Sie einen `pharmacy_order_created`-Webhook erhalten (oder den Bestellungen-Endpoint abfragen), verarbeiten Sie die Bestellung in Ihrem Apothekenworkflow:

### 4a. Bestelldetails anzeigen

```bash theme={null}
curl -X GET "https://api.rxscale.com/v1/external_pharmacy_api/pharmacy_orders/po-abc123" \
  -H "X-API-Key: your-api-key-here"
```

Dies gibt die vollständige Bestellung zurück, einschließlich Patientendaten, Arztdaten, Rezeptdateien und Positionen.

### 4b. Bestellstatus aktualisieren

Aktualisieren Sie den Status, während Sie die Bestellung verarbeiten:

```bash theme={null}
curl -X PATCH "https://api.rxscale.com/v1/external_pharmacy_api/pharmacy_orders/po-abc123/status" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"status": "in-progress"}'
```

Und wenn die Bestellung verpackt und zur Abholung oder zum Versand bereit ist:

```bash theme={null}
curl -X PATCH "https://api.rxscale.com/v1/external_pharmacy_api/pharmacy_orders/po-abc123/status" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{"status": "ready_for_pickup"}'
```

Schließen Sie die Bestellung über den dedizierten Completion-Endpoint ab, damit RxScale den Bestand reduzieren und Versand- sowie Bestellaktualisierungsereignisse veröffentlichen kann:

```bash theme={null}
curl -X PATCH "https://api.rxscale.com/v1/external_pharmacy_api/pharmacy_orders/po-abc123/complete_order" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "tracking_links": [
      {
        "tracking_link": "https://tracking.example.com/parcel/123",
        "carrier": "DHL"
      }
    ]
  }'
```

Siehe [Bestelllebenszyklus](/de/guides/order-lifecycle) für den vollständigen Statusablauf.

## Integrations-Checkliste

<AccordionGroup>
  <Accordion title="API-Schlüssel und Konnektivität">
    * API-Schlüssel von RxScale erhalten
    * Konnektivität mit dem Health-Check-Endpoint überprüft
    * In der Entwicklungsumgebung getestet, bevor Produktion genutzt wird
  </Accordion>

  <Accordion title="SKU-Synchronisierung">
    * Vollständigen SKU-Katalog abgerufen
    * Externe IDs Ihrem Apothekenverwaltungssystem zugeordnet
    * Anfangspreise und Lagerbestände festgelegt
    * Regelmäßige Bestandssynchronisierung geplant (oder Webhooks verwenden)
  </Accordion>

  <Accordion title="Webhook-Einrichtung">
    * Webhooks für `pharmacy_order_created` und `pharmacy_order_updated` registriert
    * Signaturschlüssel sicher gespeichert
    * Signaturüberprüfung implementiert
    * Endpoint antwortet innerhalb von 5 Sekunden mit `2xx`
  </Accordion>

  <Accordion title="Bestellverarbeitung">
    * Eingehende Bestellungen werden verarbeitet (über Webhook oder Abfrage)
    * Bestellstatus wird bei Verarbeitung und Versand aktualisiert
    * Bestellungen werden über den dedizierten `complete_order`-Endpoint abgeschlossen
    * Sonderfälle werden behandelt (Stornierungen, Bestandsprobleme)
  </Accordion>
</AccordionGroup>
