Algo raro pasó al crear un usuario vía API

Cuando pruebo el API users.json, utilizo Postman para crear un usuario; funciona y queda activado por defecto, lo que significa que active=true funciona.

Pero cuando creo un usuario con código en Node.js, con los mismos parámetros, active=true ya no funciona. Aunque recibo un mensaje de éxito que dice:

success: true,
active: false,

¿Cómo es posible? Ni siquiera lo veo en el backend.

Mi suposición es que tu código de Node.js no está pasando la clave de API correctamente, por lo que no se te permite anular el parámetro active. Si puedes compartir aquí un fragmento de tu código, es posible que podamos ayudarte.

Hola David, gracias:

aquí está mi solicitud:

{
 "url": "users.json",
 "method": "post",
 "data": {
      "api_key": "57d06a163190ee90de1118ac2adbaf5eeb5aa93d4d02dbe8f5d424c388f126e294c",
      "api_username": "Nathan001",
      "name": "tokgood",
      "email": "tokgood@qq.com",
      "password": "64c6457d-b815-4e87-8ea1-e66becd710bc",
      "username": "2cx9pyCMyn",
      "active": true,
      "approved": true
 },
 "headers": {
      "common": {
           "Accept": "application/json, text/plain, */*"
      },
      "delete": {},
      "get": {},
      "head": {},
      "post": {
           "Content-Type": "application/x-www-form-urlencoded"
      },
      "put": {
           "Content-Type": "application/x-www-form-urlencoded"
      },
      "patch": {
           "Content-Type": "application/x-www-form-urlencoded"
      },
      "content-type": "multipart/form-data"
 },
 "baseURL": "https://www.tuntry.com/",
 "transformRequest": [
      null
 ],
 "transformResponse": [
      null
 ],
 "timeout": 60000,
 "xsrfCookieName": "XSRF-TOKEN",
 "xsrfHeaderName": "X-XSRF-TOKEN",
 "maxContentLength": -1
}

He verificado dos veces el usuario y la clave de la API; son correctos.

Acabo de envolver una solicitud POST con Axios.

   const post = (url, data) => service.post(url, {
   api_key: Config.discourse.api_key,
   api_username: Config.discourse.api_username,
  ...data,
 }
)

No sé mucho sobre Node, pero por lo que puedo ver, eso parece correcto.

Una cosa que podrías probar es enviar las credenciales de la API a través de las cabeceras HTTP en lugar de los parámetros. El envío mediante parámetros está obsoleto y generará una advertencia en tu panel de administración. Los nombres de las cabeceras son Api-Key y Api-Username (fíjate en los guiones, no en los guiones bajos). Más información aquí.

Gran hombre, sí, lo resolví después de agregar Api-Key y Api-Username y añadir 'content-type': 'application/json', al encabezado.