/t/slug/123.json?post_number=10 ottiene il 5° post. /t/slug/123.json?post_number=50 ottiene il 45° post, ecc. È costantemente sbagliato di 5. Se vuoi ottenere tutti i post, devi usare la paginazione, e a meno che tu non consideri questo, avrai una lista incorretta.
Posso solo ipotizzare che sia stato fatto per includere alcuni post precedenti per contesto. Se questo è il caso, a mio parere, dovrebbe essere fatto nell’interfaccia utente, non nell’API.
Come applicazione a pagina singola, Discourse utilizza la sua API in modo efficiente per ridurre al minimo il lavoro. Non è ragionevole effettuare una chiamata API per post; ciò aumenterebbe enormemente la quantità di scambi tra client e server.
È banale selezionare il post che ti aspetti dal risultato. Come sopra, ottenendo solo il contenuto cotto del post 40:
○ → curl -s 'https://meta.discourse.org/t/fkb-pro-social-theme/234323.json?post_number=40' | jq -r '.post_stream.posts[] | select(.post_number == 40) | .cooked'
<p>Hi Tiago,</p>
<p>Can you please clarify it a little bit? Some screenshots, your actual code and where is your advert appear would be very helpful. Thank you <img src="https://emoji.discourse-cdn.com/twitter/slightly_smiling_face.png?v=12" title=":slightly_smiling_face:" class="emoji" alt=":slightly_smiling_face:" loading="lazy" width="20" height="20"></p>
Oppure, se vuoi assolutamente restituire informazioni solo sul singolo post che stai interrogando, sei libero di effettuare una query Data Explorer che faccia solo quello.