Webhook Pausado - Solicitação Falhou - Funcionava antes

Na última vez, apenas recriei o webhook e funcionou por algum tempo.

Curiosamente, na página de teste, apenas os eventos obsoletos passam no teste; os outros não relatam nada.

Eu achava que apenas os descontinuados funcionam no momento? De qualquer forma, o guia realmente deveria ser atualizado para esclarecer os webhooks descontinuados.

Foi isso que eu entendi também, API v1 e webhooks descontinuados
E funciona por um tempo, até o Patreon parar com erros.

ESPERA, EU TAMBÉM! Consegui fazer funcionar novamente quando respondi. No entanto, agora diz que está pausado com erros. Quando testei individualmente, apareceu 200 OK. Não entendo.

Então, suspeito que o Patreon esteja enviando algo que o Discourse não entende e ignora, e então o Patreon pausa o webhook.

Parece que sim – alguma ideia da @staff?

Isso não faz sentido algum. Se a resposta do teste retornar o status 200, ela não deveria falhar. Você consegue ver algum erro na URL /logs? Sem mais detalhes, é difícil depurar o problema.

Hmm, acho que você perdeu um pouco do contexto:

Consegui fazer funcionar novamente quando respondi. No entanto, agora ele diz que está pausado com erros. Quando faço o teste individualmente, ele diz 200 OK. Não estou entendendo.

Essa parte acompanha a captura de tela do 200. Acima, diz que está pausado. No teste, diz 200. Isso na verdade parece ser um bug do Patreon?

@dylanh724 está funcionando perfeitamente quando eu testei. Preciso de mais detalhes para depurar esse problema. Por favor, reative os webhooks novamente e me avise se você vir algum erro relacionado na URL /logs.

Olá @dylanh724,

Adicionei suporte para os novos webhooks da versão 2. Você pode testá-los em tempo real? Use os gatilhos “members:pledge:create”, “members:pledge:update” e “members:pledge:delete” em vez dos gatilhos obsoletos.

Obrigado! :slight_smile: Atualizado. No entanto, é estranho: nada está acontecendo de verdade quando tento:

Verifiquei se os bloqueadores de pop-up estavam desativados, mas mesmo assim, algo deveria aparecer no console. Será que a API do Patreon está com defeito? Vou rolar para cima para ver onde verificar os logs e volto em seguida.

Ok, encontrei os logs em forum.{meuSite}.com/logs:

…nada, depois de clicar em retomar:

Parece que o Patreon nem tentou fazer nada.

Além do botão geral, também tentei o mesmo teste individual do recordit:

image

Apenas nada nos logs O_O

Para complementar:

Mesmo voltando aos antigos (depreciados) que enviam uma resposta (talvez os novos tenham esquecido de enviar um código de sucesso?), estou recebendo 200 por… mas o Patreon continua dizendo que há erro ao retomar, o que não faz sentido.

Até mesmo os callbacks das hooks depreciadas (200) ainda não mostram nada nos logs. Existe algum filtro padrão que bloqueia os testes do Patreon nos logs?

Não, você deve usar apenas “members:pledge:create” em vez de “members:create”, como mencionei acima.

Não.

Acho que você deve excluir todo o endpoint do webhook no site do Patreon e adicioná-lo novamente.

Deletou o hook >> recriou >> trocou o segredo do hook >> members:pledge:create >> o teste não tem código de resposta (diferente dos antigos, que retornavam 200).

Ainda não há menção de que não está funcionando, mas acredito que isso leve algumas horas.

Relacionado: Tive um testador que fez uma doação, mas não consegui vinculá-lo. Não tenho certeza se é o webhook ou não, mas descobri que usuários existentes com 2FA não conseguem vincular “contas associadas” (Patreon) por algum motivo (bug?). Há também uma menção não documentada de que as contas são vinculadas por e-mails correspondentes — mas o e-mail desse testador é separado do Patreon, o que está causando problemas.

Se você está lendo isso e testando uma correção, fique atento.

Para dar sequência, não estou recebendo erros nos webhooks. Parece… resolvido? Talvez? No momento, não tenho testadores.

No entanto, ainda estou inseguro porque não há código de retorno (por exemplo, 200): clicar no botão de teste parece não fazer nada (mas simplesmente não retorna nenhum código). A nova versão não retorna nenhum código HTTP?

@dylanh724, você pode tentar os webhooks da v2 novamente após atualizar o plugin?

Além disso, converti todo o plugin para suportar a API v2 do Patreon na branch beta. Ainda não está estável. Se possível, você pode testá-la e me dar feedback. Para isso, é necessário usar as credenciais da API v2.

Claro, vou tentar em breve. Antes da atualização, apenas um resumo de acompanhamento que você já deve conhecer até agora:

  • Funcionava, mas mostrava que não estava funcionando.
  • Os usuários eram sincronizados com sucesso no grupo do Patreon.
  • Provavelmente, como um código de sucesso 200 não era retornado:
    1. Testar os gatilhos resultava em nada.
    2. Após um ou dois dias, o Patreon enviava um e-mail informando que seus gatilhos estavam quebrados.
    3. ^ Acredito que isso tenha sido um falso positivo, já que a sincronização ocorria normalmente, apenas sem retornar um código. No entanto, um falso positivo pode ter desativado completamente os gatilhos após alguns dias. Não posso dizer se ainda funciona ou não (a área de teste já está sincronizada).
  • Usuários com autenticação de dois fatores (2FA) (usuários existentes que não se registraram pelo botão do Patreon) enfrentaram problemas de sincronização, pois não conseguiam vincular suas contas caso o e-mail não correspondesse. Por algum motivo, a seção “Contas Associadas” desaparece quando o 2FA está ativado.
  • Usuários existentes com 2FA que tinham e-mails diferentes nunca receberiam uma sincronização do Patreon. É comum ter e-mails diferentes no fórum e no Patreon (especialmente ao usar +alias ou encaminhamento).

Entendo e espero que isso não aconteça novamente. E vou verificar a solução possível para a autenticação em dois fatores (2FA).

Hmm, nada feito:

Ainda sem código 200~ a menos que os novos hooks tenham mudado a forma como são exibidos em comparação aos hooks obsoletos? Ainda parece um problema de código de retorno.

Obrigado pelo teste. Apliquei mais algumas correções e agora está funcionando perfeitamente.