La API de Discourse se puede utilizar para automatizar el envío de correos electrónicos de invitación desde su foro cuando se realiza una acción en una aplicación externa. Para muchas aplicaciones, puede usar Zapier para configurar esto sin tener que escribir ningún código.
Un caso de uso común para esto es invitar a usuarios a su foro cuando compran un producto o se registran en un servicio externo. Para el ejemplo en este tema, utilizaré la integración de Zapier con WordPress para activar el envío de una invitación desde Discourse cuando un nuevo usuario se registra en un sitio de WordPress.
Configurar un paso de activación en Zapier
Vaya a su panel de control de Zapier y busque la aplicación que desea que active el correo electrónico de invitación. En las capturas de pantalla a continuación, he seleccionado WordPress como el activador.
La única configuración requerida para esto es conectar el Zap de WordPress a una cuenta de WordPress y seleccionar el evento “New User” (Nuevo usuario) para activar el Zap.
Configurar un paso de acción para enviar la invitación
Haga clic en el botón “Add a Step” (Agregar un paso) y luego haga clic en “Action/Search” (Acción/Buscar) en el menú desplegable.
Escriba ‘webhook’ en el menú de búsqueda y luego seleccione “Webhooks by Zapier” del menú de acciones. El paso de acción Webhook se agregará a la barra lateral de su Zap, y se abrirá un formulario que le permitirá elegir qué tipo de solicitud desea que realice el webhook.
Seleccione POST del formulario y luego haga clic en “Continue” (Continuar).
El formulario que se abre le permite configurar la solicitud POST que se realiza a Discourse. En el campo URL, ingrese la URL base de su foro, seguida de /invites. Por ejemplo, la URL base de mi foro es https://demo.scossar.com, por lo que el enlace completo a la ruta de invitaciones es https://demo.scossar.com/invites.
Ahora necesita configurar las secciones Payload Type (Tipo de carga útil), Data (Datos) y Headers (Encabezados) del formulario. Todas las demás secciones del formulario se pueden dejar con sus valores predeterminados.
El Payload Type le dice a Zapier qué formato usar para enviar la carga útil. Debe establecerse en Json.
La sección Data se utiliza para indicarle a Discourse a qué dirección de correo electrónico enviar la invitación, y para establecer una lista opcional de nombres de grupos y un mensaje personalizado. Para invitar a un usuario sin agregarlo a grupos o incluir un mensaje personalizado, ingrese el texto email como una Clave de datos y luego haga clic en el ícono ‘Insert a Field’ (Insertar un campo) para abrir el menú desplegable del campo. Desplácese hacia abajo en la lista hasta que vea el valor que se ha pasado desde su aplicación de activación que contiene el correo electrónico del usuario. Cuando utiliza WordPress como aplicación de activación, la sección Data completa debe verse similar a esto:
Para agregar automáticamente usuarios a grupos cuando aceptan la invitación, haga clic en el ícono
de la sección Data para agregar un nuevo campo. Establezca la Clave del campo como group_names. Establezca el Valor del campo como una lista de nombres de grupos separados por comas a los que desea que se agreguen los usuarios. Para incluir un mensaje personalizado en el correo electrónico de invitación, cree otro campo con su Clave establecida en custom_message y su valor establecido en el mensaje que desea enviar.
Nota: al agregar un paso de Código después del paso de activación de su Zap, debería ser posible establecer dinámicamente nombres de grupos y un mensaje personalizado para usuarios específicos.
La sección Headers se utiliza para autenticar su solicitud. Para configurar el campo Headers, deberá generar una clave de API en su sitio de Discourse. Para hacerlo, vaya a la página Admin / API de su sitio de Discourse y haga clic en el botón “New API Key” (Nueva clave de API). Al crear la clave, asígnela a un usuario del personal y establezca el alcance en Global, o use un alcance Granular con la casilla Invites > Create marcada.
Ahora, en la sección Headers del Zap, ingrese los siguientes pares clave/valor. Reemplace cualquier valor que haya incluido entre corchetes con valores apropiados para su sitio. La capitalización de los nombres de las claves es importante.
Api-Username: <el nombre de usuario del personal al que desea enviar las invitaciones>
Api-Key: <la clave de API que generó>
Content-Type: application/json
El formulario ahora debería verse similar a la captura de pantalla a continuación, pero con su Api-Username y Api-Key:
Haga clic en el botón “Continue”.
Ahora podrá probar la integración haciendo clic en el botón ‘Send Test To Webhooks by Zapier’ (Enviar prueba a Webhooks por Zapier). La prueba se realizará con los datos que configuró en su paso de activación. Verá un mensaje de éxito si todo está configurado correctamente, y si el usuario que configuró en su paso de activación aún no existe en su foro de Discourse, se enviará un correo electrónico de invitación y verá un mensaje de Éxito en Zapier. Una vez que el paso de prueba sea aprobado, haga clic en el botón “Finish” (Finalizar) y active su Zap.
Para obtener detalles sobre cómo realizar otro tipo de solicitudes a la API de Discourse con Zapier, consulte Make requests to the Discourse API with Zapier.












