Cambios en el cuerpo de respuesta de /search/query por razón desconocida

¡Hola!

Hemos implementado una función en nuestro sitio web que consulta nuestros foros de Discourse alojados y muestra información sobre los temas encontrados. Todo funcionaba perfectamente la semana pasada cuando lo desplegué, pero dejó de hacerlo durante el fin de semana. Resulta que la estructura de los objetos topic devueltos por la consulta ha cambiado bastante.

Objeto de respuesta esperado según las pruebas realizadas durante el desarrollo y que también coincide con la documentación más reciente:

"topics": [
        {
            "id": 1099,
            "title": "Build Error: ipykernel 4.8.2 for python 3.6.6 on Windows",
            "fancy_title": "Build Error: ipykernel 4.8.2 for python 3.6.6 on Windows",
            "slug": "build-error-ipykernel-4-8-2-for-python-3-6-6-on-windows",
            "posts_count": 1,
            "reply_count": 0,
            "highest_post_number": 1,
            "image_url": null,
            "created_at": "2020-06-30T23:36:42.277Z",
            "last_posted_at": "2020-06-30T23:36:42.357Z",
            "bumped": true,
            "bumped_at": "2020-06-30T23:36:42.357Z",
            "archetype": "regular",
            "unseen": false,
            "pinned": false,
            "unpinned": null,
            "visible": true,
            "closed": false,
            "archived": false,
            "bookmarked": null,
            "liked": null,
            "thumbnails": null,
            "tags": [
                "windows",
                "builder"
            ],
            "category_id": 1,
            "has_accepted_answer": false
        }
    ],

Respuesta real/actual:

 "topics": [
        {
            "id": 1494,
            "fancy_title": "Build Error: python-magic 0.4.15 for Python 3.8.2 on Mac",
            "slug": "build-error-python-magic-0-4-15-for-python-3-8-2-on-mac",
            "posts_count": 1,
            "archetype": "regular",
            "pinned": false,
            "unpinned": null,
            "visible": true,
            "closed": false,
            "archived": false,
            "bookmarked": null,
            "liked": null,
            "tags": [
                "mac",
                "builder"
            ],
            "category_id": 1,
            "has_accepted_answer": false
        }
    ],

Me pregunto si quizás se lanzó una actualización que cambió las respuestas de la API de búsqueda. O, más probablemente, ¿alguien conoce algún ajuste de administrador que pueda causar esto?

Revisé el registro de cambios de la última versión (2.5, lanzada el 24 de junio), pero no encontré nada que mencione específicamente un cambio en la API.

Gracias de antemano por cualquier ayuda.

  • Carey

Sí, recientemente se eliminaron los siguientes atributos del tema del payload que se devuelve para las solicitudes de búsqueda:

    image_url
    thumbnails
    title
    created_at
    last_posted_at
    bumped_at
    bumped
    highest_post_number
    reply_count
    unseen

Este cambio se realizó por razones de rendimiento. Aún puedes obtener el título con el atributo fancy_title. Actualizaremos la documentación para reflejar este cambio.

Muchas gracias @simon,

Gracias por la aclaración. Afortunadamente ya estábamos usando fancy_title. Lo que nos causó problemas fue created_at.

Ah, entonces eso debe haber sido este elemento en las notas de la versión: Mejorar el rendimiento de la lista de temas de categoría.

¿Hay algún lugar donde pueda estar atento a los cambios entrantes en la API?

Gracias de nuevo por la rápida asistencia.

  • Carey

Lo siento, por ahora no, aparte de las notas de la versión y los cambios en Git, pero definitivamente estamos considerando este problema.

@th3coop La eliminación de esos campos se ha revertido, ya que se consideran parte de la API pública según Discourse API Docs.

Gracias por la alerta, @tgxworld. Reconozco que fue un poco desconcertante que la API cambiara de repente sin aviso.

¡Gracias por la rápida solución!

  • Carey