Estoy trabajando en integrar una opción de suscripción al boletín de Mailchimp en los registros de nuevos usuarios, y he avanzado utilizando este plugin de @pfaffman GitHub - pfaffman/discourse-mailchimp-webhook · GitHub
El plugin agrega exitosamente un webhook de “Evento de usuario creado” que aparece en /admin/api/web_hooks/new y, basándome en la API de Mailchimp, configuré la URL de carga útil del webhook de la siguiente manera (con mi DC y el ID de lista reales):
https://[mi-dc].api.mailchimp.com/3.0/lists/[mi-id-de-lista]/members/
Creé un nuevo usuario y el webhook se activó correctamente, pero recibí una respuesta de “Clave API inválida” de Mailchimp. Al leer el código del método build_webhook_headers, no parecía que agregar la clave API al campo “Secreto” funcionara, ya que esto crea una cabecera “X-Discourse-Event-Signature”, aunque lo intenté de todos modos y seguí obteniendo la misma respuesta.
Como prueba, edité manualmente el método build_webhook_headers e inserté la cabecera de autorización que espera la API de Mailchimp, y esto funcionó (recibí una respuesta de éxito y el nuevo miembro apareció en el lado de Mailchimp):
headers['Authorization'] = 'apikey mi-clave-aquí'
Obviamente, editar Discourse directamente no es una solución viable, pero ahora estoy atascado sobre cómo incluir esta cabecera de autorización en la solicitud de mi webhook. Parece haber una forma de ampliar el cuerpo de la solicitud con :after_build_web_hook_body, aunque no he encontrado una forma similar para la cabecera.
Cualquier ayuda para orientarme en la dirección correcta sería muy apreciada. ¡Gracias!