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

| 操作    | Scope                               |
| ----- | ----------------------------------- |
| 创建请求  | `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
  }
}
```

当请求被拒绝时，不会应用任何额度变更。
