Verwendung der Discourse API mit Front App

Hallo zusammen! Ich arbeite derzeit an einer Integration zwischen Front App und Discourse. Derzeit verwende ich Pipedream, um beide zu verbinden.

Ich habe zwei Workflows eingerichtet:

  1. Discourse → Front App: Wenn eine neue Nachricht auf Discourse eingeht, wird diese in Front gepostet.
  2. Front → Discourse: Wenn ich auf Front auf die importierte Discourse-Nachricht antworte, löst ein von Pipedream gehörter Webhook, der auf neue Antworten auf Front wartet, die Discourse-API aus, um die Antwort auf Discourse zu posten. Das funktioniert hervorragend. Allerdings zeigt Front meine Antwort an (da Workflow 1 ausgelöst wird, also wenn eine neue Nachricht auf Discourse eingeht), sodass ich nun zwei Nachrichten im Thread habe: die eine, die ich über Front gesendet habe, und dieselbe, die über Workflow 1 importiert wurde.

Hat jemand eine Idee, wie man diese von Front gesendeten Nachrichten, die aus dem ersten Workflow importiert werden, „ausschließen

Hey :wave:, das klingt nach einer coolen Integration, die du da im Gange hast.

Um dir besser helfen zu können, habe ich ein paar Fragen:

  1. Routest du basierend auf der Erstellung einer Discourse-PM (Private Nachrichten) oder eines neuen Themas/einer Themenantwort?

Falls das Routing auf einem neuen Thema/einer Themenantwort basiert…

  1. Wird auf deiner Discourse-Instanz jedes Thema oder jede Antwort auf ein Thema an Front als neue Nachricht weitergeleitet?

  2. Wenn du auf eine Nachricht von Front antwortest, nutzt du dann die API, um eine Antwort an das ursprüngliche Thema zu senden?

Hey Jordan!

Danke für deine Rückmeldung. :blush:

Zu deinen Fragen:

  1. Ja, es geht um JEDES Thema oder jede Antwort auf ein Thema in Front.
  2. Sobald ich aus Front antworte, wird dies über eine URL (von Pipedream generiert) gesendet, die die Discourse POST-API für das ursprüngliche Thema auslöst (es findet es über die Topic-ID).

Im Wesentlichen läuft es so ab…
Ich sende eine Antwort an eine Person in Front.
Dann erkennt die Discourse-API (aus Workflow 1), dass es eine neue Nachricht im Forum gibt, und sendet sie als neue Nachricht in Front.

Ich möchte keine Duplizierung.

Ich weiß, dass das verwirrend sein kann, also lass es mich wissen, falls ich das nicht gut erklärt habe. :sweat_smile: Jegliche Hinweise wären super hilfreich!

Kann man also sicher davon ausgehen, dass ein Discourse-Thema nur bei der Erststellung als Nachricht in Front übermittelt werden soll und danach nie wieder?

Habe ich das richtig verstanden?

  1. Thema in Discourse erstellt
    1a) Thema wird in Front als Nachricht konvertiert
  2. Benutzer antwortet auf die Front-Nachricht
    2a) Die Front-Nachricht wird als Antwort auf das erstellte Thema in Discourse übermittelt.

Wird ein Discourse-Benutzer hier auf 2a antworten? Oder endet das Gespräch an diesem Punkt?

Der Grund für meine Frage ist, dass Sie bei der Erstellung, wenn die Nachricht von Front kommt, möglicherweise die Post-ID prüfen möchten. Wenn Front post id#345 zur Erstellung in Discourse ausgelöst hat

…dann können Sie in Ihrem Pipedream-Code, der Discourse-Posts überwacht und in Front-Posts konvertiert, sicherstellen, dass die Post ID nicht der ID entspricht, die Sie gerade erstellt haben. Ist dies der Fall, wird keine Konvertierung in eine Front-Nachricht vorgenommen…

Ist dies in Pipedream möglich? Mit diesem Produkt bin ich nicht vertraut.

Ja, Discourse-Nutzer können immer noch auf 2a antworten. Das funktioniert bei uns! Wenn also neue Discourse-Nachrichten von Community-Mitgliedern gesendet werden, werden diese automatisch zum Front-Thread hinzugefügt.

Dieser Screenshot veranschaulicht es vielleicht besser:

Wie Sie sehen können, habe ich über Front „Nur eine Testnachricht von Front

Hey @jordan.vidrine, ich wollte mich nur für die Hilfe bedanken! Dass wir das hier im Thread durchgesprochen haben, hat mir eine Idee gegeben, und jetzt funktioniert es. :sparkles: Konkret dieser Teil:

Der Grund, warum ich frage, ist, dass du beim Erstellen eines Beitrags von Front aus prüfen könntest, ob die Post-ID bereits existiert. Wenn Front die Erstellung der Post-ID #345 in Discourse ausgelöst hat

Cheers!

Das ist großartig! Schön zu hören, dass es bei dir funktioniert! :+1: