Acho que não podem. Eles teriam que se registrar e atualizar suas preferências sobre esse tópico ou suas preferências gerais de notificação.
Existem algumas documentações sobre esse endpoint? Procurei na documentação da API, mas não encontrei.
Estou procurando uma maneira de criar um tópico e atribuí-lo a um usuário específico (usando o plugin discourse-assign).
Também estou pensando se a chave de API precisa ser do sistema de usuários ou se posso usar algum outro usuário com permissões mínimas (quais seriam essas permissões mínimas necessárias?).
Apenas este post: Creating a staged user with an API call - #8 by blake
Isso é totalmente possível. Dê uma olhada em Reverse engineer the Discourse API e você verá qual endpoint o plugin discourse-assign chama.
Não, não precisa ser com o usuário do sistema. Você só precisa de um usuário com nível de confiança suficiente para criar e atribuir tópicos.
Obrigado pela resposta. Entendo como atribuir um post específico, mas como encontrar de forma confiável o post recém-criado pelo endpoint /admin/email/handle_mail? Parece também que ele enfileira as chamadas recebidas, então nem sempre conseguirei encontrá-lo imediatamente após a primeira chamada.
Correto, esse endpoint não retorna um topic_id.
Eles PRECISAM ser usuários em staging? Você não poderia simplesmente criar o usuário via API e depois criar o tópico? Ou as pessoas que ainda não têm contas vão estar enviando e-mails para esse endpoint?
É para um formulário de contato público em diferentes produtos, onde cada um tem um comerciante diferente. Quero atribuir um tópico ao comerciante específico e também negar acesso a tópicos que não pertençam a esse comerciante.
Tenho uma pergunta da perspectiva de um não desenvolvedor.
Estou usando o Discourse como sistema de tickets da nossa empresa e o configurei com sucesso para criar novos tópicos de usuários não registrados em nosso fórum de suporte.
Ocasionalmente, preciso criar um ticket em nome de um cliente em vez de ele criá-lo diretamente.
Existe uma maneira fácil e passo a passo de fazer isso e criar um tópico em nome de alguém que ainda não tem uma conta no fórum? Não quero que eles tenham uma conta completa, a menos que se inscrevam por conta própria.
Eu tentaria criar um tópico por e-mail recebido:
Dessa forma, um usuário “staged” (em estágio) será criado na criação do tópico.
Você poderia criar o usuário “staged” via API
curl -i -sS -X POST "http://localhost:4200/users" \
-H "Content-Type: multipart/form-data" \
-H "Api-Key: 3e8aa0b7970cf010da24d06215fdc7b3951352c61a59ada70f5f36b4ce890bb2" \
-H "Api-Username: system" \
-F "name=2e6ac3603" \
-F "active=false" \
-F "staged=true" \
-F "username=2e6ac3603" \
-F "email=2e6ac3603@example.com" \
-F "password=f9b4c3c7ebd1c2877a0ad659be6ca83e"
e então criar o tópico para o usuário, mas, na ação de criação do usuário, o Discourse enviará um e-mail de ativação:
{“success”: true,“active”: false,“message”: “Você está quase lá! Enviamos um e-mail de ativação para 2e6ac3603@example.com. Por favor, siga as instruções no e-mail para ativar sua conta. Se não chegar, verifique sua pasta de spam.”}
Então, cada uma dessas linhas é separada por um CR no final? E há um espaço duplo ou uma tabulação antes de cada barra invertida?
Desculpe, como eu disse, eu não sou um desenvolvedor, então apenas mostrar este código não é suficiente para me levar até o fim sem um pouco de informação extra.
Então, usando este método, apenas cria o usuário, mas mesmo que staged=true, ele envia o convite por e-mail?
A resposta mais fácil é sempre a melhor:
Então, usaremos isso para nossas necessidades ocasionais.
Obrigado pela ajuda.