Get the Best Offer

getOfferQuote

If your goal is to secure the best cashback rate, the getOfferQuote query will help you find the top available offer for a specific merchant, tailored to the criteria you provide.

Response:

The response for the getOfferQuote query returns an Offer object, which contains detailed information about the best available offer for the merchant.

Arguments:

input (GetOfferQuoteInput!):
The input object that specifies the criteria for retrieving the best offer. This input is required and should include the merchant's slug and other relevant details.

GetOfferQuoteInput Fields:

slug (String!):
The unique slug identifier for the merchant. This field is required. This slug is used to specify the merchant for which the offer is being requested. You can use the getMerchants query described earlier to get your merchant's slug.

denomination (Float!):
The purchase amount for which the offer is being requested. This field is also required and the denomination value will determine what offers are available.

paymentMethod (PaymentMethodType):
The payment method that will be used for the purchase. The default is FLUZPAY, your available Fluz balance, but other payment methods can be specified depending on the offer's availability. These include:

  • BANK_CARD
  • BANK_ACCOUNT
  • PAYPAL
  • FLUZPAY
  • APPLE_PAY
  • GOOGLE_PAY

Example Usage:

Here’s how you might structure a getOfferQuote query:

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

Response Details

The Offer object represents the offer details associated with the merchant.

offeringMerchantId (UUID) : The unique id for the offering merchant.

offerId (UUID!): The unique id for the offer.

type (OfferType): Indicates the type of the offer. This could be a standard gift card offer or an exclusive rate offer. [Example: GIFT_CARD_OFFER, EXCLUSIVE_RATE_OFFER].

hasStockInfo (Boolean): Specifies whether the offer includes stock information. If true, the stockInfo field will be populated with available denominations.

denominationsType (OfferDenominationType): Defines the type of denominations available for the offer. This field is used to specify how the offer's value is structured, such as fixed or variable denominations.

stockInfo ([StockInfoType]!) StockInfo is a list of available denominations for a specific offer. This field object is only available if the offer's hasStockInfo is true. This requires Fluz to confirm the inventory. Keep in mind, response time varies by vendors. The stockInfo field will conditionally return info depending on the VARIABLE or FIXED type. To query for stockInfo, you will need to utilize an inline fragment using the ... onkeyword. This will return either StockInfoVariableType if the denomination type is VARIABLE or StockInfoFixedType if the denomination type is FIXED.

Sample Response:

{
  "data": {
    "getOfferQuote": {
      "offeringMerchantId": "7b4280a6-dadc-4cf3-a99a-70d291e43c1c",
      "offerId": "7b4280a6-dadc-4cf3-a99a-70d291e43c1c",
      "type": "GIFT_CARD_OFFER",
      "hasStockInfo": false,
      "offerRates": [OfferRate],
      "denominationsType": "VARIABLE",
    	"stockInfo": 
        [
          {
            " __typename": "StockInfoVariableType",
            " description": "Available denominations range from $5 to $200",
            "maxDenomination": "200",
            "minDenomination": "5"
          }
        ]
    }
  }
}

For more detail, refer to the Using Fragments with Unions and Interfaces article.

The OfferRate object represents the specific reward rates and conditions associated with an offer. This object contains detailed information about the rewards that users can receive when they take advantage of an offer, as well as the conditions under which these rewards apply:

maxUserRewardValue (Float):
The maximum value cashback that a user can receive. This field defines the upper limit of the reward amount that a user can earn for a specific offer.

cashbackVoucherRewardValue (Float):
The cashback value after a boost is applied to the offer. Typically this is a 25% cashback boost on the first $10 of your spend.

boostRewardValue (Float):
When the cashback value on an offer has been increased, it will display here. These offers are an additional incentive that may be offered to users for a period of time.

displayBoostReward (Boolean):
Indicates whether the boost reward should be displayed to the user. This field is used to control the visibility of the boost reward in the user interface.

denominations ([String]):
An array of denominations that are eligible for the offer. These denominations represent specific amounts (e.g., "10", "25", "50") that are applicable for the offer, defining the monetary values that qualify for the rewards.

allowedPaymentMethods ([String]):
An array of payment methods that are allowed for this offer. This field specifies which payment methods (e.g., "CREDIT_CARD", "PAYPAL") can be used by the user to take advantage of the offer.

🚧

Cashback rates are subject to change.

We do our best to always give our customers the best offers available. This means that our rates change regularly. Always confirm the rate before making a purchase.