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

# Übersicht

> External Pharmacy API für Apothekenintegrationen

# External Pharmacy API

Die External Pharmacy API ermöglicht es Apotheken, ihre Bestellungen zu verwalten, Lagerbestände zu aktualisieren und Echtzeitbenachrichtigungen über Bestellungsänderungen zu erhalten.

## Basispfad

```
/v1/external_pharmacy_api
```

## Interaktive API-Dokumentation (Swagger)

Eine Live-Swagger-Oberfläche steht zur Verfügung, um Endpoints direkt im Browser zu erkunden und zu testen:

```
https://api.rxscale.com/v1/external_pharmacy_api/apidocs
```

<Tip>
  Die Swagger-Oberfläche ermöglicht es Ihnen, API-Aufrufe interaktiv auszuprobieren. Authentifizieren Sie sich mit Ihrem API-Schlüssel, um gegen echte Daten zu testen.
</Tip>

## Authentifizierung

Alle Endpoints erfordern einen API-Schlüssel über den `X-API-Key`-Header. Weitere Informationen finden Sie unter [Authentifizierung](/de/authentication).

### API-Schlüssel-Geltungsbereich

API-Schlüssel können entweder auf eine einzelne Apotheke oder auf eine gesamte Apothekengruppe beschränkt sein:

* **Einzelapotheken-Schlüssel** sind an eine bestimmte Apotheke gebunden. Alle Anfragen werden automatisch auf diese Apotheke beschränkt, und es sind keine zusätzlichen Parameter erforderlich.
* **Gruppenweite Schlüssel** decken alle Apotheken innerhalb einer Apothekengruppe ab. Bei Verwendung eines gruppenweiten API-Schlüssels ist der Query-Parameter `pharmacy_uid` bei den meisten Endpoints **erforderlich**, um anzugeben, für welche Apotheke Sie handeln.

```bash theme={null}
# Gruppenweiter API-Schlüssel: pharmacy_uid ist erforderlich
GET /v1/external_pharmacy_api/pharmacy_orders/?pharmacy_uid=your-pharmacy-uid

# Einzelapotheken-API-Schlüssel: keine pharmacy_uid nötig
GET /v1/external_pharmacy_api/pharmacy_orders/
```

<Warning>
  Wenn Sie einen gruppenweiten API-Schlüssel verwenden und den Parameter `pharmacy_uid` bei einem Endpoint weglassen, der ihn erfordert, gibt die Anfrage einen Fehler zurück.
</Warning>

## Verfügbare Endpoints

| Methode  | Endpoint                                | Beschreibung                                               |
| -------- | --------------------------------------- | ---------------------------------------------------------- |
| `GET`    | `/pharmacy_orders/`                     | Apothekenbestellungen auflisten                            |
| `GET`    | `/pharmacy_orders/{uid}`                | Bestelldetails abrufen                                     |
| `PATCH`  | `/pharmacy_orders/{uid}/status`         | Bestellstatus aktualisieren                                |
| `PATCH`  | `/pharmacy_orders/{uid}/complete_order` | Bestellung abschließen                                     |
| `GET`    | `/payouts`                              | Projizierte und geroutete Apotheken-Auszahlungen auflisten |
| `GET`    | `/pharmacy_skus/`                       | Apotheken-SKUs auflisten                                   |
| `PATCH`  | `/pharmacy_skus/{uid}`                  | SKU aktualisieren (Preis, Bestand, external\_id)           |
| `PATCH`  | `/pharmacy_skus/{uid}/stock`            | Lagerbestand aktualisieren                                 |
| `PATCH`  | `/pharmacy_skus/{uid}/external_id`      | Externe ID aktualisieren                                   |
| `GET`    | `/webhooks/`                            | Webhook-Abonnements auflisten                              |
| `POST`   | `/webhooks/`                            | Webhook registrieren                                       |
| `DELETE` | `/webhooks/{uid}`                       | Webhook entfernen                                          |

## Erforderliche Berechtigungen

| Endpoint                                    | Erforderliche Berechtigung              |
| ------------------------------------------- | --------------------------------------- |
| Bestellungen auflisten/anzeigen             | `orders_read`                           |
| Auszahlungen auflisten                      | `orders_read`                           |
| Bestellungen aktualisieren oder abschließen | `orders_write`                          |
| SKUs auflisten                              | `stock_read`                            |
| SKU-Daten aktualisieren                     | `stock_write` oder `pharmacy_sku_write` |
| Webhooks verwalten                          | `webhooks_read` / `webhooks_write`      |
