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

1 « J'aime »

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 !

1 « J'aime »