Skip to main content
getMerchants Usa la consulta GraphQL 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 quieres giftCardOffers, 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 de getMerchantCategories. 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:
    1. 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 filtros name u offerTypes.
📘 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:
  1. Llama a getMerchants (offset = 0, limit = 20).
  2. Anexa los comercios devueltos a tu lista local.
  3. Incrementa el offset por tu límite (offset += 20).
  4. Repite la solicitud.
  5. 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 variable offerTypes para obtener las ofertas específicas que necesitas. Este ejemplo solicita solo los campos básicos más comunes. Solicitud de ejemplo:
Estructura de respuesta de ejemplo (ejemplo de tarjeta de regalo):
json

Detalles de la respuesta

El objeto Merchant 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 a getMerchantCategories una vez para obtener la lista, luego pasa un categoryId a getMerchants para mostrar una categoría a la vez.
Notas:
  • categoryId se combina con los otros argumentos, por lo que puedes filtrar por categoría y name en la misma llamada.
  • Un categoryId que no sea un UUID devuelve APPLICATIONS-0012 (InvalidArgument) con el mensaje categoryId 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, filterBy y la paginación aún aplican.
  • Si creas un caché del mapeo, almacena el categoryId en 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 su type. 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.
  • 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.