📖 Nội dung bài học
Video
Lời gọi API đầu tiên của bạn
Chào hỏi Claude có thể làm bạn cảm thấy ấm lòng, nhưng nó không thực sự hữu ích. Trong bài học này, chúng ta sẽ gửi cho Claude một thứ gì đó thực tế và nhận lại thông tin chi tiết có cấu trúc — chỉ với chưa đầy 20 dòng code.
Chuẩn bị
Đầu tiên, lấy một API key từ platform.claude.com. Bạn cần mua một ít tín dụng trước.

Lấy API key và lưu nó vào tệp .env.local để nó không bị lộ trong hệ thống quản lý phiên bản của bạn. Việc mã hóa cứng key trong các tệp mã nguồn là cách chúng bị lộ trên GitHub — hãy lưu chúng trong các tệp môi trường thay thế.
Tiếp theo, cài đặt SDK:
npm install @anthropic-ai/sdk
Cấu trúc của một request
Mọi lời gọi API đều đi qua hàm messages.create. Bạn chỉ định ba thứ:
- Một model — model Claude nào xử lý yêu cầu
- Một giới hạn token tối đa — giới hạn độ dài của phản hồi
- Một danh sách các messages — các đối tượng có vai trò
userhoặcassistant, được cấu trúc tương tự như cách bạn trò chuyện với Claude ở nơi khác
Đây là hình thức cơ bản nhất của nó:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const msg = await client.messages.create({
model: "claude-opus-4-7",
max_tokens: 1024,
messages: [{
role: "user",
content: "Hello, Claude",
}],
});
Một ví dụ thực tế: xem xét code bị lỗi
Hãy đưa cho Claude một thứ thú vị hơn "xin chào". Chúng ta sẽ chỉ cho nó một đoạn code bị lỗi và yêu cầu xem xét. Đây là toàn bộ — một tệp, khoảng 20 dòng code:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const buggyCode = `
function add(a, b) {
return a - b;
}
`;
const response = await client.messages.create({
model: "claude-opus-4-8",
max_tokens: 1024,
system: "Bạn là một người đánh giá code kỳ cựu, nói ngắn gọn. Đưa ra phản hồi trong một đoạn văn.",
messages: [
{ role: "user", content: `Review this code:\n${buggyCode}` },
],
});
for (const block of response.content) {
if (block.type === "text") {
console.log(block.text);
}
}
Hai điểm cần lưu ý ở đây:
systemprompt là nơi bạn định hình persona. Tôi muốn một người đánh giá kỳ cựu, nói ngắn gọn, không phải người nói nhiều — vì vậy tôi chỉ cần nói điều đó.message.contenttrong phản hồi là một mảng các khối (blocks), không phải một chuỗi. Đối với một phản hồi văn bản cơ bản, thường chỉ có một khối loạitext, nhưng Claude có thể trả về nhiều khối — văn bản, lời gọi công cụ (tool calls), suy nghĩ — vì vậy chúng ta luôn lặp qua và kiểm tra loại của từng khối.
Chạy nó, và Claude sẽ phát hiện ra hàm add đang thực hiện phép trừ và cho bạn biết trong một đoạn văn. Chỉ vậy thôi. Đó là toàn bộ lời gọi API.

Từ script đến sản phẩm
Trong một sản phẩm thực tế, cấu trúc messages.create tương tự này là động cơ đằng sau những thứ như một endpoint tóm tắt. Lấy bản ghi cuộc họp ra khỏi cơ sở dữ liệu, đưa cho Claude với system prompt nói "trích xuất thông tin chi tiết và rủi ro", lưu kết quả trở lại vào hàng đó, và trả về cho giao diện người dùng. Đó là cùng một lời gọi — chỉ được gói gọn trong một route handler.

Tóm tắt
- Lời gọi API đầu tiên của bạn là hàm
messages.createvới model, giới hạn token, và messages. - Lưu API key của bạn vào tệp
.env.localđể tránh bị lộ trong hệ thống quản lý phiên bản. - Thêm system prompt để định hình hành vi của Claude.
contentcủa phản hồi là một mảng các khối — lặp qua và kiểm tratypecủa từng khối.- Từ đây, mọi thứ đều được xây dựng dựa trên mẫu này.
🔁 Bài học liên quan
- Bài tiếp: Choosing the right model
- Bài trước: What is the Claude Developer Platform?
- Thuộc lộ trình: Path C
- Docs tham khảo: Glossary · Skills atlas · By use-case
📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: https://anthropic.skilljar.com/claude-platform-101/486251
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-06-27