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

# Auszahlungen

> Projizierte und geroutete Apotheken-Auszahlungsbeträge anzeigen

# Auszahlungen

Verwenden Sie den Auszahlungs-Endpoint, um Beträge einzusehen, die für offene Bestellungen voraussichtlich an Ihre Apotheke geroutet werden, sowie Beträge, die nach abgeschlossenen Bestellungen tatsächlich geroutet wurden.

Der Endpoint gibt nur Auszahlungen zurück, bei denen die angefragte Apotheke der Zahlungsempfänger ist. Bei einem Einzelapotheken-API-Schlüssel ist dies Ihre aktuelle Apotheke. Bei einem gruppenweiten API-Schlüssel ist dies die über `pharmacy_uid` ausgewählte Apotheke.

<Warning>
  Das tatsächliche Zahlungsrouting erfolgt erst, wenn die Apothekenbestellung abgeschlossen wird. `projected`-Auszahlungen sind unverbindliche Vorschauen für bezahlte Bestellungen mit physischem Rezept auf Basis der aktuellen Bestellwerte und Routing-Konfiguration und können sich vor Abschluss ändern. `routed`-Auszahlungswerte werden erst befüllt, nachdem für die abgeschlossene Bestellung eine persistierte Split-Payment-Route existiert.
</Warning>

## Auszahlungen auflisten

```bash theme={null}
GET /v1/external-pharmacy-api-v1/payouts
```

Erfordert die Berechtigung `orders_read`.

<ParamField query="pharmacy_uid" type="string">
  Erforderlich für gruppenweite API-Schlüssel. Einzelapotheken-API-Schlüssel werden automatisch auf ihre Apotheke beschränkt.
</ParamField>

<ParamField query="status" type="string">
  Filtert nach Auszahlungsstatus. Zulässige Werte sind `projected` und `routed`.
</ParamField>

<ParamField query="search" type="string">
  Suchbegriff. Sucht nach `pharmacy_order_uid`, `pharmacy_order_name`, der `provider_route_id` gerouteter Auszahlungen und `routing_description`.
</ParamField>

<ParamField query="start_date" type="integer">
  Unix-Zeitstempel für den Beginn des Datumsbereichs. Bei `routed`-Zeilen filtert dies nach `routing_created_at`. Bei `projected`-Zeilen filtert dies nach `pharmacy_order_created_at`.
</ParamField>

<ParamField query="end_date" type="integer">
  Unix-Zeitstempel für das Ende des Datumsbereichs. Bei `routed`-Zeilen filtert dies nach `routing_created_at`. Bei `projected`-Zeilen filtert dies nach `pharmacy_order_created_at`.
</ParamField>

<ParamField query="sort_by" type="string" default="pharmacy_order_created_at">
  Feld für die Sortierung. Zulässige Werte sind `pharmacy_order_created_at`, `routing_created_at` und `amount`.
</ParamField>

<ParamField query="sort_direction" type="string" default="desc">
  Sortierrichtung. Zulässige Werte sind `asc` und `desc`.
</ParamField>

<ParamField query="page" type="integer" default="0">
  Seitennummer (0-indiziert).
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Anzahl der Einträge pro Seite.
</ParamField>

### Statuswerte

| Status      | Beschreibung                                                                                                                                                                                          |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `projected` | Unverbindliche Vorschau für eine bezahlte Bestellung mit physischem Rezept auf Basis der aktuellen Bestellwerte und Routing-Konfiguration. Dieser Wert kann sich vor Abschluss der Bestellung ändern. |
| `routed`    | Persistierte Split-Payment-Route, die nach Abschluss der Apothekenbestellung erstellt wurde. Diese Werte entsprechen dem von RxScale erfassten gerouteten Betrag.                                     |

### Beispielanfrage

```bash theme={null}
curl -X GET "https://api.rxscale.com/v1/external-pharmacy-api-v1/payouts?pharmacy_uid=ph-xyz&start_date=1711843200&end_date=1714521599&page=0&limit=20" \
  -H "X-API-Key: your-api-key-here"
```

### Antwort

```json theme={null}
{
  "data": [
    {
      "status": "routed",
      "amount": 1299,
      "currency": "EUR",
      "component_type": "item_rest",
      "routing_description": "Restbetrag für Medication X 100mg",
      "provider_route_id": "rt_abc123",
      "pharmacy_order_uid": "po-abc123",
      "pharmacy_order_name": "#1001",
      "pharmacy_order_created_at": 1711899000,
      "routing_created_at": 1711985400
    },
    {
      "status": "routed",
      "amount": 250,
      "currency": "EUR",
      "component_type": "item_markup",
      "routing_description": "Aufschlag für Medication X 100mg",
      "provider_route_id": "rt_def456",
      "pharmacy_order_uid": "po-abc123",
      "pharmacy_order_name": "#1001",
      "pharmacy_order_created_at": 1711899000,
      "routing_created_at": 1711985400
    },
    {
      "status": "projected",
      "amount": 499,
      "currency": "EUR",
      "component_type": "shipping",
      "routing_description": "DHL Standard",
      "provider_route_id": null,
      "pharmacy_order_uid": "po-def456",
      "pharmacy_order_name": "#1002",
      "pharmacy_order_created_at": 1711981200,
      "routing_created_at": null
    }
  ],
  "totalRegistries": 3,
  "totalPages": 1
}
```

### Antwortfelder

<ResponseField name="data" type="array">
  Auszahlungszeilen für die angefragte Seite.
</ResponseField>

<ResponseField name="data[].status" type="string">
  `projected` für unverbindliche Auszahlungen bezahlter Bestellungen mit physischem Rezept oder `routed` für persistierte Routen, die nach Bestellabschluss erstellt wurden.
</ResponseField>

<ResponseField name="data[].amount" type="integer">
  Auszahlungsbetrag in Cent, zum Beispiel `1299` für 12,99 EUR.
</ResponseField>

<ResponseField name="data[].currency" type="string">
  ISO-4217-Währungscode, zum Beispiel `EUR`.
</ResponseField>

<ResponseField name="data[].component_type" type="string">
  Auszahlungskomponente, zum Beispiel `item_rest`, `item_markup` oder `shipping`.
</ResponseField>

<ResponseField name="data[].routing_description" type="string | null">
  Lesbare Beschreibung der gerouteten oder projizierten Komponente.
</ResponseField>

<ResponseField name="data[].provider_route_id" type="string | null">
  Routenbezeichner des Zahlungsanbieters. Dieser Wert ist bei gerouteten Auszahlungen befüllt, wenn der Anbieter einen Bezeichner zurückgegeben hat, und bei `projected`-Auszahlungen `null`.
</ResponseField>

<ResponseField name="data[].pharmacy_order_uid" type="string">
  UID der zugehörigen Apothekenbestellung.
</ResponseField>

<ResponseField name="data[].pharmacy_order_name" type="string | null">
  Lesbarer Name der Apothekenbestellung, zum Beispiel `#1001`.
</ResponseField>

<ResponseField name="data[].pharmacy_order_created_at" type="integer">
  Unix-Zeitstempel der Erstellung der Apothekenbestellung.
</ResponseField>

<ResponseField name="data[].routing_created_at" type="integer | null">
  Unix-Zeitstempel, zu dem die Split-Payment-Route erstellt wurde. Bei `projected`-Auszahlungen ist dieser Wert `null`; bei `routed`-Auszahlungen ist er befüllt.
</ResponseField>

<ResponseField name="totalRegistries" type="integer">
  Gesamtzahl der Auszahlungszeilen, die zu den Filtern passen.
</ResponseField>

<ResponseField name="totalPages" type="integer">
  Gesamtzahl der Seiten für das aktuelle `limit`.
</ResponseField>
