Cách tích hợp Claude API vào ứng dụng của bạn
Để tích hợp Claude API, hãy tạo API key trong Claude Console của Anthropic, lưu nó như một secret phía máy chủ (thường là ANTHROPIC_API_KEY), và gọi Messages API từ một route trên máy chủ của bạn bằng một trong các SDK chính thức của Anthropic. Mỗi yêu cầu chỉ định một model, đặt max_tokens (độ dài tối đa của câu trả lời bạn chấp nhận) và gửi cuộc hội thoại dưới dạng messages, với các chỉ dẫn của bạn nằm trong một system prompt riêng. Hãy đặt giới hạn chi tiêu, dùng streaming cho các câu trả lời dài, và xử lý lỗi giới hạn tốc độ (429) và quá tải (529) bằng cách thử lại.
Hướng dẫn này bao gồm thiết lập, luồng yêu cầu an toàn, prompt cho một AI builder, và các lỗi cần lên kế hoạch. Thông tin về Anthropic được lấy từ tài liệu của họ tính đến tháng 9/2026. Về cách token và giá hoạt động nói chung, xem cách sử dụng LLM API.
Bạn có thể xây dựng gì với nó
- Trợ lý chat và widget hỗ trợ (cách xây dựng ứng dụng chatbot AI)
- Tóm tắt, viết lại và soạn thảo câu trả lời
- Trích xuất trường thông tin từ tài liệu, email và biểu mẫu
- Trả lời câu hỏi dựa trên nội dung của riêng bạn
- Agent gọi các hàm của ứng dụng bạn thông qua tool use
Để có thêm ý tưởng, xem cách thêm tính năng AI vào ứng dụng.
Messages API tóm tắt
Theo tài liệu tham chiếu API của Anthropic, một yêu cầu là một POST tới https://api.anthropic.com/v1/messages với:
| Thành phần | Ý nghĩa |
|---|---|
Header x-api-key | API key của bạn |
Header anthropic-version | Phiên bản API, ví dụ 2023-06-01 |
model (bắt buộc) | Model Claude nào sẽ dùng |
max_tokens (bắt buộc) | Số token tối đa mà câu trả lời có thể chứa; model có thể dừng sớm hơn |
messages (bắt buộc) | Cuộc hội thoại: các lượt user và assistant xen kẽ nhau |
system (tùy chọn) | Chỉ dẫn áp dụng cho toàn bộ cuộc hội thoại |
stream (tùy chọn) | Đặt true để nhận câu trả lời khi nó đang được viết, qua server-sent events |
API không lưu trạng thái: để tiếp tục một cuộc hội thoại, hãy gửi lại các lượt trước đó trong mỗi yêu cầu. Đó là lý do các cuộc chat dài tốn nhiều chi phí hơn cho mỗi tin nhắn.
Anthropic cung cấp các SDK chính thức cho Python, TypeScript, C#, Go, Java, PHP và Ruby. Chúng thiết lập header, phân tích phản hồi và hỗ trợ streaming. Hãy dùng một SDK thay vì HTTP thô, trừ khi bạn có lý do không làm vậy.
Chọn model
Anthropic cung cấp nhiều model Claude đánh đổi giữa năng lực, tốc độ và giá, và danh sách này thay đổi theo thời gian. Hãy chọn model nhỏ nhất vẫn làm tốt công việc của bạn, kiểm thử trên các ví dụ thực tế, và giữ model ID trong cấu hình để có thể đổi mà không cần sửa mã. Xem các trang model và giá của Anthropic để biết lựa chọn và mức giá hiện tại.
Thiết lập tài khoản
- Đăng nhập vào Claude Console tại platform.claude.com và thêm phương thức thanh toán.
- Tạo API key. Giữ một key cho mỗi môi trường (thử nghiệm và production) để bạn có thể thu hồi một key mà không làm hỏng key còn lại.
- Đặt giới hạn chi tiêu. Trang lỗi của Anthropic ghi chú rằng khi mức sử dụng chạm tới giới hạn chi tiêu bạn đã đặt, API sẽ trả về lỗi 400, vì vậy ứng dụng của bạn nên hiển thị thông báo rõ ràng khi điều đó xảy ra.
- Xem giới hạn tốc độ cho tài khoản của bạn trong Console; chúng được tính theo từng tổ chức.
Luồng yêu cầu
- Người dùng thực hiện hành động trong ứng dụng của bạn: gửi tin nhắn, nhấn "Tóm tắt".
- Trình duyệt gọi route trên máy chủ của bạn, không bao giờ gọi trực tiếp Anthropic.
- Máy chủ của bạn kiểm tra người dùng đã đăng nhập và được phép dùng tính năng này, đồng thời áp dụng giới hạn theo từng người dùng.
- Nó xây dựng yêu cầu: một system prompt với các quy tắc của bạn, đầu vào của người dùng, và mọi dữ liệu mà tác vụ cần từ cơ sở dữ liệu.
- Nó gọi Messages API với key lấy từ biến môi trường và một
max_tokenshợp lý. - Nó stream câu trả lời về trình duyệt và ghi lại mức sử dụng token từ phản hồi.
Lựa chọn và đánh đổi
| Quyết định | Lựa chọn đơn giản | Khi nào nên đi xa hơn |
|---|---|---|
| Streaming | Chờ toàn bộ câu trả lời | Dùng streaming cho chat và mọi nội dung dài; Anthropic khuyên dùng streaming hoặc batch cho các yêu cầu chạy lâu |
| Định dạng đầu ra | Văn bản thuần | Structured JSON output khi mã của bạn cần đọc các trường |
| Dữ liệu của bạn | Đưa bản ghi liên quan vào | Truy xuất (retrieval) trên nội dung của bạn khi có quá nhiều (RAG là gì) |
| Hành động | Model chỉ viết văn bản | Tool use, nơi model yêu cầu mã của bạn chạy một hàm bạn định nghĩa |
| Công việc hàng loạt, không gấp | Lặp qua các mục | Message Batches API, bạn gửi và truy vấn kết quả sau |
Prompt để đưa cho AI builder của bạn
Một tính năng đầu tiên:
Thêm một bảng "Hỏi về tài liệu này". Bảng này gọi một route máy chủ POST /api/ask, route này kiểm tra người dùng đã đăng nhập và sở hữu tài liệu, sau đó gọi Claude Messages API bằng SDK chính thức của Anthropic và secret ANTHROPIC_API_KEY. Đọc model ID từ secret CLAUDE_MODEL. System prompt: "Chỉ trả lời dựa trên tài liệu được cung cấp. Nếu câu trả lời không có trong đó, hãy nói rõ điều đó." Gửi nội dung tài liệu và câu hỏi, đặt max_tokens là 800, stream câu trả lời lên trang, và không bao giờ để lộ key cho trình duyệt.
Rào chắn và lỗi:
Giới hạn mỗi người dùng 20 câu hỏi mỗi giờ, theo dõi trong cơ sở dữ liệu. Ghi lại số token đầu vào và đầu ra từ mỗi phản hồi cùng với ID người dùng và ID yêu cầu. Khi gặp lỗi 429 hoặc 529, thử lại với exponential backoff tối đa 3 lần, tôn trọng header retry-after nếu có, rồi hiển thị "Trợ lý đang bận, vui lòng thử lại sau ít phút." Nếu API báo lỗi vượt giới hạn chi tiêu, hiển thị "Tính năng AI đang tạm dừng" và cảnh báo quản trị viên.
Các lỗi cần lên kế hoạch
Theo tài liệu lỗi của Anthropic, đây là những lỗi ứng dụng của bạn thực sự sẽ gặp:
| Mã | Loại | Cần làm gì |
|---|---|---|
| 400 | invalid_request_error | Sửa yêu cầu; cũng được trả về khi bạn chạm giới hạn chi tiêu đã đặt |
| 401 | authentication_error | Kiểm tra key có tồn tại, đúng và chưa bị thu hồi |
| 413 | request_too_large | Gửi ít hơn; Messages API chấp nhận tối đa 32 MB mỗi yêu cầu |
| 429 | rate_limit_error | Lùi lại và thử lại, tôn trọng retry-after |
| 500 | api_error | Thử lại với backoff; liên hệ hỗ trợ kèm ID yêu cầu nếu lỗi kéo dài |
| 529 | overloaded_error | Lưu lượng cao tạm thời từ tất cả người dùng; lùi lại và thử lại |
Tài liệu của Anthropic cho biết các SDK chính thức tự động thử lại các lỗi tạm thời (lỗi kết nối, giới hạn tốc độ và lỗi 5xx) hai lần theo mặc định với exponential backoff, và bạn có thể cấu hình điều đó. Mỗi phản hồi đều mang header request-id; hãy ghi lại nó để bộ phận hỗ trợ có thể truy vết sự cố.
Lỗi thường gặp
- Gọi API từ trình duyệt. Key của bạn sẽ bị công khai. Luôn đi qua máy chủ của bạn. Xem cách giữ API key an toàn.
- Quên rằng
max_tokenslà giới hạn trần, không phải mục tiêu. Đặt nó theo nhu cầu của tính năng; quá thấp sẽ cắt ngắn câu trả lời, quá cao có nguy cơ tạo ra câu trả lời dài và tốn kém. - Đặt quy tắc trong tin nhắn của người dùng. Chỉ dẫn ổn định nên nằm trong prompt
system; quyền truy cập nên nằm trong mã của bạn. - Gửi toàn bộ cuộc chat mãi mãi. Cắt bớt hoặc tóm tắt các lượt cũ khi cuộc hội thoại dài ra.
- Không có giới hạn chi tiêu hoặc giới hạn theo người dùng.
- Gắn cứng model ID. Model được cập nhật và ngừng hỗ trợ.
- Bỏ qua lý do dừng (stop reason). Nếu câu trả lời dừng vì đã chạm
max_tokens, hãy báo cho người dùng hoặc tăng giới hạn.
Danh sách kiểm tra
- Đã tạo API key trong Claude Console và lưu dưới dạng secret phía máy chủ
- Có key riêng cho thử nghiệm và production
- Đã đặt giới hạn chi tiêu; có thông báo rõ ràng khi chạm giới hạn
- Mọi yêu cầu đều đi qua máy chủ của bạn với kiểm tra quyền
- System prompt chứa các quy tắc; model ID có thể cấu hình
-
max_tokensđược đặt theo từng tính năng; câu trả lời dài được stream - Có giới hạn tốc độ theo người dùng trong ứng dụng
- Xử lý 429 và 529 với backoff; ghi lại request ID
- Có trạng thái lỗi thân thiện không làm hỏng trang
- Đã thử với đầu vào trống, rất dài và đầu vào độc hại
Dùng Claude API trong Mythex
Trong các ứng dụng bạn xây dựng trên Mythex, các tính năng Claude dùng key Anthropic riêng của bạn và được tính phí vào tài khoản Anthropic của bạn, không phải vào tín dụng xây dựng của Mythex. Điều đó tách biệt với agent Mythex viết mã cho bạn. Thêm ANTHROPIC_API_KEY làm secret của dự án thông qua /secrets, cài đặt dự án hoặc thẻ secrets trong chat, rồi mô tả tính năng bằng các prompt như trên. Hãy xuất bản lại sau khi thay đổi secret của ứng dụng đang chạy. Xem Thêm tính năng AI bằng API key của riêng bạn để có prompt khởi đầu. Nếu bạn đang chọn giữa các nhà cung cấp, cách tích hợp OpenAI API đề cập cùng nội dung cho OpenAI.
Câu hỏi thường gặp
Làm thế nào để có API key của Claude?
Đăng nhập vào Claude Console tại platform.claude.com, thiết lập thanh toán và tạo API key. Lưu nó như một secret phía máy chủ, thường đặt tên là ANTHROPIC_API_KEY, và không bao giờ đưa vào mã chạy trên trình duyệt.
Một yêu cầu gửi tới Claude API cần những gì?
Tính đến tháng 9/2026, tài liệu tham chiếu Messages API của Anthropic liệt kê ba trường bắt buộc trong phần thân yêu cầu: model, max_tokens và messages. Các lệnh gọi HTTP trực tiếp cũng cần header x-api-key và anthropic-version; các SDK chính thức sẽ tự thiết lập chúng cho bạn.
Lỗi 529 từ Claude API là gì?
Trang lỗi của Anthropic mô tả 529 là overloaded_error: API tạm thời quá tải do lưu lượng cao từ tất cả người dùng. Hãy thử lại với exponential backoff. Các SDK chính thức tự động thử lại một số lỗi tạm thời.
Tôi có thể dùng Claude với mã viết cho OpenAI SDK không?
Anthropic có tài liệu về lớp tương thích OpenAI SDK để dùng Claude thông qua giao diện OpenAI SDK. Với mã mới, các SDK riêng của Anthropic cho phép truy cập các tính năng đặc thù của Claude, nên thường là điểm khởi đầu tốt hơn.