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篩選。
📘 分頁注意事項: 分頁的預設與最大限制為 20。回應不一定會回傳你所設定的限制數量。例如,你請求 limit 為 10,但回應可能只有 7 筆結果。 當包含 offset 時,請記得在計算下一批次的 offset 時一併加入 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。 - 請參閱子頁面 Gift Card Offers 以取得詳細說明與查詢範例。
- 重要欄位包含
- 對於卡片連結優惠(
CARD_LINKED_OFFER):- 主要欄位為
cloDetails,其中包含費率、期間與條件。 - 請參閱子頁面 Card Linked Offers 以取得詳細說明與查詢範例。
- 主要欄位為