Excelente pregunta, coincido en que puede resultar un poco confuso. Si deseas pasar varios post_ids, deberías incluir varios campos de datos de formulario para post_ids[], como se muestra en este ejemplo con curl:
¿Sigue siendo esta la forma recomendada de enviar un array a la API? Estoy intentando crear un webhook y no logro enviar el parámetro de array web_hook_event_type_ids.
Lo he probado con CURL (como multipart/form-data):
curl -X POST "https://MYSITE.com/admin/api/web_hooks" \
-H "Api-Key: KEY" \
-H "Api-Username: USER" \
-F "payload_url=https://MYOTHERSITE.com" \
-F "content_type=1" \
-F "wildcard_web_hook=false" \
-F "verify_certificate=true" \
-F "active=true" \
-F "web_hook_event_type_ids[]=2"
# Recibo
{"errors":["param is missing or the value is empty: web_hook"]}%
Parece que todo este endpoint requiere los valores en un parámetro anidado web_hook:
No soy muy fanático de este formato anidado, y hay varios endpoints como este en mi lista eventual para corregir. Puedes hacer una llamada a la API usando form-data de la siguiente manera:
¡Ah, muchas gracias! Eso no es lo que decía en la API de Discourse, así que estaba volviéndome loco.
Además, he notado que es obligatorio establecer web_hook_event_type_ids con al menos un elemento, incluso si al final uso wildcard_web_hook=true. Eso también me dejó con la cabeza rota durante un tiempo.