Nessuna descrizione in una categoria via API

Ciao,

Sto ancora importando dati da una vecchia app nel nostro nuovo Discourse.
Non riesco a creare una categoria con la sua descrizione con la seguente chiamata API:

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 categoria viene creata ma non c’è descrizione.

Ricevo la seguente risposta:

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

Grazie per il tuo aiuto.

Ciao :blob_wave:

La descrizione di una categoria è il contenuto dell’argomento “Informazioni” creato automaticamente. Il testo predefinito è probabilmente considerato “null” finché non viene modificato.

Penso che non ci sia un parametro “descrizione” disponibile nella richiesta per creare una categoria e che sia necessario effettuare un’altra richiesta API per aggiornare il primo post dell’argomento “Informazioni”.

A seconda del processo di importazione, potresti voler utilizzare uno script di importazione appropriato invece di utilizzare l’API. Vedi Migration

Grazie per la tua risposta

Ho creato questo script che ti permette di creare una categoria e poi modificarne la descrizione:

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": "Descrizione della categoria 1"
      }
     }'

Alla fine ha funzionato?

Sì, grazie, funziona!