Estou trabalhando na integração de uma opção de assinatura de newsletter do Mailchimp nos registros de novos usuários e fiz progresso usando este plugin do @pfaffman GitHub - pfaffman/discourse-mailchimp-webhook · GitHub
O plugin adiciona com sucesso um webhook de “Evento de Usuário Criado” que aparece em /admin/api/web_hooks/new, e eu verifiquei na API do Mailchimp que a URL de carga útil para o webhook deve ser configurada assim (com meu DC e ID de lista reais):
https://[meu-dc].api.mailchimp.com/3.0/lists/[meu-id-de-lista]/members/
Criei um novo usuário e o webhook foi acionado com sucesso, mas recebi uma resposta “Chave de API Inválida” do Mailchimp. Ao ler o código do método build_webhook_headers, não parecia que adicionar a chave de API ao campo “Segredo” funcionaria, pois isso cria um cabeçalho “X-Discourse-Event-Signature”, embora eu tenha tentado de qualquer forma e continue recebendo a mesma resposta.
Como teste, editei manualmente o método build_webhook_headers e inseri o cabeçalho de autorização que a API do Mailchimp espera, e isso funcionou (recebi uma resposta de sucesso e o novo membro apareceu no lado do Mailchimp):
headers['Authorization'] = 'apikey minha-chave-aqui'
Obviamente, editar o Discourse diretamente não é uma solução viável, mas estou travado agora sobre como incluir esse cabeçalho de autorização na minha solicitação de webhook. Parece haver uma maneira de aumentar o corpo da solicitação com :after_build_web_hook_body, embora eu não tenha encontrado uma maneira semelhante para o cabeçalho.
Qualquer ajuda para me orientar na direção certa será muito apreciada. Obrigado!