Metadatenfelder erstellen
Erstellen Sie Metadatenfelder stapelweise. Wenn knowledge_base_id nicht angegeben wird, werden globale Felder erstellt, die für alle Dokumente des Agents gelten. Wenn die ID angegeben wird, gelten die Felder nur für die jeweilige Wissensdatenbank. Sowohl name als auch display_label müssen eindeutig sein.
Batch-Regeln:
Es können maximal 50 gleichzeitig erstellt werden und der gesamte Stapel wird nicht verarbeitet, wenn er 50 überschreitet.
Wenn ein name in der Anfrage mehrfach vorkommt, wird nur der erste Eintrag verarbeitet; alle weiteren Duplikate schlagen fehl.
Bei Konflikten mit vorhandenen Feldern schlagen nur die betroffenen Einträge fehl; alle übrigen Felder werden normal erstellt.
Anfragemethode
POST
Endpunkt
https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create
Authentifizierung
Informationen zur Authentifizierung finden Sie in der API-Übersicht.
Anfrage
Anfragebeispiel
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"knowledge_base_id": "kb_001",
"fields": [
{
"name": "category",
"display_label": "Kategorie",
"type": "LIST",
"options": ["Technik", "Produkt"],
"description": "Dokumentkategorie",
"ai_search_filter": true
}
]
}'
Anfrage-Header
| Feld | Typ | Beschreibung |
|---|---|---|
| Authorization | Bearer ${API Key} | Authentifizieren Sie sich mit Authorization: Bearer ${API Key}. Den API Key erhalten Sie auf der API-Schlüsselseite. |
| Content-Type | application/json | Datentyp, eingestellt auf application/json. |
Anfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| knowledge_base_id | String | Nein | Ohne Angabe gelten die Felder global für alle Dokumente des Agents; mit Angabe nur für diese Wissensdatenbank. Die Wissensdatenbank muss zum Agent gehören, der dem aktuellen API Key zugeordnet ist; andernfalls schlägt die Anfrage mit knowledge_base_id not found fehl. |
| fields | Array<Object> | Ja | Eine Liste der zu erstellenden Felder, bis zu 50 gleichzeitig. |
| name | String | Ja | Interner Feldbezeichner. Format ^[a-z][a-z0-9_]{0,31}$ (beginnt mit einem Kleinbuchstaben, 1-32 Zeichen), eindeutig. |
| display_label | String | Ja | Feldanzeigename, bis zu 64 Zeichen, eindeutig. |
| type | String | Ja | Feldtyp: STRING / NUMBER / DATETIME / LIST (Groß-/Kleinschreibung beachten). |
| options | Array<String> | Nein | Auswahloptionen. Bei type LIST ist dieses Feld erforderlich und darf nicht leer sein. |
| description | String | Nein | Feldbeschreibung, bis zu 50 Zeichen. |
| ai_search_filter | Boolean | Nein | Ob als AI Search-Filterfeld verwendet werden soll. |
Antwort
Antwortbeispiel
{
"success_count": 1,
"failure_count": 2,
"results": [
{
"name": "category",
"success": true,
"id": "665f1c8a9b2e4d001a3f0001"
},
{
"name": "priority",
"success": false,
"error_message": "name or display_label already exists"
},
{
"name": "category",
"success": false,
"error_message": "duplicate name in request"
}
]
}
Erfolgreiche Antwort
| Feld | Typ | Beschreibung |
|---|---|---|
| success_count | Integer | Anzahl erfolgreich erstellter Felder. |
| failure_count | Integer | Die Anzahl der Felder, die nicht erstellt werden konnten. |
| results | Array<Object> | Feldweise Ergebnisse, zurückgegeben in der Reihenfolge der Anfrage. |
| name | String | Feldname. |
| success | Boolean | Ob es erfolgreich erstellt wurde. |
| id | String | Vom System generierte Feld-ID; wird bei erfolgreicher Erstellung zurückgegeben und zum Bearbeiten oder Löschen verwendet. |
| error_message | String | Grund für den Fehler: name or display_label already exists (name oder display_label steht in Konflikt mit vorhandenen Feldern) / duplicate name in request (Duplikat innerhalb der Anfrage) / field limit exceeded (übersteigt die Obergrenze der Gesamtzahl der Felder). |
Fehlerantwort
| Feld | Typ | Beschreibung |
|---|---|---|
| code | Integer | Fehlercode. |
| message | String | Fehlerdetails. |
