logo
Développement
Rechercher
Créer des champs de métadonnées

Créer des champs de métadonnées

Créez des champs de métadonnées par lots. Si knowledge_base_id n'est pas renseigné, des champs globaux applicables à tous les documents de l'Agent sont créés. S'il est renseigné, les champs s'appliquent uniquement à la base de connaissances indiquée. name et display_label doivent être uniques.

Règles de lots :
Un maximum de 50 peuvent être créés à la fois, et l'ensemble du lot ne sera pas traité s'il dépasse 50.
Si un name apparaît plusieurs fois dans la requête, seul le premier élément est traité ; les doublons suivants échouent.
En cas de conflit avec des champs existants, seuls les éléments concernés échouent ; les autres champs sont créés normalement.

Méthode de requête

POST

Endpoint

https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create

Authentification

Pour plus d'informations sur l'authentification, consultez l'Aperçu de l'API.

Requête

Exemple de requête

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": "Catégorie", "type": "LIST", "options": ["Technique", "Produit"], "description": "Catégorie du document", "ai_search_filter": true } ] }'
                      
                      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": "Catégorie",
            "type": "LIST",
            "options": ["Technique", "Produit"],
            "description": "Catégorie du document",
            "ai_search_filter": true
        }
    ]
}'

                    
Ce bloc de code dans la fenêtre flottante

En-têtes de requête

Champ Type Description
Authorization Bearer ${API Key} Authentifiez-vous avec Authorization: Bearer ${API Key}. Obtenez l'API Key depuis la page des clés API.
Content-Type application/json Type de données, défini sur application/json.

Paramètres de requête

Champ Type Obligatoire Description
knowledge_base_id String Non S'il est omis, les champs sont globaux et s'appliquent à tous les documents de l'Agent ; s'il est renseigné, ils s'appliquent uniquement à cette base de connaissances. La base de connaissances doit appartenir à l'Agent associé à l'API Key actuelle ; sinon, la requête échoue avec knowledge_base_id not found.
fields Array<Object> Oui Une liste de champs à créer, jusqu'à 50 à la fois.
name String Oui Identifiant interne du champ. Format ^[a-z][a-z0-9_]{0,31}$ (commence par une lettre minuscule, 1 à 32 caractères), unique.
display_label String Oui Nom d’affichage du champ, jusqu’à 64 caractères, unique.
type String Oui Type de champ : STRING / NUMBER / DATETIME / LIST (sensible à la casse).
options Array<String> Non Options d'énumération. Ce paramètre est obligatoire lorsque type vaut LIST et ne peut pas être un tableau vide.
description String Non Description du champ, jusqu'à 50 caractères.
ai_search_filter Boolean Non Indique si le champ doit être utilisé comme filtre AI Search.

Réponse

Exemple de réponse

{ "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" } ] }
                      
                      {
    "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"
        }
    ]
}

                    
Ce bloc de code dans la fenêtre flottante

Réponse réussie

Champ Type Description
success_count Integer Nombre de champs créés avec succès.
failure_count Integer Nombre de champs dont la création a échoué.
results Array<Object> Résultats champ par champ, renvoyés dans l'ordre de la demande.
name String Nom du champ.
success Boolean S'il a été créé avec succès.
id String ID de champ généré par le système, renvoyé après la création et utilisé pour modifier ou supprimer le champ.
error_message String Raison de l'échec : name or display_label already exists (name ou display_label est en conflit avec des champs existants) / duplicate name in request (duplicata dans la demande) / field limit exceeded (dépasse la limite supérieure du nombre total de champs).

Réponse d'erreur

Champ Type Description
code Integer Code d'erreur.
message String Détails de l'erreur.