Chuyển đến nội dung chính

Tạo một đồng hồ đo

Các đồng hồ đo xác định cách các sự kiện sử dụng của bạn được tổng hợp và đo lường cho mục đích thanh toán. Trước khi tạo một đồng hồ đo, hãy lập kế hoạch chiến lược theo dõi mức sử dụng của bạn:
  • Xác định các sự kiện sử dụng mà bạn muốn theo dõi
  • Xác định cách các sự kiện nên được tổng hợp (đếm, tổng, v.v.)
  • Định nghĩa bất kỳ yêu cầu lọc nào cho các trường hợp sử dụng cụ thể

Quy trình tạo đồng hồ đo từng bước

Theo dõi hướng dẫn toàn diện này để thiết lập đồng hồ đo sử dụng của bạn:
1

Configure Basic Information

Thiết lập các thông tin cơ bản cho đồng hồ đo của bạn.
Meter Name
string
bắt buộc
Chọn một tên rõ ràng, dễ hiểu để xác định đồng hồ đo này đang theo dõi điều gì.Ví dụ: “Tokens”, “API Calls”, “Storage Usage”, “Compute Hours”
Description
string
Cung cấp giải thích chi tiết về những gì đồng hồ đo này đang đo lường.Ví dụ: “Đếm mỗi yêu cầu POST /v1/orders do khách hàng thực hiện”
Event Name
string
bắt buộc
Xác định định danh sự kiện sẽ kích hoạt đồng hồ đo này.Ví dụ: “token”, “api.call”, “storage.usage”, “compute.session”
Tên sự kiện phải khớp chính xác với những gì bạn gửi trong các sự kiện sử dụng của mình. Tên sự kiện phân biệt chữ hoa chữ thường.
2

Configure Aggregation Settings

Xác định cách đồng hồ đo tính toán việc sử dụng từ các sự kiện của bạn.
Aggregation Type
string
bắt buộc
Chọn cách sự kiện nên được tổng hợp:
Đơn giản là đếm số sự kiện đã nhận.Trường hợp sử dụng: Các cuộc gọi API, lượt xem trang, tải tệpPhép tính: Tổng số sự kiện
Over Property
string
Tên thuộc tính từ siêu dữ liệu sự kiện để tổng hợp trên đó.
Trường này bắt buộc khi sử dụng các loại tổng hợp Sum, Max hoặc Last.
Measurement Unit
string
bắt buộc
Xác định nhãn đơn vị để hiển thị trong báo cáo và thanh toán.Ví dụ: “calls”, “GB”, “hours”, “tokens”
3

Configure Event Filtering (Optional)

Thiết lập tiêu chí để kiểm soát sự kiện nào được bao gồm trong đồng hồ đo.
Lọc sự kiện cho phép bạn tạo ra các quy tắc tinh vi quyết định sự kiện nào góp phần vào việc tính toán sử dụng. Điều này hữu ích để loại trừ sự kiện thử nghiệm, lọc theo tầng người dùng hoặc tập trung vào hành động cụ thể.
Kích hoạt lọc sự kiệnBật Kích hoạt lọc sự kiện để kích hoạt xử lý sự kiện có điều kiện.Chọn logic lọcChọn cách nhiều điều kiện được đánh giá:
Tất cả điều kiện phải đúng để một sự kiện được tính. Dùng khi bạn cần sự kiện đáp ứng nhiều tiêu chí nghiêm ngặt cùng lúc.Ví dụ: Đếm các cuộc gọi API nơi user_tier = "premium" AND endpoint = "/api/v2/users"
Thiết lập điều kiện lọc
1

Add Condition

Nhấn Add condition để tạo quy tắc bộ lọc mới.
2

Configure Property Key

Chỉ định tên thuộc tính từ siêu dữ liệu sự kiện của bạn.
3

Select Comparator

Chọn từ các toán tử hiện có:
  • equals - Khớp chính xác
  • not equals - Bộ lọc loại trừ
  • greater than - So sánh số
  • greater than or equals - So sánh số (bao gồm)
  • less than - So sánh số
  • less than or equals - So sánh số (bao gồm)
  • contains - Chuỗi chứa chuỗi con
  • does not contain - Bộ lọc loại trừ chuỗi
4

Set Comparison Value

Đặt giá trị mục tiêu để so sánh.
5

Add Groups

Dùng Add Group để tạo nhóm điều kiện bổ sung cho logic phức tạp.
Các thuộc tính được lọc phải có trong siêu dữ liệu sự kiện để các điều kiện hoạt động chính xác. Các sự kiện thiếu thuộc tính bắt buộc sẽ bị loại khỏi việc tính toán.
4

Create Meter

Xem lại cấu hình đồng hồ đo và nhấn Create Meter.
Đồng hồ đo của bạn giờ đã sẵn sàng nhận và tổng hợp các sự kiện sử dụng.

Liên kết đồng hồ đo trong một sản phẩm

Khi bạn đã tạo đồng hồ đo của mình, bạn cần liên kết nó với một sản phẩm để kích hoạt thanh toán dựa trên mức sử dụng. Quy trình này kết nối dữ liệu sử dụng của đồng hồ đo với các quy tắc định giá cho việc thanh toán của khách hàng. Liên kết các đồng hồ đo với các sản phẩm thiết lập kết nối giữa theo dõi mức sử dụng và thanh toán:
  • Các sản phẩm xác định các quy tắc định giá và hành vi thanh toán
  • Các đồng hồ đo cung cấp dữ liệu sử dụng cho các phép tính thanh toán
  • Nhiều đồng hồ đo có thể được liên kết với một sản phẩm duy nhất cho các kịch bản thanh toán phức tạp

Quy trình cấu hình sản phẩm

Biến dữ liệu sử dụng của bạn thành các khoản phí có thể tính bằng cách cấu hình đúng cài đặt sản phẩm của bạn:
1

Choose Usage-Based Billing Product Type

Đi tới trang tạo hoặc chỉnh sửa sản phẩm của bạn và chọn Usage-Based làm loại sản phẩm.
2

Select Associated Meter

Nhấn vào Associated Meter để mở bảng chọn đồng hồ đo từ bên cạnh.Bảng này cho phép bạn cấu hình những đồng hồ đo sẽ theo dõi việc sử dụng cho sản phẩm này.
3

Add Your Meter

Trong bảng chọn đồng hồ đo:
  1. Nhấp vào Thêm đồng hồ đo để xem các đồng hồ đo có sẵn
  2. Chọn đồng hồ đo bạn đã tạo từ danh sách thả xuống
  3. Đồng hồ đo đã chọn sẽ xuất hiện trong cấu hình sản phẩm của bạn
4

Configure Price Per Unit

Đặt giá cho mỗi đơn vị sử dụng được đồng hồ đo ghi nhận.
Price Per Unit
number
bắt buộc
Xác định mức phí cho mỗi đơn vị mà đồng hồ đo đo được.Ví dụ: Thiết lập $0.50 cho mỗi đơn vị có nghĩa là:
  • 1.000 đơn vị tiêu thụ = 1.000 × $0.50 = 500.00 được tính phí
  • 500 đơn vị tiêu thụ = 500 × $0.50 = 250.00 được tính phí
  • 100 đơn vị tiêu thụ = 100 × $0.50 = 50.00 được tính phí
5

Set Free Threshold (Optional)

Cấu hình mức sử dụng miễn phí trước khi bắt đầu tính phí.
Free Threshold
number
Số đơn vị mà khách hàng có thể sử dụng miễn phí trước khi bắt đầu tính phí theo sử dụng trả tiền.Cách hoạt động:
  • Ngưỡng miễn phí: 100 đơn vị
  • Giá mỗi đơn vị: $0.50
  • Khách hàng sử dụng: 250 đơn vị
  • Phép tính: (250 - 100) × 0.50=0.50 = **75.00** được tính phí
Ngưỡng miễn phí lý tưởng cho mô hình freemium, thời gian dùng thử hoặc cung cấp một mức cho phép cơ bản trong gói của khách hàng.
Ngưỡng miễn phí áp dụng cho mỗi chu kỳ thanh toán, mang đến cho khách hàng hạn mức mới hàng tháng hoặc theo lịch trình thanh toán của bạn.
6

Save Configuration

Xem lại cấu hình đồng hồ đo và định giá, sau đó nhấn Save Changes để hoàn tất thiết lập.
Sản phẩm của bạn giờ đã được cấu hình cho thanh toán theo mức sử dụng và sẽ tự động tính phí khách hàng dựa trên mức tiêu thụ thực tế.
Điều gì sẽ xảy ra tiếp theo:
  • Các sự kiện sử dụng gửi tới đồng hồ đo sẽ được theo dõi và tổng hợp
  • Các phép tính thanh toán sẽ tự động áp dụng quy tắc định giá của bạn
  • Khách hàng sẽ bị tính phí dựa trên mức tiêu thụ thực tế trong mỗi chu kỳ thanh toán
Hãy nhớ rằng bạn có thể thêm tối đa 10 đồng hồ đo cho mỗi sản phẩm, cho phép theo dõi sử dụng tinh vi trên nhiều chiều như cuộc gọi API, lưu trữ, thời gian tính toán và các chỉ số tùy chỉnh.

Gửi sự kiện sử dụng

Khi đồng hồ đo của bạn đã được cấu hình, bạn có thể bắt đầu gửi các sự kiện sử dụng từ ứng dụng của mình để theo dõi mức sử dụng của khách hàng.

Cấu trúc sự kiện

Mỗi sự kiện sử dụng phải bao gồm các trường bắt buộc sau:
event_id
string
bắt buộc
Định danh duy nhất cho sự kiện cụ thể này. Phải là duy nhất trên tất cả các sự kiện.
customer_id
string
bắt buộc
ID khách hàng Dodo Payments mà việc sử dụng này thuộc về.
event_name
string
bắt buộc
Tên sự kiện trùng với cấu hình đồng hồ đo của bạn. Tên sự kiện kích hoạt đồng hồ đo tương ứng.
timestamp
string
Dấu thời gian ISO 8601 khi sự kiện xảy ra. Mặc định là thời gian hiện tại nếu không cung cấp.
metadata
object
Các thuộc tính bổ sung để lọc và tổng hợp. Bao gồm mọi giá trị được tham chiếu trong thiết lập “Over Property” hoặc các điều kiện lọc của đồng hồ đo của bạn.

Ví dụ API sự kiện sử dụng

Gửi các sự kiện sử dụng đến các đồng hồ đo đã cấu hình của bạn bằng cách sử dụng API Sự kiện:
const response = await fetch('https://test.dodopayments.com/events/ingest', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.DODO_PAYMENTS_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    events: [
      {
        event_id: "api_call_1234",
        customer_id: "cus_atXa1lklCRRzMicTqfiw2", 
        event_name: "api.call",
        timestamp: new Date().toISOString(),
        metadata: {
          endpoint: "/v1/orders",
          method: "POST",
          response_size: 1024
        }
      }
    ]
  })
});

Phân tích thanh toán dựa trên mức sử dụng

Theo dõi và phân tích dữ liệu thanh toán dựa trên mức sử dụng của bạn với bảng điều khiển phân tích toàn diện. Theo dõi các mẫu tiêu thụ của khách hàng, hiệu suất đồng hồ đo và xu hướng thanh toán để tối ưu hóa chiến lược định giá của bạn và hiểu hành vi sử dụng.

Phân tích tổng quan

Tab Tổng quan cung cấp cái nhìn tổng quát về hiệu suất thanh toán dựa trên mức sử dụng của bạn:

Chỉ số hoạt động

Theo dõi các thống kê sử dụng chính trong các khoảng thời gian khác nhau:
Current Month
metric
Hiển thị hoạt động sử dụng trong chu kỳ thanh toán hiện tại, giúp bạn hiểu các mẫu tiêu thụ hàng tháng.
All Time
metric
Hiển thị số liệu sử dụng tích lũy kể từ khi bạn bắt đầu theo dõi, cung cấp cái nhìn dài hạn về sự tăng trưởng.
Sử dụng bộ chọn khoảng thời gian để so sánh việc sử dụng qua các tháng khác nhau và xác định xu hướng theo mùa hoặc mô hình tăng trưởng.

Biểu đồ số lượng đồng hồ đo

Biểu đồ số lượng đồng hồ đo hiển thị xu hướng sử dụng theo thời gian với trực quan hóa màu tím gradient
Biểu đồ số lượng đồng hồ đo trực quan hóa các xu hướng sử dụng theo thời gian với các tính năng sau:
  • Hình ảnh theo chuỗi thời gian: Theo dõi các mẫu sử dụng qua các ngày, tuần hoặc tháng
  • Hỗ trợ nhiều đồng hồ đo: Xem dữ liệu từ các đồng hồ đo khác nhau cùng một lúc
  • Phân tích xu hướng: Xác định các đỉnh sử dụng, các mẫu và quỹ đạo tăng trưởng
Biểu đồ tự động thay đổi theo khối lượng sử dụng và phạm vi thời gian được chọn, cung cấp tầm nhìn rõ ràng vào cả biến động nhỏ lẫn thay đổi lớn về sử dụng.

Phân tích sự kiện

Bảng sự kiện hiển thị tên sự kiện, ID và điều khiển phân trang để phân tích chi tiết sự kiện
Tab Sự kiện cung cấp cái nhìn chi tiết về từng sự kiện sử dụng:

Hiển thị thông tin sự kiện

Bảng sự kiện cung cấp cái nhìn rõ ràng về từng sự kiện sử dụng với các cột sau:
  • Tên sự kiện: Hành động hoặc kích hoạt cụ thể đã tạo ra sự kiện sử dụng
  • ID sự kiện: Định danh duy nhất cho mỗi phiên bản sự kiện
  • ID khách hàng: Khách hàng liên quan đến sự kiện
  • Thời gian: Khi sự kiện xảy ra
Chế độ xem này cho phép bạn theo dõi và giám sát các sự kiện sử dụng riêng lẻ trên cơ sở khách hàng của mình, mang lại tính minh bạch trong các phép tính thanh toán và mô hình sử dụng.

Phân tích khách hàng

Tab Khách hàng cung cấp cái nhìn chi tiết về dữ liệu sử dụng của khách hàng với các thông tin sau:

Các cột dữ liệu có sẵn

Customer Email
string
Địa chỉ email của khách hàng để nhận dạng.
Subscription ID
string
Định danh duy nhất cho đăng ký của khách hàng.
Free Threshold
number
Số đơn vị miễn phí được bao gồm trong gói của khách hàng trước khi áp dụng phí.
Price Per Unit
currency
Chi phí mỗi đơn vị cho việc sử dụng vượt quá ngưỡng miễn phí.
Last Event
timestamp
Dấu thời gian của sự kiện sử dụng gần đây nhất của khách hàng.
Total Price
currency
Tổng số tiền đã tính phí khách hàng cho thanh toán theo mức sử dụng.
Consumed Units
number
Tổng số đơn vị khách hàng đã tiêu thụ.
Chargeable Units
number
Số đơn vị vượt ngưỡng miễn phí và đang bị tính phí.

Các tính năng của bảng

  • Lọc cột: Sử dụng tính năng “Chỉnh sửa cột” để hiển thị/ẩn các cột dữ liệu cụ thể
  • Cập nhật theo thời gian thực: Dữ liệu sử dụng phản ánh các chỉ số tiêu thụ hiện tại nhất

Ví dụ về tổng hợp

Dưới đây là các ví dụ thực tế về cách các loại tổng hợp khác nhau hoạt động:

Hiểu các loại tổng hợp

Các loại tổng hợp khác nhau phục vụ cho các kịch bản thanh toán khác nhau. Chọn loại phù hợp dựa trên cách bạn muốn đo lường và tính phí cho mức sử dụng.

Ví dụ thực tế về triển khai

Các ví dụ này minh họa các ứng dụng thực tế của mỗi loại tổng hợp với các sự kiện mẫu và kết quả mong đợi.
Kịch bản: Theo dõi tổng số yêu cầu APICấu hình đồng hồ đo:
  • Event Name: api.call
  • Aggregation Type: Count
  • Measurement Unit: calls
Sự kiện mẫu:
{
  "events": [
    {"event_id": "call_1", "customer_id": "cus_123", "event_name": "api.call"},
    {"event_id": "call_2", "customer_id": "cus_123", "event_name": "api.call"},
    {"event_id": "call_3", "customer_id": "cus_123", "event_name": "api.call"}
  ]
}
Kết quả: 3 cuộc gọi được tính phí cho khách hàng
Kịch bản: Tính phí dựa trên tổng số byte đã truyềnCấu hình đồng hồ đo:
  • Event Name: data.transfer
  • Aggregation Type: Sum
  • Over Property: bytes
  • Measurement Unit: GB
Sự kiện mẫu:
{
  "events": [
    {
      "event_id": "transfer_1",
      "customer_id": "cus_123", 
      "event_name": "data.transfer",
      "metadata": {"bytes": 1073741824}
    },
    {
      "event_id": "transfer_2",
      "customer_id": "cus_123",
      "event_name": "data.transfer", 
      "metadata": {"bytes": 536870912}
    }
  ]
}
Kết quả: 1.5 GB tổng dữ liệu sẽ được tính phí cho khách hàng
Kịch bản: Tính phí dựa trên số lượng người dùng đồng thời cao nhấtCấu hình đồng hồ đo:
  • Event Name: concurrent.users
  • Aggregation Type: Max
  • Over Property: count
  • Measurement Unit: users
Sự kiện mẫu:
{
  "events": [
    {
      "event_id": "peak_1",
      "customer_id": "cus_123",
      "event_name": "concurrent.users", 
      "metadata": {"count": 15}
    },
    {
      "event_id": "peak_2",
      "customer_id": "cus_123",
      "event_name": "concurrent.users",
      "metadata": {"count": 23}
    },
    {
      "event_id": "peak_3",
      "customer_id": "cus_123",
      "event_name": "concurrent.users",
      "metadata": {"count": 18}
    }
  ]
}
Kết quả: 23 người dùng đồng thời đỉnh điểm được tính phí cho khách hàng

Ví dụ về lọc sự kiện

Chỉ đếm các cuộc gọi API đến các endpoint cụ thể:Cấu hình bộ lọc:
  • Property: endpoint
  • Comparator: equals
  • Value: /v1/orders
Sự kiện mẫu:
{
  "event_id": "call_1",
  "customer_id": "cus_123",
  "event_name": "api.call",
  "metadata": {
    "endpoint": "/v1/orders",
    "method": "POST"
  }
}
Kết quả: Các sự kiện khớp tiêu chí bộ lọc sẽ được tính. Các sự kiện với endpoint khác sẽ bị bỏ qua.

Khắc phục sự cố

Giải quyết các vấn đề phổ biến với việc triển khai thanh toán dựa trên mức sử dụng và đảm bảo theo dõi và thanh toán chính xác.

Các vấn đề phổ biến

Hầu hết các vấn đề thanh toán dựa trên mức sử dụng rơi vào các loại sau:
  • Vấn đề giao hàng và xử lý sự kiện
  • Vấn đề cấu hình đồng hồ đo
  • Lỗi kiểu dữ liệu và định dạng
  • Vấn đề ID khách hàng và xác thực

Các bước gỡ lỗi

Khi khắc phục sự cố thanh toán dựa trên mức sử dụng:
  1. Xác minh giao hàng sự kiện trong tab phân tích Sự kiện
  2. Kiểm tra cấu hình đồng hồ đo khớp với cấu trúc sự kiện của bạn
  3. Xác thực ID khách hàng và xác thực API
  4. Xem xét các điều kiện lọc và cài đặt tổng hợp

Giải pháp và sửa chữa

Nguyên nhân phổ biến:
  • Tên sự kiện không khớp chính xác với cấu hình đồng hồ đo
  • Điều kiện lọc sự kiện đang loại bỏ các sự kiện của bạn
  • ID khách hàng không tồn tại trong tài khoản Dodo Payments của bạn
  • Dấu thời gian sự kiện nằm ngoài chu kỳ thanh toán hiện tại
Giải pháp:
  • Kiểm tra lại cách viết và phân biệt hoa thường của tên sự kiện
  • Xem lại và kiểm tra các điều kiện lọc của bạn
  • Xác nhận ID khách hàng hợp lệ và còn hoạt động
  • Kiểm tra dấu thời gian sự kiện là gần đây và được định dạng đúng
Nguyên nhân phổ biến:
  • Tên thuộc tính Over Property không khớp với khóa siêu dữ liệu sự kiện
  • Giá trị siêu dữ liệu có kiểu dữ liệu sai (chuỗi so với số)
  • Thiếu các thuộc tính siêu dữ liệu bắt buộc
Giải pháp:
  • Đảm bảo khóa siêu dữ liệu khớp chính xác với thiết lập Over Property
  • Chuyển chuỗi số sang số thực trong sự kiện của bạn
  • Bao gồm tất cả các thuộc tính bắt buộc trong mỗi sự kiện
Nguyên nhân phổ biến:
  • Tên thuộc tính bộ lọc không khớp với siêu dữ liệu sự kiện
  • Toán tử sai cho kiểu dữ liệu (chuỗi so với số)
  • Phân biệt chữ hoa chữ thường khi so sánh chuỗi
Giải pháp:
  • Kiểm tra kỹ tên thuộc tính để đảm bảo khớp chính xác
  • Sử dụng toán tử phù hợp với kiểu dữ liệu của bạn
  • Cân nhắc vấn đề phân biệt hoa thường khi lọc chuỗi