# Zustellberechtigungs-Scope

Die Zustellberechtigungs-Scopes erlauben dem Zustelldienst festzustellen, ob ein dort eingesendeter Einreichung vom Versender an eine Destination übermittelt werden darf.

## Zusammensetzung der Zustellberechtigungs-Scopes

Der Zustellberechtigungsscope kann entweder eine Destination-ID oder alternativ eine spzifische Art der Leistung, eine bestimmte Region oder eine Kombination aus Region und Leistung enthalten. Die Angabe im Scope beschränkt Zugriffe auf die angegeben Zustellpunkte, Leistungen oder Regionen. 

Ein Zustellberechtigungs-Scope kann den folgenden Typen entsprechen:

| Type           | Beispiel                                         | Erläuterung                                                  |
| -------------- | ------------------------------------------------ | ------------------------------------------------------------ |
| destination    | destination:655c6eb6-e80a-4d7b-a8d2-3f3250b6b9b1 | Die UUID einer in FIT-Connenct angelegten Destination.       |
| leika          | leika:99108008252000                             | LeiKa steht dafür, das die folgende ID einer Leistung im [Leistungskatalog der öffentlichen Verwaltung](https://leitfaden.ozg-umsetzung.de/display/OZG/2.1+Verwaltungsleistungen+im+Sinne+des+OZG) verzeichnet ist. |
| region         | region:08110000                                  | Region steht für einen [Amtlichen Gemeindeschlüssel](https://de.wikipedia.org/wiki/Amtlicher_Gemeindeschl%C3%BCssel) |
| region-leika   | region:08110000+leika:99108008252000             | Eine Kombination aus einem amtlichen Gemeindeschlüssel und einer LeiKa-ID. Hier erfolgt eine Einschränkung nach beiden angegeben Kriterien (Zugriff nur auf spezifische Leistung in der angegebenen Region). |
| custom-service | custom-service:42                                | Eine Leistung, die nicht im Leistungskatalog abgebildet wird. |

## Beispiele
Beschränkung auf eine spezifische Destination:

```
destination:655c6eb6-e80a-4d7b-a8d2-3f3250b6b9b1
```

Bei den Destinationen kann zusätzlich der Scope **destination:create** (erstellen der Destination) , **destination:manage** (verwalten der Destination) und **destination:subscribe** (subscriben auf Webhooks) vergeben werden.

```
destination:manage:655c6eb6-e80a-4d7b-a8d2-3f3250b6b9b1
```

LeiKa-Leistung für die [Begutachung von abgeschleppten Fahrzeugen](https://fimportal.de/detail/L/99108008252000):

```
leika:99108008252000
```

Wenn ein Prefix für einen AGS angegeben wird, schließt dieser alle sich darin befindlichen Subentitäten mit ein. Dieser Schlüssel steht für alle Leistungen in der Region Stuttgart und schließt alle darunterliegenden Gemeinden, Stadtteile, etc. mit ein:

```
region:08110000
```

Die LeiKa-Leistung für die [Begutachung von abgeschleppten Fahrzeugen](https://fimportal.de/detail/L/99108008252000) in der Region Stuttgart:

```
region:08110000+leika:99108008252000
```

## Kombination verschiedener Berechtigungen

Wenn eine Liste von Zustellberechtigungsscopes angegeben wird, sind diese immer unabhängig voneinander zu betrachten. Im folgenden Fall werden sowohl alle Leistungen in der Region Stuttgart als auch die Leistung [Begutachung von abgeschleppten Fahrzeugen](https://fimportal.de/detail/L/99108008252000) in Brandenburg freigegeben:

```json
["region:08110000", "region:12000000+leika:99108008252000"]
```

## Regex zur Validierung

```
(leika:[0-9]{1,12})|(region:[0-9]{1,12})|(custom-service:[0-9]{1,12})|(destination(:create|:manage|:subscribe)?:[0-9A-F]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89AB][0-9a-f]{3}-[0-9a-f]{12})
```