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

# Webhooks

> Organisations-Webhook-Abonnements über die Management API registrieren und verwalten

# Webhooks (Management API)

Registrieren Sie Webhook-Abonnements, um Echtzeit-Benachrichtigungen für Ereignisse in Ihrer Organisation zu erhalten. Für Webhook-Payload-Formate und Sicherheit siehe den Abschnitt [Webhooks](/de/webhooks/overview).

<Note>
  Diese Endpoints erfordern die `notification_subscription`-Berechtigungen: `notification_subscription:read` zum Auflisten von Abonnements sowie `notification_subscription:write` zum Erstellen, Entfernen oder Senden eines Test-Webhooks. Ein Schlüssel ohne die erforderliche Berechtigung erhält `403 Permission Denied`. Siehe [Berechtigungen](/de/permissions) für Details.
</Note>

## Webhook-Abonnements auflisten

Rufen Sie alle aktiven Webhook-Abonnements Ihrer Organisation ab.

```bash theme={null}
GET /v1/management/notification-subscriptions
```

### Beispielanfrage

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

### Antwort

```json theme={null}
[
  {
    "uid": "ns-abc123",
    "notification_type": "pharmacy_order_created",
    "target": "https://your-system.com/webhooks/rxscale",
    "options": "WEBHOOK",
    "payload_version": "1"
  }
]
```

## Webhook-Abonnement registrieren

Erstellen Sie ein neues Webhook-Abonnement für Ihre Organisation.

```bash theme={null}
POST /v1/management/notification-subscriptions
```

### Anfragekörper

```json theme={null}
{
  "notification_type": "pharmacy_order_created",
  "target": "https://your-system.com/webhooks/rxscale",
  "payload_version": "1"
}
```

| Feld                | Typ    | Erforderlich | Beschreibung                                                         |
| ------------------- | ------ | ------------ | -------------------------------------------------------------------- |
| `notification_type` | string | Ja           | Ereignistyp, der abonniert werden soll                               |
| `target`            | string | Ja           | Webhook-URL für den Empfang von Benachrichtigungen (muss HTTPS sein) |
| `meta_data`         | object | Nein         | Optionale Metadaten für das Abonnement                               |
| `payload_version`   | string | Nein         | Payload-Schema-Version (Standard: `"1"`)                             |

### Verfügbare Ereignistypen

| Ereignistyp                      | Beschreibung                                                         |
| -------------------------------- | -------------------------------------------------------------------- |
| `pharmacy_order_created`         | Eine neue Apothekenbestellung wurde erstellt                         |
| `pharmacy_order_updated`         | Der Status einer bestehenden Bestellung hat sich geändert            |
| `pharmacy_sku_stock_updated`     | Der Lagerbestand einer Apotheken-SKU hat sich geändert               |
| `patient_doctor_meeting_updated` | Eine Patient-Arzt-Besprechung hat ihren Lebenszyklus-Status geändert |

### Beispielanfrage

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

### Antwort (201 Created)

```json theme={null}
{
  "uid": "ns-abc123",
  "notification_type": "pharmacy_order_created",
  "target": "https://your-system.com/webhooks/rxscale",
  "options": "WEBHOOK",
  "payload_version": "1"
}
```

## Webhook-Abonnement entfernen

Löschen (deaktivieren) Sie ein Webhook-Abonnement durch Angabe der Ziel-URL und des Benachrichtigungstyps.

```bash theme={null}
DELETE /v1/management/notification-subscriptions
```

<ParamField query="target" type="string" required>
  Die Webhook-Ziel-URL
</ParamField>

<ParamField query="notification_type" type="string" required>
  Der Benachrichtigungstyp, von dem abgemeldet werden soll
</ParamField>

### Beispielanfrage

```bash theme={null}
curl -X DELETE "https://api.rxscale.com/v1/management/notification-subscriptions/?target=https://your-system.com/webhooks/rxscale&notification_type=pharmacy_order_created" \
  -H "X-API-Key: your-api-key-here"
```

Gibt bei Erfolg `204 No Content` zurück.

## Webhook-Zustellung testen

Senden Sie einen Beispiel-Webhook-Payload an eine Ziel-URL, um zu überprüfen, ob Ihr Endpoint korrekt konfiguriert ist. Dies ist nützlich, um die Funktionsfähigkeit Ihres Webhook-Endpoints zu verifizieren, bevor Sie ein Abonnement erstellen.

```bash theme={null}
POST /v1/management/notification-subscriptions/test
```

### Anfragekörper

```json theme={null}
{
  "target_url": "https://your-system.com/webhooks/rxscale",
  "event_type": "pharmacy_order_created",
  "header_key": "X-Custom-Auth",
  "header_value": "my-secret-token"
}
```

| Feld           | Typ    | Erforderlich | Beschreibung                                                                           |
| -------------- | ------ | ------------ | -------------------------------------------------------------------------------------- |
| `target_url`   | string | Ja           | URL, an die der Test-Webhook gesendet werden soll (muss HTTPS sein)                    |
| `event_type`   | string | Nein         | Zu simulierender Ereignistyp (Standard: `pharmacy_order_created`)                      |
| `header_key`   | string | Nein         | Name eines benutzerdefinierten Headers, der in die Testanfrage aufgenommen werden soll |
| `header_value` | string | Nein         | Wert des benutzerdefinierten Headers, der in die Testanfrage aufgenommen werden soll   |

### Beispielanfrage

```bash theme={null}
curl -X POST "https://api.rxscale.com/v1/management/notification-subscriptions/test" \
  -H "X-API-Key: your-api-key-here" \
  -H "Content-Type: application/json" \
  -d '{
    "target_url": "https://your-system.com/webhooks/rxscale",
    "event_type": "pharmacy_order_created",
    "header_key": "X-Custom-Auth",
    "header_value": "my-secret-token"
  }'
```

### Antwort

```json theme={null}
{
  "success": true,
  "status_code": 200,
  "payload_sent": {
    "event_type": "pharmacy_order_created",
    "timestamp": 1711700000,
    "payload_version": "1",
    "data": { ... }
  }
}
```

<Note>
  Test-Webhook-Payloads enthalten den Header `X-Webhook-Test: true`, damit Ihr Endpoint Testzustellungen von echten unterscheiden kann.
</Note>
