Estoy intentando realizar una solicitud POST a través de la API para crear un nuevo usuario.
Caso de uso: Crear un nuevo usuario una vez que se envía un formulario de tarjeta de crédito en un sitio de WordPress. En última instancia, esto se activará desde Google Tag Manager usando JavaScript.
Para probarlo, he escrito lo siguiente, lo he guardado como un archivo PHP y lo he subido a mi servidor. Recibo un error de Error de parseo: error de sintaxis, 'POST' inesperado (T_STRING) en /nas/content/live/username/newuser.php en la línea 2
¡Disculpas si parezco alguien que sabe lo que está haciendo! Agradezco tu ayuda, @Arkshine, y seguiré buscando cómo resolver esto.
Esto es absolutamente una tarea para la que no estoy preparado, pero lo estoy intentando.
Logré que la solicitud se guardara poniendo Api-Username y Api-Key entre comillas. Gracias, Arkshine. Luego ejecuté el script a través de GTM y revisé los registros de Discourse, pero no apareció nada.
Creo que malinterpretaste la API. Este endpoint no es para crear un usuario. Generará un enlace de invitación y lo enviará al correo electrónico del usuario. Una vez que haga clic, el usuario podrá registrarse.
Para crear un usuario manualmente, debería ser este endpoint: Discourse API Docs
Recomiendo que den un paso o dos hacia atrás para describir el problema que intentan resolver. No está claro que el camino que están siguiendo sea una buena solución.
Buena idea. Quiero crear un nuevo usuario en Discourse y asignarlo a dos grupos cuando alguien complete un formulario de pago en mi sitio de WordPress.
Mi plan es pasar las variables de nombre y correo electrónico desde el formulario a la página de agradecimiento, y luego enviar al comprador un correo electrónico con sus nuevas credenciales de acceso.
Google Tag Manager puede extraer las variables de nombre y correo electrónico de la URL y luego añadirlas al script publicado anteriormente.
¿Hay una mejor manera de hacerlo? No quiero implementar SSO con WP Discourse.
¿Por qué no usar SSO y uno de los varios gestores de suscripciones de WordPress documentados aquí? La forma de actualizar la membresía de los grupos desde WordPress está bien documentada.
Está bien, estoy teniendo dificultades para encontrar el enfoque adecuado. Quiero mantener mi foro en Discourse por todos sus beneficios Y también quiero ofrecer un curso sencillo con 7 módulos distribuidos a lo largo de 14 semanas.
Con tu componente de tema Feverbee, el diseño se ve excelente.
Anteriormente, impartía el curso en cohortes: la gente pagaba y yo creaba manualmente su cuenta de usuario en Discourse. Eso funcionaba bien, pero ahora quiero un sistema de “matrícula abierta”.
Investigué Paid Membership Pro, pero no me convence la idea de usar un sitio de WordPress solo para gestionar las membresías.
Utilicé Memberful durante unos meses, pero su comisión por transacción del 4,9 % más la cuota mensual me parece un poco excesiva.
Discourse Subscriptions parece una buena opción, aunque creo que no puedo mostrar las páginas de planes a usuarios que no hayan iniciado sesión (y no lo habrían hecho si aún no fueran clientes).
Mi idea de realizar una solicitud POST a la API para crear un nuevo miembro y agregarlo a un grupo es una solución provisional mientras atraigo a más miembros. Una vez que tenga más usuarios, pensé en encargar algún desarrollo personalizado.
Problema adicional: tengo una aplicación para iOS compilada desde el repositorio y preferiría no alquilar una máquina virtual nuevamente para volver a compilarla con una nueva URL si tengo que usar SSO desde un sitio de WordPress. Podría estar equivocado sobre la necesidad de modificar el archivo de configuración de la aplicación; aún no lo he intentado.
Parece que WordPress SSO + Paid Membership Pro es la única opción viable para la gestión real de miembros.
Eso parece un problema solucionable, tal vez pagando por la funcionalidad o quizás teniendo una parte de tu sitio accesible para personas que aún no han pagado.
Hoy he probado un poco el plugin de Suscripciones. Creo que lo que recomendaría es que tengas contenido gratuito en tu sitio para que las personas tengan una razón para crear una cuenta antes de comprar un curso. Considero que esta es una solución bastante decente para hacer que las páginas de planes estén disponibles para los no suscriptores. Tiene sentido que quieran ver un poco del contenido antes de pagar.
Buena observación, pero mi experiencia como comprador aquí es bastante diferente. En este caso, se trata más de una venta directa, donde el foro de Discourse es parte del producto.
Necesito una solución que me permita enviar a un cliente potencial a un formulario de pago que pueda completar sin necesidad de crear primero una cuenta de usuario en Discourse.
Mi idea es que simplemente lograr que esta API POST funcione me dará una solución a corto plazo mientras incorporo clientes y puedo permitirme el desarrollo personalizado.
Mi etiqueta de Google Tag Manager se está ejecutando, aunque no aparece nada dentro de Discourse. Si puedo lograr que GTM cree un nuevo usuario y establezca el Grupo correcto, mi solución será 70% a largo plazo y 100% a corto plazo.
Probé esta URL en Postman: https://site.co/users.json?Api-Key=12345&Api-Username=system&email=hello@domain.com&group_names=Alumni&custom_message=Welcome321
Lo cual me devolvió esto:
{
"success": true,
"active": false,
"message": "<p>¡Casi terminas! Hemos enviado un correo de activación a <b>hello@domain.com</b>. Sigue las instrucciones del correo para activar tu cuenta.</p><p>Si no llega, revisa tu carpeta de spam.</p>"
}
Sin embargo, no he recibido ningún correo. Revisé mis registros en /logs y no hay nada listado. También revisé el spam.