Estou tentando fazer uma requisição POST via API para criar um novo usuário.
Caso de uso: Criar um novo usuário após o envio de um formulário de cartão de crédito em um site WordPress. No final, isso será disparado pelo Google Tag Manager usando JavaScript.
Para testar, escrevi o seguinte código, salvei como um arquivo PHP e o carreguei no meu servidor. Recebo um erro: Parse error: syntax error, unexpected 'POST' (T_STRING) in /nas/content/live/username/newuser.php on line 2.
Peço desculpas se parecer alguém que sabe o que está fazendo! Agradeço sua ajuda, @Arkshine, e continuarei procurando uma solução para isso.
Esta é absolutamente uma tarefa para a qual estou despreparado, mas estou tentando.
Consegui fazer a solicitação de salvamento colocando Api-Username e Api-Key entre aspas. Obrigado, Arkshine. Em seguida, executei o script via GTM e verifiquei meus logs do Discourse, mas não houve nenhum resultado.
Acho que você interpretou mal a API. Esse endpoint não é para criar um usuário. Ele vai gerar um link de convite e enviá-lo para o e-mail do usuário. Ao clicar no link, o usuário poderá se registrar.
Para criar um usuário manualmente, o endpoint correto é: Discourse API Docs
Recomendo que dê um ou dois passos para trás e descreva o problema que está tentando resolver. Não está claro se o caminho que você está seguindo é uma boa solução.
Ótima ideia. Quero criar um novo usuário no Discourse, adicionado a dois Grupos, quando alguém concluir um formulário de pagamento no meu site WordPress.
Meu plano é passar as variáveis de nome/e-mail do formulário para a página de Obrigado e, em seguida, enviar ao comprador um e-mail com seu novo login.
O Google Tag Manager pode extrair as variáveis de nome/e-mail da URL e, em seguida, adicioná-las ao script publicado acima.
Existe uma maneira melhor de fazer isso? Não quero usar SSO com o WP Discourse.
Por que não usar o SSO e um dos vários gerenciadores de assinatura do WordPress documentados aqui? Como atualizar a associação a grupos a partir do WordPress está bem documentado.
Tudo bem, estou com dificuldade para encontrar a abordagem certa. Quero manter meu fórum no Discourse por todos os benefícios E também oferecer um curso simples com 7 módulos liberados ao longo de 14 semanas.
Com seu componente de tema Feverbee, o layout ficou ótimo.
Anteriormente, eu geria o curso em turmas (cohorts): as pessoas pagavam e eu criava manualmente o usuário delas no Discourse. Isso funcionava bem, mas agora quero algo com “matrícula aberta”.
Analisei o Paid Membership Pro, mas não gosto da ideia de usar um site WordPress apenas para gerenciar a assinatura.
Usei o Memberful por alguns meses, mas a taxa de transação de 4,9% mais a mensalidade são um pouco extremos.
O Discourse Subscriptions parece bom, embora eu acredite que não seja possível mostrar as páginas de planos para quem não está logado (o que seria o caso, já que eles ainda não seriam clientes).
Minha ideia de fazer uma requisição POST via API para criar um novo membro e adicioná-lo a um Grupo é uma boa solução temporária enquanto aumento o número de membros. Depois, quando tiver mais membros, pensei em fazer algum desenvolvimento personalizado.
Questão bônus: tenho um aplicativo iOS compilado a partir do repositório e preferiria não alugar uma máquina virtual novamente para recompilar com uma nova URL, caso precise usar SSO a partir de um site WordPress. Posso estar errado sobre a necessidade de alterar o arquivo de configuração do app; ainda não fiz isso.
Parece que WordPress com SSO + Paid Membership Pro é a única opção viável para gerenciar os membros de fato.
Isso parece ser um problema solucionável, talvez pagando pela funcionalidade ou criando uma parte do seu site acessível a pessoas que ainda não fizeram o pagamento.
Joguei um pouco com o plugin de Assinaturas hoje. Acredito que minha recomendação seja ter algum conteúdo gratuito no seu site, para que as pessoas tenham um motivo para criar uma conta antes de comprar um curso. Acho que essa é uma solução bastante razoável para deixar as páginas de planos acessíveis a não assinantes. Faz sentido que eles queiram ver um pouco do conteúdo antes de pagar.
Boa análise, mas minha experiência de compra aqui é bastante diferente. Neste caso, trata-se mais de uma venda direta, onde o fórum Discourse faz parte do produto.
Preciso de uma solução que permita enviar um lead para um formulário de checkout que ele possa preencher sem precisar criar um usuário no Discourse primeiro.
Minha ideia é que fazer essa API POST funcionar me dará uma solução de curto prazo enquanto eu on-boardo clientes e posso me permitir desenvolvimento personalizado.
Minha tag do Google Tag Manager está disparando, embora nada esteja aparecendo dentro do Discourse. Se eu conseguir fazer o GTM criar um novo usuário e definir o Grupo correto, minha solução será 70% de longo prazo e 100% de curto prazo.
Tentei essa URL no Postman: https://site.co/users.json?Api-Key=12345&Api-Username=system&email=hello@domain.com&group_names=Alumni&custom_message=Welcome321
O que me retornou isso:
{
"success": true,
"active": false,
"message": "<p>Você está quase lá! Enviamos um e-mail de ativação para <b>hello@domain.com</b>. Siga as instruções no e-mail para ativar sua conta.</p><p>Se não chegar, verifique sua pasta de spam.</p>"
}
No entanto, não recebi nenhum e-mail. Verifiquei meus logs em /logs e nada foi listado. Verifiquei o Spam também.