Actualizar plugin de Discourse de Patreon a API v2

Hola a todos :waving_hand:

El plugin de Discourse de Patreon todavía está utilizando la API v1 de Patreon, que ha estado obsoleta durante varios años. Para mantener la integración funcionando correctamente, es necesario actualizarla para usar la API v2.

La API v2 de Patreon es la versión compatible y proporciona una funcionalidad equivalente a la v1, junto con un modelo de datos más consistente y relaciones de recursos mejoradas.
Documentación:

Notas clave de migración:

  • Algunas llamadas a la API que actualmente usan /api/oauth2/ deberán actualizarse a los endpoints v2.

  • Los usuarios del plugin deberán crear nuevos clientes OAuth de Patreon con ámbitos v2 durante la migración. Los clientes v1 no son compatibles.

  • La estructura de datos (por ejemplo, campaña, miembro, promesa) se modela de manera diferente en v2.

Me gustaría saber cuál es el proceso para este tipo de actualizaciones. Estaré encantado de ayudar con la orientación sobre esta migración.

Gracias por mantener esta integración :folded_hands:

2 Me gusta

Quería dar seguimiento a este tema. ¿Este complemento todavía se mantiene activamente, o deberíamos asumir que está inactivo y aceptar que la terminación de la API v1 resultará en que el complemento deje de funcionar?

1 me gusta

Sí. Creo que todavía se mantiene activamente, ya que es un plugin official, ha sido included-in-core, y tiene el commit más reciente de la semana pasada.

1 me gusta

La última vez que investigamos esto, Patreon había disuelto el equipo que trabajaba en la API v2 a mitad de camino, por lo que la API v1 funcionaría indefinidamente.

¿Puedes enlazar a algún recurso que diga lo contrario?

1 me gusta

¡Gracias por responder! Fuente de esto: Soy ingeniero en el equipo de Patreon. Nuestra documentación pública y el flujo de creación de clientes tienen avisos sobre la desaprobación de la v1. La v2 ha sido la API principal durante unos 5 años o más, Discourse es una de las últimas integraciones que aún no la utiliza.

EDITAR: No duden en enviarme un mensaje directo o un correo electrónico (en caso de que no reciba notificaciones de Discourse) si necesitan información adicional.

6 Me gusta

Hola @Falco ¿alguna actualización/plan para actualizar el complemento? Nos gustaría minimizar el impacto de descontinuar la v1. Gracias.

3 Me gusta

Intentaré actualizar la próxima semana. ¿Podemos obtener algunas credenciales de prueba?

4 Me gusta

¡Genial @falco, te lo agradezco! Patreon no tiene usuarios de prueba públicos. La mejor manera que sugeriría para probar esto sería:

  1. Crear tu cuenta de prueba (https://www.patreon.com/login) y verificar tu correo electrónico.
  2. Solo se permite a los creadores crear clientes OAuth. Necesitarías lanzar tu campaña de creador visitando https://patreon.com/create (el correo electrónico debe verificarse para considerar que la campaña se lanzó).
  3. Crear un nivel de prueba https://patreon.com/c/yourvanity/membership.
  4. Ahora puedes crear el cliente de API v2 en https://www.patreon.com/portal/registration/register-clients

Para probar el control de acceso/las funciones de membresía, crearías una cuenta de prueba separada. Luego podrías afiliarte al nivel gratuito de tu campaña de prueba o potencialmente otorgar una membresía de regalo desde el creador.

Estoy disponible para responder, emparejarme o ayudarte por mensajes directos la próxima semana.

1 me gusta

No logro que este formulario habilite el botón de envío, sin importar lo que intente.

Es el único obstáculo que tengo para fusionar el cambio.

4 Me gusta

@Falco hemos implementado una solución para esto más temprano hoy, ¡disculpa! ¿Podrías intentarlo de nuevo? Además, qué bien: ¡avances rápidos! :tada:

2 Me gusta

Está funcionando bien en mi sitio de prueba, fusionaré el cambio el lunes temprano.

3 Me gusta

¡Eso fue rápido, gracias!

No está relacionado con una actualización a v2, pero es una solicitud general mientras estás preparando este PR: ¿podrías establecer el agente de usuario en un valor personalizado? Algo como Discourse-Patreon-Plugin/vX.x. Eso podría ayudarnos a depurar problemas de API en el futuro e identificar clientes. Para la deprecación de v1, vi una serie de agentes de usuario de Faraday y fue así como descubrí que Discourse era una de las aplicaciones restantes de v1.

2 Me gusta

Buena idea, agregado al PR.

4 Me gusta