Webhook Pausado - Solicitud fallida - Funcionó antes

La última vez, simplemente recreé el webhook y funcionó durante un tiempo. Curioso, en la página de prueba solo los eventos obsoletos pasan la prueba; los demás no reportan nada.

¿Pensé que solo los obsoletos funcionan actualmente? De todos modos, la guía realmente debería actualizarse para aclarar los webhooks obsoletos.

1 me gusta

Eso es lo que yo también entendí: la API v1 y los webhooks obsoletos. Funciona durante un tiempo, hasta que Patreon lo detiene con errores.

1 me gusta

¡ESPERA, YO TAMBIÉN! Volví a hacerlo funcionar al responder. Sin embargo, ahora dice que está pausado con errores. Cuando lo pruebo individualmente, dice 200 OK. No lo entiendo.

Así que sospecho que Patreon envía algo que Discourse no entiende e ignora, y luego Patreon pausa el webhook.

1 me gusta

Parece que sí… ¿alguna idea de @staff?

No tiene ningún sentido. Si la respuesta de la prueba devuelve un estado 200, no debería fallar. ¿Puedes ver algún error en la URL /logs? Sin más detalles, es difícil depurar el problema.

1 me gusta

Hmm, creo que te has perdido algo de contexto:

Volví a conseguir que funcionara cuando respondí. Sin embargo, ahora dice “pausado con errores”. Cuando lo pruebo individualmente, dice 200 OK. No lo entiendo.

Esta parte va junto con la captura de pantalla del 200. Arriba dice “pausado”. Al probar, dice 200. Esto en realidad parece ser un error de Patreon?

@dylanh724, funciona correctamente cuando lo probé. Necesito más detalles para depurar este problema. Por favor, vuelve a activar los webhooks y avísame si ves algún error relacionado en la URL /logs.

1 me gusta

Hola @dylanh724,

He añadido soporte para los nuevos webhooks de la versión 2. ¿Podrías probarlo en tiempo real? Utiliza los desencadenadores “members:pledge:create”, “members:pledge:update” y “members:pledge:delete” en lugar de los desencadenadores obsoletos.

2 Me gusta

¡Gracias! :slight_smile: Actualizado. Sin embargo, es extraño: cuando lo intento, realmente no sucede nada:

Aseguré que los bloqueadores de ventanas emergentes estén desactivados, pero incluso así, debería mostrar algo en la consola. Me pregunto si la API de Patreon está fallando. Voy a hacer scroll hacia arriba para ver dónde revisar los registros y volver.

Ok, encontré los registros en forum.{miSitio}.com/logs:

…nada, después de hacer clic en reanudar:

Parece que Patreon ni siquiera intentó hacer nada.

Además del botón general, también probé la misma prueba individual de recordit:

image

Simplemente nada en los registros O_O

Para agregar:

Incluso volviendo a los antiguos (deprecated) que sí envían una respuesta (¿quizás los nuevos olvidaron enviar un código de éxito?), obtengo 200 por … sin embargo, Patreon sigue diciendo error cuando reanudo, lo cual no tiene sentido.

Incluso las llamadas de retorno (callbacks) de los 200 (ganchos antiguos) aún no muestran nada en los registros. ¿Hay algún filtro predeterminado que bloquee las pruebas de Patreon en los registros?

No, solo debes usar “members:pledge:create” en lugar de “members:create”, como mencioné anteriormente.

No.

Creo que deberías eliminar todo el punto final del webhook en el sitio de Patreon y volver a agregarlo.

1 me gusta

Eliminé el hook >> volví a crearlo >> cambié el secreto del hook >> members:pledge:create >> la prueba no devuelve código de respuesta (a diferencia de las obsoletas, que devuelven 200).

Aún no hay mención de que no funcione, pero creo que eso lleva unas horas.

1 me gusta

Relacionado: Tuve un donante de pruebas y no pude vincularlo. No estoy seguro de si es el webhook o no, pero descubrí que los usuarios existentes con 2FA no pueden vincular “cuentas asociadas” (Patreon) por alguna razón (¿error?). También hay una mención no documentada de que las cuentas se vinculan al coincidir los correos electrónicos, pero el correo de este probador es diferente al de Patreon, lo que causa problemas.

Si estás leyendo esto y probando una solución, tenlo en cuenta.

Para hacer seguimiento, no estoy recibiendo errores en los webhooks. Parece… ¿arreglado? ¿Tal vez? Por el momento, no tengo probadores.

Sin embargo, sigo sintiéndome inseguro porque no hay un código de retorno (por ejemplo, 200): Al hacer clic en el botón de prueba parece no hacer nada (pero simplemente no devuelve ningún código). ¿Acaso la nueva versión no devuelve ningún código HTTP?

@dylanh724, ¿puedes intentar usar los webhooks de v2 nuevamente después de actualizar el plugin?

Además, he convertido todo el plugin para que sea compatible con la API v2 de Patreon en la rama beta. Aún no es estable. Si es posible, puedes probarla y hacerme llegar tus comentarios. Para ello, debes usar las credenciales de la API v2.

2 Me gusta

Claro, lo probaré pronto. Antes de la actualización, solo un resumen de seguimiento que quizás ya conozcas hasta ahora:

  • Funcionaba, pero mostraba que no funcionaba.
  • Los usuarios se sincronizaban correctamente en el grupo de Patreon.
  • Probablemente porque no se devolvía un código de éxito 200:
    1. Probar los hooks no daba ningún resultado.
    2. Después de uno o dos días, Patreon te enviaba un correo diciendo que tus hooks estaban rotos.
    3. ^ Creo que fue un falso positivo, ya que la sincronización funcionaba bien, solo que no devolvía el código. Sin embargo, un falso positivo pudo haber desactivado los hooks por completo después de unos días. No puedo decirte si sigue funcionando o no (los testers ya están sincronizados).
  • Los usuarios con 2FA (usuarios existentes que no se registraron mediante el botón de Patreon) experimentaron problemas de sincronización, ya que no podían vincular su cuenta si los correos electrónicos no coincidían. Por alguna razón, la sección “Cuentas asociadas” desaparece cuando se habilita el 2FA.
  • Los usuarios existentes con 2FA que tenían un correo electrónico diferente nunca recibieron una sincronización con Patreon. Es común tener correos diferentes en el foro y en Patreon (especialmente si se usa +alias o reenvío).
1 me gusta

Entiendo y espero que no vuelva a ocurrir. Además, revisaré la posible solución para la autenticación en dos pasos (2FA).

2 Me gusta

Hmm, no hay suerte:

Sigue sin aparecer el código 200… ¿a menos que los nuevos hooks hayan cambiado la forma en que se muestran en comparación con los hooks obsoletos? Todavía parece un problema con el código de respuesta.

3 Me gusta

Gracias por la prueba. He aplicado algunas correcciones más y ahora funciona correctamente.

2 Me gusta