Private Message Send API

Stai impostando l’archetipo? In futuro, se includi la richiesta che stai inviando, sarà più facile aiutarti.

Il seguente esempio funziona per me:

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: se stai utilizzando una chiave API all_users, devi anche specificare api-username

3 Mi Piace

Grazie, è stato risolto! No, dato che la documentazione dell’API non elencava archetype come obbligatorio (nemmeno come “obbligatorio per i messaggi privati” come lo è target_usernames) e non diceva nulla a riguardo, non ci ho messo mano.

Comunque, ora funziona. Per riferimento di chiunque incontri lo stesso problema (specialmente se si usa POST), gli elementi del corpo codificati in JSON nella mia richiesta funzionante sono:

chiave valore
raw il testo grezzo del messaggio
title il titolo del messaggio/thread
target_usernames elenco di nomi utente separati da virgola
archetype la stringa letterale private_message

Questo viene inviato come corpo di una POST a /posts.json con i seguenti campi di intestazione personalizzati:

chiave valore
Content-Type application/json; charset=UTF-8
Api-Key dati della chiave
Api-Username il nome utente
2 Mi Piace