n8n_node_librebooking/CUSTOM-ATTRIBUTES.md

160 lines
4.0 KiB
Markdown

# Benutzerdefinierte Attribute (Custom Attributes)
Diese Dokumentation erklärt, wie Sie benutzerdefinierte Attribute in LibreBooking über die n8n Nodes verwenden können.
## Überblick
LibreBooking unterstützt benutzerdefinierte Attribute für:
- **Reservierungen** (Kategorie-ID: 1)
- **Benutzer** (Kategorie-ID: 2)
- **Ressourcen** (Kategorie-ID: 4)
- **Ressourcen-Typen** (Kategorie-ID: 5)
## Attribut-Typen
| Typ | Beschreibung | Wert |
|-----|--------------|------|
| Einzeilig | Einfaches Textfeld | 1 |
| Mehrzeilig | Textbereich | 2 |
| Auswahlliste | Dropdown-Menü | 3 |
| Checkbox | Ja/Nein Feld | 4 |
| Datum/Zeit | Datums-/Zeitauswahl | 5 |
## Attribute abrufen
### Alle Attribute einer Kategorie abrufen
1. Wählen Sie **Ressource**: `Attribut`
2. Wählen Sie **Operation**: `Nach Kategorie Abrufen`
3. Wählen Sie **Kategorie-ID**: z.B. `Reservierung`
Die Antwort enthält alle Attribute mit ihren IDs und Eigenschaften.
### Einzelnes Attribut abrufen
1. Wählen Sie **Ressource**: `Attribut`
2. Wählen Sie **Operation**: `Abrufen`
3. Geben Sie die **Attribut-ID** ein
## Attribute bei Reservierungen setzen
### Bei Erstellen einer Reservierung
1. Wählen Sie **Ressource**: `Reservierung`
2. Wählen Sie **Operation**: `Erstellen`
3. Füllen Sie die Pflichtfelder aus
4. Unter **Benutzerdefinierte Attribute**:
- Klicken Sie auf "Attribut hinzufügen"
- Geben Sie die **Attribut-ID** ein (z.B. `1`)
- Geben Sie den **Wert** ein (z.B. `Meetingraum-Konfiguration`)
### Bei Aktualisieren einer Reservierung
Gleiche Vorgehensweise wie beim Erstellen.
### Beispiel JSON für API-Request
```json
{
"resourceId": 1,
"startDateTime": "2024-01-15T10:00:00+01:00",
"endDateTime": "2024-01-15T11:00:00+01:00",
"title": "Team Meeting",
"termsAccepted": true,
"customAttributes": [
{
"attributeId": 1,
"attributeValue": "Standard-Setup"
},
{
"attributeId": 2,
"attributeValue": "10"
}
]
}
```
## Attribute bei Ressourcen setzen
### Bei Erstellen einer Ressource
1. Wählen Sie **Ressource**: `Ressource`
2. Wählen Sie **Operation**: `Erstellen`
3. Füllen Sie die Pflichtfelder aus (Name, Zeitplan-ID)
4. Unter **Benutzerdefinierte Attribute**:
- Klicken Sie auf "Attribut hinzufügen"
- Geben Sie die **Attribut-ID** und den **Wert** ein
### Beispiel: Raum mit Ausstattung
```json
{
"name": "Konferenzraum A",
"scheduleId": 1,
"customAttributes": [
{
"attributeId": 10,
"attributeValue": "Beamer, Whiteboard"
},
{
"attributeId": 11,
"attributeValue": "20"
}
]
}
```
## Attribute bei Benutzern setzen
### Bei Erstellen eines Benutzers
1. Wählen Sie **Ressource**: `Benutzer`
2. Wählen Sie **Operation**: `Erstellen`
3. Füllen Sie die Pflichtfelder aus
4. Unter **Benutzerdefinierte Attribute**:
- Klicken Sie auf "Attribut hinzufügen"
- Geben Sie die **Attribut-ID** und den **Wert** ein
## Neue Attribute erstellen (Admin)
1. Wählen Sie **Ressource**: `Attribut`
2. Wählen Sie **Operation**: `Erstellen`
3. Füllen Sie aus:
- **Kategorie-ID**: Ziel-Kategorie (1, 2, 4 oder 5)
- **Attribut-Label**: Anzeigename
- **Attribut-Typ**: Feldtyp
4. Optional unter **Attribut-Optionen**:
- **Erforderlich**: Pflichtfeld?
- **Nur Admin**: Nur für Admins sichtbar?
- **Mögliche Werte**: Für Auswahllisten (komma-getrennt)
## Tipps
### Attribut-IDs herausfinden
1. Nutzen Sie die Operation "Nach Kategorie Abrufen"
2. Notieren Sie sich die `id` der benötigten Attribute
### Checkbox-Attribute
Für Checkbox-Attribute verwenden Sie:
- `"1"` oder `"true"` für aktiviert
- `"0"` oder `"false"` für deaktiviert
### Auswahllisten
Der Wert muss exakt einem der möglichen Werte entsprechen.
## Fehlerbehebung
### Attribut wird nicht gespeichert
- Prüfen Sie, ob die Attribut-ID korrekt ist
- Prüfen Sie, ob das Attribut für diese Kategorie gilt
- Prüfen Sie, ob der Wert dem Attribut-Typ entspricht
### Zugriff verweigert
- Einige Attribute sind nur für Admins verfügbar
- Prüfen Sie die Berechtigungen in LibreBooking