Chuyển tới nội dung chính

Số liệu và logs

Số liệu cho biết email của bạn hoạt động thế nào theo thời gian: gửi bao nhiêu, tới hộp thư bao nhiêu, bao nhiêu người mở, nhấp, bị trả lại hay báo spam. Logs ghi lại mọi lệnh gọi API bằng key của bạn, kèm nội dung gửi lên và nhận về, để bạn gỡ lỗi tích hợp mà không cần thêm log vào code của mình.

Số liệu trong dashboard​

Email → Số liệu hiển thị lượng thư theo ngày (đã gửi, tới hộp thư, mở, nhấp) và tỉ lệ tới hộp thư, mở, nhấp, bị trả lại, bị báo spam. Chọn 7, 14 hoặc 30 ngày gần nhất và một tên miền hoặc tất cả. Ngày tính theo giờ Việt Nam.

  • Biểu đồ tỉ lệ bị trả lại có vạch 4%, biểu đồ tỉ lệ báo spam có vạch 0,08%. Vượt các vạch này, Gmail và Yahoo bắt đầu giới hạn hoặc đưa thư của bạn vào spam.
  • Tỉ lệ mở và nhấp tính trên thư đã tới hộp thư, mỗi người đếm một lần.
  • Lượt mở chỉ là ước lượng: Apple Mail Privacy Protection và các proxy ảnh khác có thể làm con số cao hơn thực tế. Xem Theo dõi mở và nhấp.

API số liệu​

GET /emails/metrics trả về cùng các con số, theo cấu trúc endpoint metrics của Resend. Key có email:read (hoặc email:send / email:write) là đủ.

curl "https://api.hatang.dev/emails/metrics?start_date=2026-10-01&end_date=2026-10-14&timezone=Asia/Ho_Chi_Minh&dimensions=period,domain&metrics=sent,delivered,bounce_rate" \
-H "Authorization: Bearer $HATANG_API_KEY"
Tham sốMô tả
start_date, end_dateMột ngày (2026-10-01, hiểu là nửa đêm UTC) hoặc một thời điểm ISO. end_date chỉ có ngày thì bao gồm cả ngày đó (tới 23:59:59 UTC). Khoảng tối đa 31 ngày. Không truyền thì lấy 7 ngày gần nhất.
timezoneMúi giờ IANA dùng để chia kỳ, ví dụ Asia/Ho_Chi_Minh. Mặc định UTC.
granularityhourly, daily (mặc định), weekly hoặc monthly.
metricsDanh sách chỉ số cần lấy, cách nhau bởi dấu phẩy. Mặc định: tất cả.
dimensionsperiod (mặc định), hoặc period,domain để tách từng kỳ theo tên miền.
domain_idChỉ các tên miền này, cách nhau bởi dấu phẩy.
{
"object": "metrics",
"start_date": "2026-10-01T00:00:00.000Z",
"end_date": "2026-10-14T23:59:59.999Z",
"timezone": "Asia/Ho_Chi_Minh",
"granularity": "daily",
"metrics": ["sent", "delivered", "bounce_rate"],
"dimensions": ["period"],
"totals": { "sent": 1840, "delivered": 1812, "bounce_rate": 0.0098 },
"data": [
{ "period": "2026-10-01T00:00:00", "sent": 120, "delivered": 119, "bounce_rate": 0.0083 },
{ "period": "2026-10-02T00:00:00", "sent": 134, "delivered": 131, "bounce_rate": 0.0149 }
]
}

totals tính cho cả khoảng; data có một dòng cho mỗi kỳ (và mỗi tên miền, kèm domain_id và domain_name). Tỉ lệ là số thập phân làm tròn bốn chữ số, nên 0.0098 là 0,98%.

Số đếm​

Chỉ sốĐếm gì
sentSố người nhận Hạ Tầng đã gửi tới, không tính người nhận bị chặn và bị huỷ.
deliveredSự kiện tới hộp thư.
delivery_delayedSự kiện gửi chậm.
failedSự kiện gửi thất bại.
suppressedNgười nhận bị bỏ qua vì nằm trong danh sách chặn.
bouncedSự kiện bị trả lại, kể cả của người nhận bị chặn.
opened, unique_openedLượt mở, và số người nhận đã mở ít nhất một lần.
clicked, unique_clickedLượt nhấp, và số người nhận đã nhấp ít nhất một lần.
complainedLượt báo spam.
unsubscribedSố contact huỷ đăng ký mọi email. Không gắn với tên miền nào, nên bị bỏ khi bạn tách hoặc lọc theo tên miền.
receivedThư nhận được trên các tên miền của bạn.

Tỉ lệ​

Tỉ lệCông thức
delivery_ratedelivered / sent
bounce_ratebounced / sent
open_rateunique_opened / delivered
click_rateunique_clicked / delivered
complaint_ratecomplained / delivered
unsubscribe_rateunsubscribed / delivered

Lượt gửi được tính vào kỳ email được tạo; sự kiện được tính vào kỳ sự kiện xảy ra.

Logs​

Email → Logs ghi lại mọi lệnh gọi API bằng key của doanh nghiệp: endpoint, phương thức, mã trạng thái, thời gian xử lý, API key, user agent (cho biết SDK và phiên bản) cùng nội dung request và response. Lọc theo trạng thái, phương thức, API key hoặc đường dẫn. Lệnh gọi lỗi có nút Chép để hỏi AI: gom request, response và đường dẫn tài liệu thành một đoạn để dán cho trợ lý AI.

  • Mật khẩu, secret, token và API key trong nội dung được thay bằng [redacted]. Nội dung tệp đính kèm được thay bằng kích thước.
  • Mỗi nội dung giữ tối đa 16 KB. Logs được giữ 30 ngày.
  • Thao tác trong chính dashboard không nằm trong log; chỉ lệnh gọi bằng API key mới có.
curl "https://api.hatang.dev/logs?status=error&limit=20" -H "Authorization: Bearer $HATANG_API_KEY"
curl "https://api.hatang.dev/logs/log_0199e6c17a2b7f009c1e3f6a2b1d9e10" -H "Authorization: Bearer $HATANG_API_KEY"
Tham số của GET /logsMô tả
status2xx, 4xx, 5xx hoặc error (mọi mã 4xx và 5xx).
methodGET, POST, PATCH…
endpointMột phần của đường dẫn, ví dụ /emails.
api_key_idChỉ lệnh gọi bằng key này.
user_agentMột phần của user agent, ví dụ hatang-sdk-node.
since, untilKhoảng thời gian.
limit, after, beforePhân trang, như các danh sách khác.

Một mục log trông như sau; GET /logs/{id} có thêm request_body, response_body và resource_ids (các id mà response đã tạo hoặc trả về):

{ "object": "log", "id": "log_…", "created_at": "2026-10-14T09:12:03.000Z", "endpoint": "/emails", "method": "POST", "response_status": 422, "duration_ms": 38, "user_agent": "hatang-sdk-node/1.4.0 (node/22.11.0)", "sdk": "hatang-sdk-node 1.4.0", "api_key_id": "key_…" }

Mức sử dụng​

GET /usage cho biết doanh nghiệp đã dùng bao nhiêu so với giới hạn: số email hôm nay so với hạn mức ngày (kèm thời điểm đặt lại), số email đã gửi và đã nhận trong tháng, cùng số tên miền, contact, template và số lượt chạy automation trong tháng.

{
"object": "usage",
"emails": {
"daily": { "used": 312, "limit": 10000, "resets_at": "2026-10-15T00:00:00.000Z" },
"monthly": { "sent": 8840, "received": 112, "limit": null, "resets_at": "2026-11-01T00:00:00.000Z" }
},
"domains": { "used": 2, "limit": null },
"contacts": { "used": 5120, "limit": null },
"templates": { "used": 14, "limit": null },
"automation_runs": { "monthly": 640, "limit": null }
}

Xem logs và mức sử dụng cần key có phạm vi ghi ở bất kỳ sản phẩm nào (ví dụ email:write), hoặc toàn quyền.

Bước tiếp theo​

Xem trang này dạng Markdown