Escenario
La sección de categoría necesita admitir paginación y mostrar 3 productos por página. Si es posible, el primer producto en cada página será un producto patrocinado. Los productos en esta página de categoría tienen la siguiente estructura:resolvedBidId es null cuando el producto no está promovido y contiene un ID de cadena cuando lo está.
Nuestro objetivo es tener el código pseudo en su lugar para un endpoint que pueda crear listas de tales productos.
1. Consultar sus resultados orgánicos
El primer paso será consultar sus resultados orgánicos. Los productos que deben mostrarse para una página y categoría específicas. El código para hacer esto podría verse así:Shoes, y hay 3 o más productos disponibles en esta categoría. Este código entonces generaría algo similar a esto:
resolvedBidId, vamos a agregarlo.
2. Ejecutar una subasta
En nuestro escenario queremos ejecutar una subasta para un solo slot:¿No está seguro de cómo ejecutar una subasta para una categoría? Consulte
estos ejemplos.
products.
3. Consultar datos de productos para ganadores
Ahora, cuando hay ganadores. Necesitamos consultar los datos del producto para ellos.resolvedBidId para completar estos datos. Pero, esta vez no debemos establecerlo en null, porque ahora estamos tratando con productos promovidos.
Si asumimos que queryProductsByIds devolverá productos en el mismo orden que los ids proporcionados, podemos agregar los IDs de oferta de la siguiente manera:
¿Por qué es necesario este ID de oferta? El ID de oferta es vital para
permitir que Topsort atribuya eventos a
ofertas y campañas.
4. Fusionar
Queremos mostrar los productos promovidos al principio de la lista. Para lograrlo, necesitaremos anteponer lospromoProducts a los products.
Sin embargo, esto puede hacer que products tenga más elementos que nuestro tamaño de página previsto de 3. Por lo tanto, necesitamos dividirlo para permanecer en este tamaño de página.