Aucune description dans une catégorie via l'API

Salut,

J’importe toujours des données d’une ancienne application vers notre nouveau Discourse.
Je ne parviens pas à créer une catégorie avec sa description via l’appel API suivant :

curl -X POST "https://site-discourse/categories.json" \
-H "Api-Key: api-key" \
-H "Api-Username: api-username" \
-d "name=categorie test" \
-d "description=Description De La Categorie"

La catégorie est créée mais il n’y a pas de description.

J’obtiens la réponse suivante :

{"category":{"id":21,"name":"categorie test",[...],"slug":"categorie-test",[...] **,"description":null**,"description_text":null,"description_excerpt":null,"topic_url":"/t/a-propos-de-la-categorie-categorie-test/12286",[...]}

Merci pour votre aide.

Salut :blob_wave:

La description d’une catégorie est le contenu du sujet « À propos » créé automatiquement. Le texte par défaut est probablement considéré comme « nul » jusqu’à ce qu’il soit modifié.

Je pense qu’il n’y a pas de paramètre « description » disponible dans la requête pour créer une catégorie, et vous devez effectuer une autre requête API pour mettre à jour le premier message du sujet « À propos ».

Selon votre processus d’importation, vous pourriez vouloir utiliser un script d’importation approprié au lieu d’utiliser l’API. Voir Migration

Merci pour votre réponse

J’ai créé ce script vous permettant de créer une catégorie puis de modifier sa description :

curl -X POST "https://site-discourse/categories.json" \
 -H "Api-Key: api-key" \
 -H "Api-Username: api-username" \
 -d "name=Catégorie 1"
 
 sleep 2 
 
latest_posts_response=$(curl -X GET "https://site-discourse/posts.json" \
 -H "Content-Type: application/json" \
 -H "Api-Key: api-key" \
 -H "Api-Username: api-username")
 
post_id=$(echo $latest_posts_response | jq  '.latest_posts[0] .id')
   
curl -X PUT "https://site-discourse/posts/$post_id.json" \
 -H "Content-Type: application/json" \
 -H "Api-Key: api-key" \
 -H "Api-Username: api-username" \
 -d '{
        "post": {
        "raw": "Description de la catégorie 1"
      }
     }'

Finalement, ça a marché ?

Oui merci ça marche !