getMerchants para recuperar la lista actual de comercios disponibles y sus ofertas del catálogo de Fluz. Esta es la forma principal de descubrir qué comercios están disponibles y qué tipos de ofertas tienen.
Puedes refinar los resultados usando argumentos de entrada opcionales:
name: Filtra comercios por un nombre específico.paginate: Controla la cantidad de resultados por página (limit) y el punto de inicio (offset).offerTypes: Especifica si quieresgiftCardOffers,cardLinkedOffers o ambos usando banderas booleanas (por ejemplo,{ giftCardOffer: true, cardLinkedOffer: false }).categoryId: Devuelve solo comercios en una categoría de compras, por ejemplo, Dining o Travel. Los ids de categoría provienen degetMerchantCategories. Una categoría desconocida o inactiva devuelve una lista vacía.filterBy: Un objeto usado para aplicar filtros específicos a las ofertas dentro de cada comercio. Si un comercio no tiene ofertas restantes después de filtrar, se excluye de los resultados finales.
Filtros disponibles:deliveryFormat: Filtra ofertas de tarjetas de regalo por su método de entrega.
Valores permitidos:URL,CODES,PIN_AS_CODE,PIN_WITH_URL.
📘 Recuperar el catálogo completo de comercios sin filtros puede tomar tiempo. Recomendamos obtener el catálogo completo y sin filtrar solo una vez al día. Para actualizaciones más frecuentes o búsquedas específicas, usa los filtrosnameuofferTypes.
📘 Notas sobre la paginación: El límite predeterminado y máximo para la paginación es 20. El resultado no necesariamente devolverá la cantidad que defines como límite. Por ejemplo, puedes solicitar un límite de 10, pero la respuesta puede tener solo 7 resultados. Cuando se incluye un offset, recuerda incluir el monto del límite en tu cálculo de offset para el siguiente lote. Si no se especifica un límite, tendrás que aumentar el offset por el límite predeterminado de 20 (por ejemplo, offset+20).
📘 Obtención del catálogo completo de comercios: Si quieres todos los comercios disponibles, debes paginar hasta que la API devuelva un arreglo vacío. Pasos para obtener el catálogo completo:
- Llama a getMerchants (offset = 0, limit = 20).
- Anexa los comercios devueltos a tu lista local.
- Incrementa el offset por tu límite (offset += 20).
- Repite la solicitud.
- Detente solo cuando la API devuelva un arreglo vacío ([]).
Estructura básica de la consulta
Aquí tienes una estructura de consulta flexible usando variables. Puedes ajustar la variableofferTypes para obtener las ofertas específicas que necesitas. Este ejemplo solicita solo los campos básicos más comunes.
Solicitud de ejemplo:
json
Detalles de la respuesta
El objetoMerchant devuelto por la consulta getMerchants incluye los siguientes campos:
Campos comunes de Offer (dentro del arreglo offers):
Estos campos están presentes en cada objeto
Offer, independientemente de su tipo.
Filtrar por categoría
Los comercios se agrupan en las mismas categorías de compras usadas en el catálogo de Fluz, como Dining, Travel y Grocery. Llama agetMerchantCategories una vez para obtener la lista, luego pasa un categoryId a getMerchants para mostrar una categoría a la vez.
categoryIdse combina con los otros argumentos, por lo que puedes filtrar por categoría ynameen la misma llamada.- Un
categoryIdque no sea un UUID devuelveAPPLICATIONS-0012(InvalidArgument) con el mensajecategoryId must be a UUID. Category ids come from getMerchantCategories.Una cadena en blanco es la excepción: solo elimina el filtro de categoría —name,offerTypes,filterByy la paginación aún aplican. - Si creas un caché del mapeo, almacena el
categoryIden lugar del nombre — los ids son estables y una categoría puede ser renombrada. - Las asignaciones de categorías en el sandbox son datos de prueba y no coincidirán con producción.
- Las mismas reglas de paginación aplican a una llamada filtrada que a una no filtrada.
Detalles específicos por tipo de oferta
Los detalles reales de una oferta dependen de sutype. Debes solicitar e interpretar diferentes campos según el tipo de oferta:
- Para ofertas de tarjetas de regalo (
GIFT_CARD_OFFER,EXCLUSIVE_RATE_OFFER):- Los campos clave incluyen
offerRates,stockInfo,hasStockInfo,denominationsType,allowedPaymentMethods. - Consulta la subpágina Ofertas de tarjetas de regalo para una explicación detallada y ejemplos de consultas.
- Los campos clave incluyen
- Para ofertas vinculadas a tarjeta (
CARD_LINKED_OFFER):- El campo principal es
cloDetails, que contiene tasas, periodos y condiciones. - Consulta la subpágina Ofertas vinculadas a tarjeta para una explicación detallada y ejemplos de consultas.
- El campo principal es