Ciao a tutti! Sto attualmente lavorando a un’integrazione tra Front App e Discourse. Al momento, sto utilizzando Pipedream per collegarli.
Sono riuscito a impostare due flussi di lavoro:
Discourse → Front App. Quando viene ricevuto un nuovo messaggio su Discourse, questo viene pubblicato su Front.
Front → Discourse. Quando rispondo a quel messaggio importato da Discourse su Front, un webhook di Pipedream ascolta le nuove risposte su Front e, utilizzando l’API di Discourse, pubblica la risposta su Discourse. Questo funziona benissimo, tuttavia, quando vado su Front, vedo la mia risposta (poiché attiva il flusso di lavoro 1, ovvero quando viene ricevuto un nuovo messaggio su Discourse). Ora ho due messaggi nel thread della posta in arrivo: quello che ho inviato tramite Front e lo stesso, ma importato dal flusso di lavoro 1.
Qualcuno ha un’idea su come “escludere” questi messaggi inviati da Front che vengono importati dal primo flusso di lavoro? È possibile farlo con l’API di Discourse?
Sì, si tratta di qualsiasi argomento o risposta a un argomento su Front.
Una volta che rispondo da Front, viene inviata da un URL (generato da Pipedream) che attiva l’API POST di Discourse verso l’argomento originale (lo individua tramite l’ID dell’argomento).
In sostanza, funziona così…
Invio una risposta a una persona su Front.
Poi l’API di Discourse (dal Flusso di lavoro 1) rileva che c’è un nuovo messaggio nel forum e lo invia come nuovo messaggio su Front.
Non voglio la duplicazione.
So che può diventare confuso, quindi fammi sapere se non ho spiegato bene. Qualsiasi suggerimento sarebbe molto utile!
Quindi, possiamo dire che vuoi che un argomento di Discourse venga inviato come messaggio su Front solo alla creazione iniziale e, dopo di ciò, mai più?
Ho capito correttamente?
Argomento creato su Discourse
1a) Argomento convertito in un messaggio su Front
Utente risponde al messaggio su Front
2a) Il messaggio su Front viene inviato a Discourse come risposta all’argomento creato.
Un utente di Discourse risponderà a 2a qui? O la conversazione si interrompe dopo questo punto?
Il motivo per cui chiedo è che potresti voler verificare l’ID del post alla creazione quando provieni da Front. Se Front ha innescato la creazione del post id#345 su Discourse
…allora nel tuo codice Pipedream che monitora e converte un post di Discourse in un post di Front, puoi assicurarti che l’ID del post non sia uguale a quello che hai appena creato; se lo è, allora non convertirlo in un messaggio su Front…
È possibile farlo in Pipedream? Non sono familiare con quel prodotto.
Sì, gli utenti di Discourse possono ancora rispondere al 2a. Funziona! Quindi, quando nuovi messaggi di Discourse vengono inviati dai membri della community, vengono automaticamente aggiunti al thread Front.
Come puoi vedere, ho risposto tramite Front con “Solo un messaggio di prova da Front” e, poiché è stato pubblicato su Discourse, l’API di Discorse ha rilevato che si tratta di un nuovo messaggio e ha quindi inviato un nuovo messaggio nel thread.
La tua risposta mi ha fatto riflettere Forse potrei creare una funzione che cerca un ID da Front per escluderlo nell’API INVIA MESSAGGIO di Discourse… Proverò a farlo. Apprezzo molto il tuo aiuto! Grazie
Ciao @jordan.vidrine, volevo solo dirti grazie per l’aiuto! Parlarne con te in questa discussione mi ha dato un’idea e ora funziona. Nello specifico questa parte:
Il motivo per cui chiedo è perché potresti controllare l’ID del post al momento della creazione quando si proviene da Front. Se Front ha innescato la creazione del post #345 su Discourse