> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluz.app/llms.txt
> Use this file to discover all available pages before exploring further.

# 获取最佳优惠

getOfferQuote

如果你的目标是获得最佳返现率，`getOfferQuote` [查询](https://storage.googleapis.com/fluz-public-docs/api-reference.html#query-getOfferQuote) 将根据你提供的条件，帮助你为特定商户找到当前最优的可用优惠。

## **响应：**

getOfferQuote 查询的响应会返回一个 Offer 对象，其中包含该商户最佳可用优惠的详细信息。

## **参数：**

**`input (GetOfferQuoteInput!)`**：\
用于指定检索最佳优惠条件的输入对象。此参数为必填，应包含商户的 slug 以及其他相关细节。

**`GetOfferQuoteInput`** **字段：**

**`slug (String!)`**：\
商户的唯一 slug 标识符。此字段为必填。该 slug 用于指定要请求优惠的商户。你可以使用前文提到的 `getMerchants` 查询来获取商户的 slug。

**`denomination (Float!)`**：\
请求优惠的购买金额。此字段同样为必填，该面额值将决定可用的优惠。

**`paymentMethod (PaymentMethodType):`**\
将用于此次购买的支付方式。默认值为 `FLUZPAY`，即你可用的 Fluz 余额，但也可以根据优惠的可用性指定其他支付方式，包括：

* `BANK_CARD`
* `BANK_ACCOUNT`
* `PAYPAL`
* `FLUZPAY`
* `APPLE_PAY`
* `GOOGLE_PAY`

## 示例用法：

以下是一个 getOfferQuote 查询的结构示例：

```graphql theme={null}
query getOfferQuote($input: GetOfferQuoteInput!) {
  getOfferQuote(input: $input) {
    offeringMerchantId
    offerId
    type
    hasStockInfo
    offerRates {
      ...OfferRateFragment
    }
    denominationsType
    termsAndConditions
    stockInfo {
      ... on StockInfoVariableType {
        __typename
        description
        maxDenomination
        minDenomination
      }
      ... on StockInfoFixedType {
        __typename
        denomination
        availableStock
      }
    }
  }
}
```

### 响应详情

`Offer` 对象表示与该商户关联的优惠详情。

**`offeringMerchantId (UUID)`**：提供优惠的商户的唯一 ID。

**`offerId (UUID!)`**：该优惠的唯一 ID。

**`type (OfferType)`**：指示优惠的类型。可能是标准礼品卡优惠或专属费率优惠。\[示例：GIFT\_CARD\_OFFER，EXCLUSIVE\_RATE\_OFFER]。

**`hasStockInfo (Boolean)`**：指定该优惠是否包含库存信息。如为 true，stockInfo 字段将填充可用面额信息。

**`denominationsType (OfferDenominationType)`**：定义该优惠可用面额的类型。用于指定优惠金额结构，如固定或可变面额。

**`termsAndConditions (String)`**：此优惠的条款与条件文本（法律条款、限制、到期政策）。在用户购买礼品卡前使用此信息向终端用户展示 T\&C。

**`stockInfo ([StockInfoType]!)`** StockInfo 是某一优惠的可用面额列表。仅当优惠的 hasStockInfo 为 true 时此字段可用，这需要 Fluz 确认库存。请注意，响应时间因供应商而异。根据 `VARIABLE` 或 `FIXED` 类型，stockInfo 字段将有条件返回信息。要查询 stockInfo，你需要使用带有 `... on` 关键字的内联片段。当面额类型为 `VARIABLE` 时返回 `StockInfoVariableType`，当面额类型为 `FIXED` 时返回 `StockInfoFixedType`。

示例响应：

```json theme={null}
{
  "data": {
    "getOfferQuote": {
      "offeringMerchantId": "7b4280a6-dadc-4cf3-a99a-70d291e43c1c",
      "offerId": "7b4280a6-dadc-4cf3-a99a-70d291e43c1c",
      "type": "GIFT_CARD_OFFER",
      "hasStockInfo": true,
      "offerRates": [],
      "denominationsType": "VARIABLE",
      "termsAndConditions": "Card valid only for purchases on the merchant's U.S. website. Cannot be used to purchase other gift cards. Not redeemable for cash except where required by law.",
      "stockInfo": [
        {
          "__typename": "StockInfoVariableType",
          "description": "Available denominations range from $5 to $200",
          "maxDenomination": "200",
          "minDenomination": "5"
        }
      ]
    }
  }
}
```

更多详情，请参阅 [GraphQL API 的工作方式](/concepts/graphql) 一文。

`OfferRate` 对象表示与某项优惠相关的具体奖励费率和条件。该对象包含用户在使用某项优惠时可获得的奖励详情，以及这些奖励适用的条件：

**`maxUserRewardValue (Float)`**：\
用户可获得的最大奖励返现值。此字段定义用户在特定优惠下可赚取的返现金额上限。

**`cashbackVoucherRewardValue (Float)`**：\
在对优惠应用加成后得到的返现值。通常对你前 \$10 的消费提供 25% 的返现加成。

**`boostRewardValue (Float)`**：\
当某项优惠的返现值被提升时，会在此显示。这类优惠是在一段时间内向用户提供的额外激励。

**`displayBoostReward (Boolean)`**：\
指示是否应向用户展示加成奖励。此字段用于控制加成奖励在用户界面的可见性。

**`denominations ([String])`**：\
符合该优惠条件的面额数组。这些面额表示适用于该优惠的具体金额（例如，“10”“25”“50”），用于定义可获得奖励的金额区间。

**`allowedPaymentMethods ([String])`**：\
该优惠允许的支付方式数组。此字段指定用户可使用哪些支付方式（例如，“CREDIT\_CARD”“PAYPAL”）来享受该优惠。

> 🚧 返现费率可能发生变化。
>
> 我们会尽力始终为客户提供最优优惠。这意味着我们的费率会定期调整。请在购买前务必确认费率。

<br />

<StickyContactSalesBanner />
