API de Criar Convite não está enviando e-mails

Olá,

Tenho enviado convites usando a API (Discourse API Docs). Quando envio pelo Postman, recebo o e-mail de convite. Porém, ao implementar no Laravel, não estou recebendo o e-mail.

Aqui está a resposta da API no Laravel. Notei que o campo emailed está como false.

Na resposta do Postman, o campo emailed está true.

Alguma sugestão? Obrigado.

Alguém mais também relatou isso,

confira este tópico

Sim, esse foi um erro diferente que já foi resolvido. O problema agora é que não estamos recebendo e-mails, embora o uso da API seja bem-sucedido.

Não tenho certeza se precisamos ativar algo, pois quando chamo a API no Postman, recebo o e-mail, mas na aplicação Laravel que criamos, os e-mails não estão chegando.

Olá @yburhaniel,

É um tópico antigo, mas estou tendo um problema semelhante. A solicitação da API para invite.json gera links de convite, mas não envia o e-mail. Enquanto isso, se o mesmo usuário ao qual a chave da API está vinculada convida os usuários da interface, o e-mail é enviado normalmente.

Como você resolveu isso na época?

Você definiu send_email?

Estou usando código python como este:

invitation = {
          "email": u.mail,
          "group_ids": valid_group_ids(u.groups),
          "send_email": True,
}

site.invites.post(data=invitation)

Você nos mostraria o código que está usando?

Olá @thoka,

Obrigado pela sua resposta. É realmente tão simples assim, essa seria uma ótima notícia!

Para este, estou usando o Zapier, mas com um objeto que criei seguindo esta documentação da API. Talvez não seja a documentação correta ou estou perdendo alguma outra coisa.

Eu tentei muitos parâmetros diferentes lá, mas o mais recente é:

{
"email": "email@email.com",
"skip_email": false,
"custom_message": "Welcome to the forum",
}

Eu também acabei de tentar com o seguinte. Infelizmente, isso não fez com que o convite fosse enviado:

{
"email": "email@email.com",
"skip_email": false,
"send_email": true,
"custom_message": "Welcome to the forum",
}

Mas talvez as propriedades que tenho lá ainda estejam de alguma forma erradas.

Eu sempre uso Reverse engineer the Discourse API para usar os mesmos parâmetros da UI.

Ótimo, obrigado por me apontar isso. Acho que é um instinto que vem com mais experiência no Discourse. :slight_smile: De qualquer forma, agora que você disse, faz todo o sentido.

Vou tentar e volto aqui para dizer como foi!

@thoka

Infelizmente, o problema persiste, status OK 200, mas apenas o link de convite é gerado.
A API da interface do usuário apenas adicionou explicitamente as propriedades expires_at e max_redemptions_allowed definidas.

A propósito, estou usando o usuário system através da integração, isso poderia ser um problema? Dito isso, acho que também usei um usuário “humano” real para testar.

Se você criar convites pela interface do usuário, tudo funcionará como esperado?

@thoka

Sim, esse é o mistério, via UI tudo funciona sem problemas.

Embora eu tenha notado que, mesmo que eu envie o convite do perfil / seção de convites do usuário system, ainda aparece no e-mail de convite que eu (meu usuário) sou quem enviou o convite.

Eu tentaria com uma chave de API administrativa para seu nome de usuário.
Via API você deve ser capaz de obter o mesmo comportamento que via interface do usuário.