Private Message Send API

Êtes-vous en train de définir l’archétype ? À l’avenir, si vous incluez la requête que vous envoyez, il sera plus facile de vous aider.

L’exemple suivant fonctionne pour moi :

curl https://$DISCOURSE_HOSTNAME/posts \
  -H "api-key: $DISCOURSE_API_KEY" \
  --data 'title=Testing PM creation&archetype=private_message&target_recipients=user1,user2' \
  --data-urlencode 'raw=PM body, long enough to meet site rules & may be complex ♥'

:information_source: Si vous utilisez une clé API all_users, vous devez également spécifier api-username.

3 « J'aime »

Merci, c’est résolu ! Non, comme la documentation de l’API ne listait pas archetype comme obligatoire (pas même « obligatoire pour les messages privés » comme c’est le cas pour target_usernames) et ne mentionnait rien à son sujet, je n’ai pas touché à ce paramètre.

Quoi qu’il en soit, cela fonctionne maintenant. Pour référence de quiconque rencontrerait le même problème (surtout si vous utilisez POST), les éléments du corps encodés en JSON dans ma requête fonctionnelle sont :

clé valeur
raw le texte brut du message
title le titre du message/fil
target_usernames liste de noms d’utilisateurs séparés par des virgules
archetype la chaîne littérale private_message

Ceci est envoyé dans le corps d’une requête POST vers /posts.json avec les champs d’en-tête personnalisés suivants :

clé valeur
Content-Type application/json; charset=UTF-8
Api-Key données de la clé
Api-Username le nom d’utilisateur
2 « J'aime »