---
title: 進階功能
description: 發現平台的進階功能並掌握專業技巧
publishedAt: 2024-01-20
updatedAt: 2024-11-16
author: Recur Team
---

# 進階功能

解鎖平台的全部潛力，學習進階功能和專業技巧。

## 自動化工作流程

使用我們的自動化工具節省時間並提高效率。

### 創建自動化規則

1. 前往 **設置** > **自動化**
2. 點擊 **新建規則**
3. 選擇觸發條件：
   - 新訂閱創建時
   - 訂閱更新時
   - 付款成功時
   - 訂閱取消時
4. 定義動作：
   - 發送電子郵件
   - 更新狀態
   - 創建任務
   - 調用 Webhook

### 自動化範例

**歡迎新訂閱者**
```
觸發：新訂閱創建
動作：發送歡迎電子郵件
```

**通知付款失敗**
```
觸發：付款失敗
動作：發送通知給訂閱者和管理員
```

## Webhook 整合

整合第三方服務以擴展功能。

### 設置 Webhook

1. 導航至 **設置** > **Webhook**
2. 點擊 **添加 Webhook**
3. 輸入 URL
4. 選擇事件：
   - `subscription.created`
   - `subscription.updated`
   - `subscription.cancelled`
   - `payment.succeeded`
   - `payment.failed`
5. 設置密鑰（用於驗證）
6. 測試 Webhook
7. 保存配置

### Webhook 負載範例

```json
{
  "event": "subscription.created",
  "timestamp": "2024-11-16T10:30:00Z",
  "data": {
    "id": "sub_123456",
    "customer_id": "cus_789012",
    "plan": "pro",
    "status": "active",
    "amount": 890,
    "currency": "TWD"
  }
}
```

### 驗證 Webhook

驗證 webhook 請求的真實性：

```typescript
import crypto from 'crypto'

function verifyWebhook(payload: string, signature: string, secret: string): boolean {
  const hmac = crypto.createHmac('sha256', secret)
  const digest = hmac.update(payload).digest('base64')
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(digest)
  )
}
```

## 批量操作

一次處理多個項目以提高效率。

### 批量導入訂閱

1. 前往 **訂閱** > **批量操作**
2. 點擊 **導入**
3. 下載 CSV 模板
4. 填寫訂閱資料
5. 上傳 CSV 文件
6. 審查並確認

### 批量更新

批量更新多個訂閱：

1. 選擇多個訂閱（使用複選框）
2. 點擊 **批量操作**
3. 選擇操作：
   - 更新狀態
   - 更改方案
   - 添加標籤
   - 發送通知
4. 確認更改

## 進階篩選與搜尋

使用強大的篩選器快速找到所需內容。

### 篩選選項

- **狀態：** active, cancelled, past_due
- **方案：** free, pro, enterprise
- **日期範圍：** 自定義日期範圍
- **金額：** 最小/最大金額
- **標籤：** 按標籤篩選

### 保存篩選器

保存常用篩選器以便快速訪問：

1. 應用所需篩選器
2. 點擊 **保存篩選器**
3. 命名篩選器
4. 選擇可見性（私人/共享）
5. 保存

## 自定義欄位

添加自定義欄位以捕獲額外資訊。

### 創建自定義欄位

1. 前往 **設置** > **自定義欄位**
2. 點擊 **新建欄位**
3. 選擇類型：
   - 文字
   - 數字
   - 日期
   - 選擇（下拉菜單）
   - 多選（複選框）
4. 設置驗證規則
5. 保存欄位

### 使用自定義欄位

在訂閱中使用自定義欄位：

```typescript
const subscription = await createSubscription({
  customerId: 'cus_123',
  productId: 'pro',
  customFields: {
    department: '行銷部',
    projectCode: 'PROJ-2024-001',
    manager: '張經理'
  }
})
```

## 分析與報表

深入了解業務表現。

### 自定義報表

創建自定義報表：

1. 前往 **分析** > **報表**
2. 點擊 **新建報表**
3. 選擇指標：
   - 總收入
   - 活躍訂閱
   - 流失率
   - 平均訂單價值
4. 選擇維度：
   - 時間（日/週/月）
   - 方案
   - 客戶群組
5. 應用篩選器
6. 保存報表

### 導出資料

導出資料用於進一步分析：

1. 選擇報表或資料視圖
2. 點擊 **導出**
3. 選擇格式：
   - CSV
   - Excel
   - JSON
4. 下載文件

## API 進階用法

利用我們的 API 構建強大的整合。

### 速率限制處理

優雅地處理速率限制：

```typescript
async function apiCallWithRetry(fn: () => Promise<any>, retries = 3) {
  try {
    return await fn()
  } catch (error) {
    if (error.status === 429 && retries > 0) {
      const retryAfter = error.headers['retry-after'] || 60
      await sleep(retryAfter * 1000)
      return apiCallWithRetry(fn, retries - 1)
    }
    throw error
  }
}
```

### 批量 API 請求

批量處理以減少 API 調用：

```typescript
// 批量創建訂閱
const subscriptions = await batchCreate({
  items: [
    { customerId: 'cus_1', productId: 'pro' },
    { customerId: 'cus_2', productId: 'enterprise' },
    { customerId: 'cus_3', productId: 'pro' }
  ]
})
```

## 最佳實踐

遵循這些最佳實踐以獲得最佳結果：

1. **使用 Webhook** 而不是輪詢以獲得即時更新
2. **實施錯誤處理** 以處理 API 限制和失敗
3. **快取資料** 以減少 API 調用
4. **使用批量操作** 處理大量資料
5. **定期備份** 重要資料
6. **監控使用情況** 以避免達到限制
7. **使用環境變數** 儲存敏感資訊

## 需要更多幫助？

探索更多資源：

- [API 文檔](/api-reference) - 完整的 API 參考
- [最佳實踐](/help/features/best-practices) - 推薦做法
- [範例程式碼](https://github.com/subs/examples) - 實用範例
- [社區論壇](/community) - 與其他開發者交流
