getMerchants GraphQL 查询从 Fluz 目录中检索当前可用商户及其优惠列表。这是发现可用商户以及其提供的优惠类型的主要方式。
你可以使用可选的输入参数来精炼结果:
name: 按特定名称筛选商户。paginate: 控制每页结果数量(limit)和起始位置(offset)。offerTypes: 使用布尔标志指定你想要giftCardOffer、cardLinkedOffer,或两者皆要(例如{ giftCardOffer: true, cardLinkedOffer: false })。filterBy: 一个用于对每个商户内的优惠应用特定筛选的对象。如果某个商户在筛选后没有任何剩余优惠,将从最终结果中排除。
可用筛选项:deliveryFormat: 按投放方式筛选礼品卡优惠。
允许的值:URL、CODES、PIN_AS_CODE、PIN_WITH_URL。
📘 在不使用筛选的情况下检索整个商户目录可能会耗时。我们建议每天仅获取一次完整的未筛选目录。对于更频繁的更新或特定查询,请使用name或offerTypes筛选。
📘 分页注意事项: 分页的默认和最大 limit 为 20。结果不一定会返回你定义的 limit 数量。例如,你请求 limit 为 10,但响应可能只有 7 条结果。 当包含 offset 时,记得在计算下一批的 offset 时加入 limit 数量。如果未指定 limit,你需要按默认 limit 20 来偏移(例如 offset+20)。
📘 获取完整商户目录: 如果你想要所有可用商户,必须持续分页,直到 API 返回空数组为止。 获取完整目录的步骤:
- 调用 getMerchants(offset = 0, limit = 20)。
- 将返回的商户追加到你的本地列表。
- 按你的 limit 增加 offset(offset += 20)。
- 重复请求。
- 仅当 API 返回空数组([])时停止。
基本查询结构
下面是一个使用变量的灵活查询结构。你可以调整offerTypes 变量以获取所需的特定优惠。本示例仅请求最常见的基础字段。
示例请求:
json
响应详情
getMerchants 查询返回的 Merchant 对象包含以下字段:
通用 Offer 字段(位于 offers 数组内):
这些字段存在于每个
Offer 对象中,无论其类型如何。
特定优惠类型详情
优惠的真正细节取决于其type。你需要根据优惠类型请求并解析不同的字段:
- 针对礼品卡优惠(
GIFT_CARD_OFFER、EXCLUSIVE_RATE_OFFER):- 关键字段包括
offerRates、stockInfo、hasStockInfo、denominationsType、allowedPaymentMethods。 - 详细说明与查询示例请参见礼品卡优惠子页面。
- 关键字段包括
- 针对卡链接优惠(
CARD_LINKED_OFFER):- 主要字段为
cloDetails,其中包含费率、周期及条件。 - 详细说明与查询示例请参见卡链接优惠子页面。
- 主要字段为