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

Hạ Tầng cho AI coding agent

Claude Code, Cursor, Copilot và các coding agent khác giờ đọc được tài liệu này dạng Markdown và làm việc trực tiếp với Hạ Tầng: một MCP server, bộ quy tắc dựng sẵn cho dự án, và năm công thức theo tác vụ.

Nhóm email

Nhóm email biến một địa chỉ trên tên miền đang nhận thư, ví dụ [email protected], thành địa chỉ chung: mọi thư gửi tới được chuyển cho từng thành viên, giống nhóm của Google Workspace. Tạo nhóm tại Email → Nhóm email.

Email hỗ trợ không cần chuyển tiếp

Kênh email hỗ trợ có địa chỉ nằm trên tên miền đã nhận email tại Hạ Tầng (Email → Tên miền → Nhận email) giờ không cần cài thêm gì: email tới địa chỉ đó vào thẳng Hộp thư, không cần chuyển tiếp hay tên miền phụ MX riêng.

API Email kiểm tra scope của API key

API Email nay kiểm tra scope của key, đúng như dashboard vẫn mô tả:

  • Gửi email (POST /emails, POST /emails/batch, SMTP relay) và đổi lịch gửi (PATCH /emails/{id}, POST /emails/{id}/cancel) cần email:send.
  • Đọc email (GET /emails, GET /emails/{id}, GET /emails/{id}/events) cần email:read; email:send và email:write đã bao gồm quyền này.

Trước đây mọi key hợp lệ đều gọi được các endpoint này. Key thiếu scope giờ nhận 401 restricted_api_key (qua SMTP là 550 5.7.1). Key toàn quyền (*), email:* hoặc email:send không bị ảnh hưởng. Nếu key đang dùng để gửi email chỉ có các scope khác, như email:write hay chat:*, hãy thêm email:send cho key ở mục API Keys trong dashboard.

@hatang/sdk 0.4.0: mặc định gọi production, template, liên hệ dùng chung, automation

@hatang/sdk 0.4.0 mặc định gọi https://api.hatang.dev. Trước đây, client tạo mà không có baseUrl hay HATANG_BASE_URL sẽ gọi http://localhost:3001; khi phát triển local giờ hãy truyền baseUrl (hoặc đặt HATANG_BASE_URL).

Lệnh mới:

  • Template: templates.create/get/list/update/remove/publish/duplicate, và emails.send({ to, template: { id, variables } }).
  • Liên hệ dùng chung: contacts.* không cần audience_id, gọi theo id hoặc email, kèm properties, segments và topics; thêm namespace segments, topics và contactProperties. Truyền audience_id vẫn dùng các route audience cũ.
  • Automation: events.*, automations.* và automations.runs.*.
  • Số liệu: emails.metrics(), logs.list/get và usage.get.

Namespace blog đã bị bỏ. Xem hướng dẫn Node.js.

Kênh WhatsApp, Telegram, X và LINE

Hộp thư có thêm bốn kênh mới, bên cạnh widget website, Zalo, Messenger, Instagram, TikTok và email. Trợ lý AI, flow, quy tắc phân chia và báo cáo hoạt động trên các kênh này giống mọi kênh khác. Kết nối tại Hỗ trợ khách hàng → Kênh → Thêm kênh.

Tài liệu cho lập trình viên chuyển về hatang.dev/docs

Tài liệu nay ở hatang.dev/docs (tiếng Anh) và hatang.dev/vi/docs (tiếng Việt), chia hai phần: Hướng dẫn tích hợp từng bước và Tham chiếu sinh từ mã nguồn. Liên kết cũ docs.hatang.dev tự chuyển tới trang tương ứng.

  • Hướng dẫn mới: xác thực, giới hạn tốc độ, xử lý lỗi, phân trang, idempotency, gửi email, tên miền, SMTP relay, broadcast, khả năng vào hộp thư, từng kênh hỗ trợ và nhiều trang khác.
  • Tài liệu REST API nằm ngay trong trang, mỗi endpoint một trang, code mẫu bảy ngôn ngữ và bảng "Try it" để gọi thử.
  • Mỗi sự kiện webhook có trang riêng kèm schema payload.

API: payload webhook trong bản đặc tả OpenAPI

https://api.hatang.dev/openapi.json nay mô tả mọi sự kiện webhook công khai trong phần webhooks của OpenAPI 3.1, kèm payload của từng sự kiện, thay cho danh sách tên như trước. Bản đặc tả của chat gateway có ở https://chat.hatang.dev/openapi.json, với operationId cố định.

  • Các endpoint được xếp theo từng tài nguyên (Conversations, Customers, Orders, Tickets…), và mỗi tag thuộc một nhóm.
  • Phản hồi 429 ghi đúng giới hạn của từng API: 10 yêu cầu/giây cho Email, 50 cho Hỗ trợ và 20 cho Thanh toán.
  • API trả lời preflight CORS từ https://hatang.dev, để bảng "Try it" trong tài liệu gọi được API bằng key của bạn.