Cambiar el estado del tema a pinned-global mediante la API no funciona

Estoy trabajando en un script de Python que utiliza la API de Discourse para establecer el estado de una publicación en ‘pinned-globally’, siguiendo la documentación de la API.

La solicitud para ‘pinned-globally’ falla con el código de retorno 400, mientras que la solicitud con el parámetro de estado establecido en ‘pinned’ funciona perfectamente (es decir, puedo ver la publicación fijada localmente).
Este es el fragmento de mi código:

apiWebsite = '<my_website_URL>'
apiKey = '<secret>'
apiUsername = '<secret>'

headers = {
    'Api-Key': apiKey,
    'Api-Username': apiUsername
}


# Esta solicitud funciona correctamente
# Fijar la misma publicación localmente
payload = {
    'status': 'pinned',
    'enabled': 'true',
    'until': '2019-11-25T08:00:00'
}
u = requests.put(apiWebsite + '/t/29082/status', headers=headers, data=payload)
print(u.status_code)

Después de haber restablecido el estado de fijación a falso, intento fijarla globalmente de esta manera.

# Esta solicitud NO FUNCIONA
# Fijar el mismo tema globalmente
payload = {
    'status': 'pinned-globally',
    'enabled': 'true',
    'until': '2019-11-25T08:00:00'
}
u = requests.put(apiWebsite + '/t/29082/status', headers=headers, data=payload)
print(u.status_code)

¿Estoy pasando por alto algo obvio o es un error genuino?

P.D.: El usuario tiene privilegios suficientes.

2 Me gusta

No puedes fijar el mismo tema global y localmente al mismo tiempo. Puedes elegir una u otra opción.

1 me gusta

Hola David,
por supuesto, simplemente puse el código así para mostrar cómo difieren las dos solicitudes.
Voy a modificar la primera publicación para que sea más clara.

1 me gusta

¡Ah, bien! :ok_hand:. Al revisar el código, veo esto, lo cual causaría un error 400

Creo que necesitas pinned_globally en lugar de pinned-globally. ¿Podrías probarlo y ver si funciona? Parece que hay un error tipográfico en nuestra documentación de la API; lo corregiré.

Edición: corregido en Correct pinned_globally in topic status documentation · discourse/discourse_api_docs@fcf0d5f · GitHub

5 Me gusta

¡Confirmado! :slight_smile:
¡Muchas gracias! :clap:

3 Me gusta