Webhook in pausa: richiesta fallita, funzionava prima

L’ultima volta ho semplicemente ricreato il webhook e ha funzionato per un po’.
Stranamente, nella pagina di test passano solo gli eventi deprecati, mentre gli altri non riportano nulla.

Pensavo che al momento funzionassero solo quelli deprecati? Comunque, la guida dovrebbe essere davvero aggiornata per chiarire i webhook deprecati.

Anche io ho capito così: API v1 e webhook deprecati.
E funziona per un po’, finché Patreon non lo blocca con degli errori.

ASPETTA, ANCHE A ME! È tornato a funzionare quando ho risposto. Tuttavia, ora dice “in pausa con errori”. Quando lo test singolarmente, dice 200 OK. Non ci capisco nulla.

Quindi sospetto che Patreon stia inviando qualcosa che Discourse non comprende e ignora, e poi Patreon mette in pausa il webhook.

Sembra di sì – qualche idea da parte di @staff?

Non ha alcun senso. Se la risposta del test restituisce lo stato 200, non dovrebbe fallire. Riesci a vedere qualche errore nell’URL /logs? Senza ulteriori dettagli, è difficile risolvere il problema.

Hmm, penso che tu abbia perso un po’ di contesto:

Sono riuscito a farlo funzionare di nuovo quando ho risposto. Tuttavia, ora dice “in pausa con errori”. Quando lo test singolarmente, dice 200 OK. Non ci capisco nulla.

Questa parte va di pari passo con lo screenshot del 200. Sopra dice “in pausa”. Il test dice 200. In realtà sembra proprio un bug di Patreon?

@dylanh724 funziona correttamente quando l’ho testato. Ho bisogno di maggiori dettagli per risolvere questo problema. Riattiva i webhook e fammi sapere se vedi eventuali errori correlati nell’URL /logs.

Ciao @dylanh724,

Ho aggiunto il supporto per i nuovi webhook della versione 2. Puoi testarli in tempo reale? Usa i trigger “members:pledge:create”, “members:pledge:update” e “members:pledge:delete” al posto dei trigger deprecati.

Grazie! :slight_smile: Aggiornato. Tuttavia, strano: quando provo, non succede davvero nulla:

Ho assicurato che i bloccanti popup siano disattivati, ma anche così, in console dovrebbe mostrarsi qualcosa. Mi chiedo se l’API di Patreon sia problematica? Scorrerò verso l’alto per vedere dove controllare i log e torno subito.

Ok, ho trovato i log tramite forum.{mySite}.com/logs:

…niente, dopo aver cliccato su riprendi:

Sembra che Patreon non abbia nemmeno tentato nulla.

Oltre al pulsante generale, ho provato anche lo stesso test individuale da recordit:

image

Ancora niente nei log O_O

Per aggiungere:

Anche tornando a quelli deprecati che inviano una risposta (forse i nuovi hanno dimenticato di inviare un codice di successo?), ottengo 200 per… eppure Patreon continua a dire errore quando riprendo, il che non ha senso.

Anche i callback 200 (hook deprecati) non mostrano nulla nei log. Esiste qualche filtro predefinito che blocca i test di Patreon nei log?

No, dovresti usare solo “members:pledge:create” invece di “members:create” come ho menzionato sopra.

No.

Penso che dovresti eliminare l’intero endpoint webhook dal sito di Patreon e aggiungerlo di nuovo.

Ho eliminato l’hook >> ricreato >> scambiato il segreto dell’hook >> members:pledge:create >> il test non restituisce un codice di risposta (a differenza di quelli deprecati che restituiscono 200).

Non ci sono ancora menzioni del fatto che non funzioni, ma credo che ci vogliano alcune ore.

Correlato: Ho ricevuto una donazione da un tester ma non sono riuscito a collegarlo. Non sono sicuro che il problema sia legato al webhook, ma ho scoperto che gli utenti esistenti con 2FA non possono collegare “account associati” (Patreon) per qualche motivo (bug?). C’è anche un riferimento non documentato secondo cui gli account vengono collegati tramite corrispondenza delle e-mail, ma l’e-mail di questo tester è diversa da quella di Patreon, il che causa problemi.

Se stai leggendo questo messaggio e stai testando una correzione, tienilo a mente.

Per fare un follow-up, non ricevo errori sui webhook. Sembra… risolto? Forse? Al momento non ho tester.

Tuttavia, mi sento ancora a disagio perché non c’è un codice di ritorno (ad esempio, 200): cliccando sul pulsante di test sembra non succedere nulla (ma semplicemente non restituisce alcun codice). La nuova versione non restituisce alcun codice HTTP?

@dylanh724 puoi provare di nuovo i webhook v2 dopo aver aggiornato il plugin?

Inoltre, ho convertito l’intero plugin per supportare l’API v2 di Patreon nel ramo beta. Non è ancora stabile. Se possibile, puoi testarlo e farmi sapere il tuo feedback. Per farlo, devi utilizzare le credenziali dell’API v2.

Certo, ci proverò presto. Prima dell’aggiornamento, ecco un riepilogo di quanto è accaduto finora, che potresti già conoscere:

  • Funzionava, ma indicava che non funzionava.
  • Gli utenti venivano sincronizzati con successo nel gruppo Patreon.
  • Probabilmente perché non veniva restituito un codice di successo 200:
    1. Il test degli hook non produceva alcun risultato.
    2. Dopo un giorno o due, Patreon ti inviava un’email segnalando che gli hook erano guasti.
    3. ^ Credo che si sia trattato di un falso positivo, dato che la sincronizzazione avveniva correttamente, semplicemente senza restituire un codice. Tuttavia, un falso positivo potrebbe aver disabilitato completamente gli hook dopo qualche giorno. Non posso dirti se funzionano ancora o meno (gli utenti nell’area di test sono già sincronizzati).
  • Gli utenti esistenti con 2FA (quelli che non si sono registrati tramite il pulsante Patreon) hanno riscontrato problemi di sincronizzazione perché non potevano collegare il proprio account in caso di email non corrispondenti. Per qualche motivo, la sezione “Account associati” scompare quando il 2FA è attivo.
  • Gli utenti esistenti con 2FA che avevano un’email non corrispondente non ricevevano mai la sincronizzazione con Patreon. È comune avere email diverse sul forum rispetto a Patreon (specialmente se si utilizza un alias con + o un inoltro).

Capisco e spero che non succeda di nuovo. Controllerò anche le possibili soluzioni per l’autenticazione a due fattori (2FA).

Hmm, niente da fare:

Ancora nessun codice 200~ a meno che i nuovi hook non abbiano cambiato il modo in cui vengono visualizzati rispetto agli hook deprecati? Sembra ancora un problema di codice di ritorno.

Grazie per il test. Ho applicato alcune altre correzioni e ora funziona correttamente.