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

# 編輯卡片概覽

`editVirtualCard` 變更可讓你更新現有虛擬卡的各種詳細資料，例如消費限額、鎖定日期與暱稱。

<Info>
  **先決條件：** 具有 `EDIT_VIRTUALCARD` 權限範圍的使用者存取權杖，以及要更新之卡片的 `virtualCardId`。
</Info>

## 參數

* **`input`** (`EditVirtualCardInput!`)：包含虛擬卡 ID 與要更新欄位的輸入物件。

## EditVirtualCardInput 欄位

| 欄位                     | 型別                              | 說明                      | 必填 |
| :--------------------- | :------------------------------ | :---------------------- | :- |
| `virtualCardId`        | `UUID!`                         | 要更新的虛擬卡。                | 是  |
| `spendLimit`           | `Float`                         | 可向此卡片收取的最高金額。           | 否  |
| `spendLimitDuration`   | `VirtualCardSpendLimitDuration` | 卡片限額期間類型。               | 否  |
| `lockDate`             | `String`                        | 卡片將被鎖定的日期。格式：yyyy-mm-dd | 否  |
| `lockCardNextUse`      | `Boolean`                       | 於下次使用後鎖定卡片的設定。          | 否  |
| `cardNickname`         | `String`                        | 卡片暱稱。                   | 否  |
| `primaryFundingSource` | `VirtualCardFundingSource`      | 虛擬卡的主要資金來源。             | 否  |
| `bankAccountId`        | `UUID`                          | 銀行帳戶的唯一識別碼。             | 否  |
| `userCashBalanceId`    | `UUID`                          | 使用者現金餘額的唯一識別碼。          | 否  |

## 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": "mutation { editVirtualCard( input: { virtualCardId: \"07df5653-43a8-4532-9881-3ab5857bbe11\", spendLimit: 200.00, spendLimitDuration: \"MONTHLY\", cardNickname: \"Edited Card Nickname\", lockCardNextUse: false } ) { virtualCardId cardholderName expiryMonth expiryYear virtualCardLast4 status cardType initialAmount usedAmount createdAt authorizationSetting { virtualCardAsaSettingsId lockDate dailySpendLimit monthlySpendLimit cardNickname lockCardNextUse } } }"
  }'
```

## 範例回應

```json theme={null}
{
  "data": {
    "editVirtualCard": {
      "virtualCardId": "07df5653-43a8-4532-9881-3ab5857bbe11",
      "userId": "00a2ec0a-255f-4fe7-85ad-2958dc8d3c72",
      "cardholderName": "John Doe",
      "expiryMonth": "12",
      "expiryYear": "27",
      "virtualCardLast4": "7890",
      "status": "ACTIVE",
      "cardType": "MULTI_USE",
      "initialAmount": 200,
      "usedAmount": 0,
      "createdAt": "2023-10-26T10:00:00Z",
      "authorizationSetting": {
        "virtualCardAsaSettingsId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
        "lockDate": "1875743999999",
        "dailySpendLimit": null,
        "monthlySpendLimit": "200.00",
        "cardNickname": "Edited Card Nickname",
        "lockCardNextUse": false
      }
    }
  }
}
```

## 回應欄位

| 欄位                                              | 型別                                | 說明                      |
| ----------------------------------------------- | --------------------------------- | ----------------------- |
| `virtualCardId`                                 | `UUID`                            | 已編輯之虛擬卡的唯一識別碼。          |
| `cardholderName`                                | `String`                          | 與虛擬卡相關聯的持卡人姓名。          |
| `expiryMonth`                                   | `String`                          | 虛擬卡到期月份。                |
| `expiryYear`                                    | `String`                          | 虛擬卡到期年份。                |
| `virtualCardLast4`                              | `String`                          | 虛擬卡號後四碼。                |
| `status`                                        | `VirtualCardStatus`               | 虛擬卡目前狀態。                |
| `cardType`                                      | `VirtualCardType`                 | 虛擬卡的類型（例如 `MULTI_USE`）。 |
| `initialAmount`                                 | `Float`                           | 建立卡片時設定的初始金額（消費限額）。     |
| `usedAmount`                                    | `Float`                           | 虛擬卡的累計消費金額。             |
| `createdAt`                                     | `DateTime`                        | 虛擬卡最初建立的時間戳記。           |
| `authorizationSetting`                          | `VirtualCardAuthorizationSetting` | 包含虛擬卡授權設定的物件，會反映任何更新。   |
| `authorizationSetting.virtualCardAsaSettingsId` | `UUID`                            | 此特定授權設定的唯一識別碼。          |
| `authorizationSetting.lockDate`                 | `String`                          | 卡片將被鎖定的日期（若已設定）。        |
| `authorizationSetting.dailySpendLimit`          | `String`                          | 每日消費上限（若適用）。            |
| `authorizationSetting.monthlySpendLimit`        | `String`                          | 每月消費上限（若適用）。            |
| `authorizationSetting.cardNickname`             | `String`                          | 卡片更新後的暱稱。               |
| `authorizationSetting.lockCardNextUse`          | `Boolean`                         | 指示卡片是否會在下次使用後被鎖定。       |

## 後續步驟

<CardGroup cols={2}>
  <Card title="鎖定虛擬卡" icon="lock" href="/features/lock-virtual-card">
    在不關閉卡片的情況下，暫時阻擋所有消費。
  </Card>

  <Card title="解除鎖定虛擬卡" icon="lock-open" href="/features/unlock-virtual-card">
    重新啟用已鎖定的卡片，讓授權再次成功。
  </Card>
</CardGroup>
