Die Discourse API kann verwendet werden, um das Senden von Einladungs-E-Mails von Ihrem Forum zu automatisieren, wenn in einer externen Anwendung eine Aktion ausgeführt wird. Für viele Anwendungen können Sie Zapier verwenden, um dies einzurichten, ohne Code schreiben zu müssen.
Ein häufiger Anwendungsfall hierfür ist das Einladen von Benutzern zu Ihrem Forum, wenn diese ein Produkt kaufen oder sich auf einem externen Dienst anmelden. Für das Beispiel in diesem Thema verwende ich die Zapier WordPress-Integration, um das Senden einer Einladung von Discourse auszulösen, wenn sich ein neuer Benutzer auf einer WordPress-Website anmeldet.
Eine Trigger-Schritt in Zapier einrichten
Gehen Sie zu Ihrem Zapier-Dashboard und suchen Sie nach der Anwendung, die die Einladungs-E-Mail auslösen soll. In den Screenshots unten habe ich WordPress als Auslöser ausgewählt.
Die einzige erforderliche Konfiguration besteht darin, den WordPress Zap mit einem WordPress-Konto zu verbinden und das Ereignis New User (Neuer Benutzer) auszuwählen, um den Zap auszulösen.
Einen Aktionsschritt zum Senden der Einladung einrichten
Klicken Sie auf die Schaltfläche Add a Step (Einen Schritt hinzufügen) und dann im Dropdown-Menü auf Action/Search (Aktion/Suchen).
Geben Sie „webhook“ in das Suchmenü ein und wählen Sie dann Webhooks by Zapier aus dem Aktionsmenü aus. Der Webhook-Aktionsschritt wird zur Seitenleiste Ihres Zaps hinzugefügt, und es wird ein Formular geöffnet, in dem Sie auswählen können, welche Art von Anforderung der Webhook ausführen soll.
Wählen Sie POST aus dem Formular und klicken Sie dann auf Continue (Weiter).
Das geöffnete Formular ermöglicht es Ihnen, die POST-Anfrage zu konfigurieren, die an Discourse gesendet wird. Geben Sie in das URL-Feld die Basis-URL Ihres Forums gefolgt von /invites ein. Beispielsweise ist die Basis-URL meines Forums https://demo.scossar.com, daher lautet der vollständige Link zur Einladungs-Route https://demo.scossar.com/invites.
Sie müssen nun die Abschnitte Payload Type (Nutzlasttyp), Data (Daten) und Headers (Kopfzeilen) des Formulars konfigurieren. Alle anderen Abschnitte des Formulars können mit ihren Standardwerten belassen werden.
Der Payload Type teilt Zapier mit, in welchem Format die Nutzlast gesendet werden soll. Es sollte auf Json eingestellt sein.
Der Abschnitt Data wird verwendet, um Discourse mitzuteilen, an welche E-Mail-Adresse die Einladung gesendet werden soll, und um eine optionale Liste von Gruppennamen und eine benutzerdefinierte Nachricht festzulegen. Um einen Benutzer einzuladen, ohne ihn zu Gruppen hinzuzufügen oder eine benutzerdefinierte Nachricht einzuschließen, geben Sie den Text email als Daten-Schlüssel ein und klicken Sie dann auf das Symbol „Insert a Field“ (Ein Feld einfügen), um das Dropdown-Menü des Feldes zu öffnen. Scrollen Sie durch die Liste, bis Sie den Wert finden, der von Ihrer Trigger-App übergeben wurde und die E-Mail-Adresse des Benutzers enthält. Bei Verwendung von WordPress als Trigger-App sollte der ausgefüllte Datenabschnitt wie folgt aussehen:
Um Benutzer beim Annehmen der Einladung automatisch zu Gruppen hinzuzufügen, klicken Sie auf das
Symbol im Data-Abschnitt, um ein neues Feld hinzuzufügen. Setzen Sie den Schlüssel des Feldes auf group_names. Setzen Sie den Wert des Feldes auf eine durch Kommas getrennte Liste von Gruppennamen, zu denen Benutzer hinzugefügt werden sollen. Um eine benutzerdefinierte Nachricht in die Einladungs-E-Mail aufzunehmen, erstellen Sie ein weiteres Feld mit dem Schlüssel custom_message und dem Wert der Nachricht, die Sie senden möchten.
Hinweis: Durch das Hinzufügen eines Code-Schritts nach dem Trigger-Schritt Ihres Zaps sollte es möglich sein, Gruppenamen und eine benutzerdefinierte Nachricht für bestimmte Benutzer dynamisch festzulegen.
Der Abschnitt Headers wird zur Authentifizierung Ihrer Anfrage verwendet. Um das Headers-Feld zu konfigurieren, müssen Sie auf Ihrer Discourse-Website einen API-Schlüssel generieren. Um dies zu tun, gehen Sie auf der Admin / API-Seite Ihrer Discourse-Website und klicken Sie auf die Schaltfläche „New API Key“ (Neuer API-Schlüssel). Weisen Sie beim Erstellen des Schlüssels einem Staff-Benutzer zu und setzen Sie den Geltungsbereich auf Global oder verwenden Sie einen Granular (Granular) Geltungsbereich, bei dem das Feld Invites > Create (Einladungen > Erstellen) aktiviert ist.
Geben Sie nun im Headers-Abschnitt des Zaps die folgenden Schlüssel/Wert-Paare ein. Ersetzen Sie alle Werte, die ich in Klammern angegeben habe, durch für Ihre Website geeignete Werte. Die Groß-/Kleinschreibung der Schlüsselnamen ist wichtig.
Api-Username: <der Staff-Benutzername, von dem aus Sie die Einladungen senden möchten>
Api-Key: <der API-Schlüssel, den Sie generiert haben>
Content-Type: application/json
Das Formular sollte nun dem unten stehenden Screenshot ähneln, jedoch mit Ihrem Api-Username und Api-Key:
Klicken Sie auf die Schaltfläche Continue (Weiter).
Sie können die Integration nun testen, indem Sie auf die Schaltfläche „Send Test To Webhooks by Zapier“ (Test an Webhooks by Zapier senden) klicken. Der Test wird mit den Daten durchgeführt, die Sie in Ihrem Trigger-Schritt eingerichtet haben. Sie sehen eine Erfolgsmeldung, wenn alles korrekt konfiguriert ist, und wenn der Benutzer, den Sie im Trigger-Schritt eingerichtet haben, noch nicht auf Ihrem Discourse-Forum existiert, wird eine Einladungs-E-Mail gesendet, und Sie sehen auf Zapier eine Erfolgsmeldung. Sobald der Testschritt erfolgreich war, klicken Sie auf die Schaltfläche Finish (Fertigstellen) und schalten Sie Ihren Zap ein.
Details zum Durchführen anderer Arten von Anfragen an die Discourse API mit Zapier finden Sie unter Make requests to the Discourse API with Zapier.











