Private Message Send API

¿Estás configurando el arquetipo? En el futuro, si incluyes la solicitud que estás enviando, será más fácil ayudarte.

El siguiente ejemplo funciona para mí:

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 estás utilizando una clave de API all_users, también debes especificar api-username.

3 Me gusta

¡Gracias, eso lo ha solucionado! No, ya que la documentación de la API no listaba archetype como obligatorio (ni siquiera como “obligatorio para mensajes privados” como lo está target_usernames) ni decía nada sobre su propósito, no lo estaba modificando.

De todos modos, esto ahora funciona. Y como referencia para cualquiera que se encuentre con el mismo problema (especialmente si usa POST), los elementos del cuerpo codificados en JSON en mi solicitud que funciona son:

clave valor
raw el texto sin procesar del mensaje
title el título del mensaje/hilo
target_usernames lista de nombres de usuario separados por comas
archetype la cadena literal private_message

Esto se envía como el cuerpo de una solicitud POST a /posts.json con los campos de encabezado personalizados:

clave valor
Content-Type application/json; charset=UTF-8
Api-Key datos de la clave
Api-Username el nombre de usuario
2 Me gusta