> ## 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.

# 取得卡片優惠

`getVirtualCardOffers` 查詢可讓你擷取一份啟用中的虛擬卡優惠清單 — 每個優惠都是你可以發卡的卡片方案。

<Info>
  **先決條件：** 具有 `CREATE_VIRTUALCARD` 權限範圍的使用者存取權杖。
</Info>

## 參數

* **`input`** (`GetVirtualCardOffersInput`)：用於篩選虛擬卡優惠的可選輸入。

## GetVirtualCardOffersInput 欄位

| 欄位                | 類型                     | 說明                                | 必填 |
| :---------------- | :--------------------- | :-------------------------------- | :- |
| `cardBrandLocked` | `Boolean`              | 指定虛擬卡優惠是否鎖定品牌。                    | 否  |
| `cardType`        | `VirtualCardOfferType` | 指定虛擬卡網路類型（`DEBIT` 或 `PREPAID`）。   | 否  |
| `cardNetwork`     | `VirtualCardNetwork`   | 指定虛擬卡網路種類（`MASTERCARD` 或 `VISA`）。 | 否  |

## 範例查詢

```graphql theme={null}
query GetVirtualCardOffers {
    getVirtualCardOffers {
        offerId
        bin
        bankName
        rewardValue
        programLimits {
            dailyLimit
            weeklyLimit
            monthlyLimit
        }
        programName
    }
}
```

## cURL 範例

```curl theme={null}
curl -X POST \
  https://transactional-graph.staging.fluzapp.com/api/v1/graphql \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_USER_ACCESS_TOKEN' \
  -d '{
    "query": "query { getVirtualCardOffers(input: { cardType: DEBIT, cardNetwork: MASTERCARD }) { offerId programName bin bankName programLimits { dailyLimit weeklyLimit monthlyLimit } rewardValue } }"
  }'
```

## 範例回應

優惠會依照 rewardValue 排序。

```json theme={null}
{
  "data": {
    "getVirtualCardOffers": [
      {
        "offerId": "offer-id-1",
        "programName": "Example Card Program A",
        "bin": "543210",
        "bankName": "Bank of Examples",
        "programLimits": {
          "dailyLimit": "500.00",
          "weeklyLimit": "2000.00",
          "monthlyLimit": "5000.00"
        },
        "rewardValue": "1.5%"
      },
      {
        "offerId": "offer-id-2",
        "programName": "Example Card Program B",
        "bin": "456789",
        "bankName": "Another Bank",
        "programLimits": {
          "dailyLimit": "1000.00",
          "weeklyLimit": "4000.00",
          "monthlyLimit": "10000.00"
        },
        "rewardValue": "1%"
      }
    ]
  }
}
```

## 回應欄位

| 欄位                           | 類型              | 說明                     |
| ---------------------------- | --------------- | ---------------------- |
| `offerId`                    | `String`        | 虛擬卡優惠的唯一識別碼。           |
| `programName`                | `String`        | 虛擬卡方案或商家的名稱。           |
| `bin`                        | `String`        | 與該虛擬卡優惠相關的銀行識別號碼（BIN）。 |
| `bankName`                   | `String`        | 此虛擬卡優惠的發卡銀行名稱。         |
| `programLimits`              | `ProgramLimits` | 說明此方案消費上限的物件。          |
| `programLimits.dailyLimit`   | `String`        | 此方案卡片每日可消費的最高金額。       |
| `programLimits.weeklyLimit`  | `String`        | 此方案卡片每週可消費的最高金額。       |
| `programLimits.monthlyLimit` | `String`        | 此方案卡片每月可消費的最高金額。       |
| `rewardValue`                | `String`        | 此虛擬卡方案提供的賺取比率或獎勵百分比。   |

## 後續步驟

<CardGroup cols={2}>
  <Card title="建立虛擬卡" icon="credit-card" href="/features/create-card">
    將你選定的 `offerId` 傳入 `createVirtualCard`。
  </Card>

  <Card title="卡片連動優惠" icon="badge-percent" href="/features/card-linked-offers">
    特定商家的優惠，會在基礎方案之上疊加額外獎勵。
  </Card>
</CardGroup>
