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

# 申請變更虛擬卡限額

`requestVirtualCardLimitChange`

提交管理者核准請求以變更虛擬卡消費限額。核准後，Fluz 會更新卡片限額。

## Scopes

| 動作    | 範圍                                  |
| ----- | ----------------------------------- |
| 建立請求  | `REQUEST_VIRTUAL_CARD_LIMIT_CHANGE` |
| 列出請求  | `LIST_APPROVALS`                    |
| 核准或拒絕 | `MANAGE_APPROVALS`                  |

## Webhook 識別碼

| 欄位             | 值              |
| -------------- | -------------- |
| `approvalType` | `VIRTUAL_CARD` |
| `approvalCode` | `600002`       |

Webhook 事件：`APPROVAL_CREATE`、`APPROVAL_APPROVE`、`APPROVAL_DECLINE`，以及在執行失敗時的 `APPROVAL_HANDLER_ERROR`。

## 建立請求

### RequestVirtualCardLimitChangeInput

| 欄位              | 類型                            | 必填 | 說明                                                    |
| --------------- | ----------------------------- | -- | ----------------------------------------------------- |
| `virtualCardId` | UUID                          | 是  | 要更新的虛擬卡 ID                                            |
| `spendLimit`    | Float                         | 是  | 新的消費限額。必須大於零                                          |
| `limitDuration` | VirtualCardSpendLimitDuration | 是  | 限額期間：`DAILY`、`WEEKLY`、`MONTHLY`、`ANNUAL` 或 `LIFETIME` |

### 範例 Mutation

```graphql theme={null}
mutation {
  requestVirtualCardLimitChange(
    input: {
      virtualCardId: "07df5653-43a8-4532-9881-3ab5857bbe11"
      spendLimit: 500.00
      limitDuration: MONTHLY
    }
  ) {
    success
    messageId
    error {
      code
      message
    }
  }
}
```

### 範例回應

```json theme={null}
{
  "data": {
    "requestVirtualCardLimitChange": {
      "success": true,
      "messageId": "1234567890"
    }
  }
}
```

## 核准請求

使用 `approvalId` 呼叫 `approveApprovalRequest`。需要 `MANAGE_APPROVALS`。

```graphql theme={null}
mutation {
  approveApprovalRequest(approvalId: "07df5653-43a8-4532-9881-3ab5857bbe12") {
    success
    approvalId
    action
  }
}
```

核准後，Fluz 會更新虛擬卡的消費限額。

## 拒絕請求

使用 `approvalId` 呼叫 `declineApprovalRequest`。需要 `MANAGE_APPROVALS`。

```graphql theme={null}
mutation {
  declineApprovalRequest(approvalId: "07df5653-43a8-4532-9881-3ab5857bbe12") {
    success
    approvalId
    action
  }
}
```

當請求被拒絕時，不會套用任何限額變更。
