10 Skills giúp Claude thiết kế, tài liệu hóa và triển khai các luồng tự động hóa kinh doanh (Make, Zapier, n8n, Email, Chatbot) chuyên sâu.
---
name: make-blueprint-designer
description: >
Thiết kế luồng tự động hóa Make.com hoàn chỉnh với các module, kết nối
và xử lý lỗi. Sử dụng khi yêu cầu "tạo workflow Make", "tự động hóa với Make.com",
"cấu hình Make cho [công việc]".
---
# Make Blueprint Designer — Luồng Tự Động Hóa Hoàn Chỉnh
## CẤU TRÚC CỦA MỘT MAKE BLUEPRINT
Mỗi sơ đồ (blueprint) phải bao gồm:
### 1. Mô tả kịch bản (Scenario)
Tên kịch bản: [TÊN]
Mục tiêu: [Điều kịch bản thực hiện trong 1 câu]
Trigger (Điểm kích hoạt): [Hành động kích hoạt]
Tần suất: [Ngay lập tức / Mỗi X phút / Lên lịch]
### 2. Các Modules theo thứ tự
MODULE 1 : [Tên App] > [Hành động]
Cấu hình :
- Trường 1 (Field 1): [Giá trị hoặc Biến số {{1.field}}]
- Trường 2 (Field 2): [Giá trị]
Đầu ra (Output): {{1.field1}}, {{1.field2}}
MODULE 2 : [Tên App] > [Hành động]
Cấu hình :
- Trường 1 : {{1.field1}}
- Trường 2 : [Giá trị cố định]
Điều kiện (Filter) : [Nếu có]
[Tiếp tục cho từng module]
### 3. Xử lý lỗi (Error Handling)
Trong trường hợp lỗi tại Module X:
Tùy chọn A: Bỏ qua và tiếp tục (Ignore)
Tùy chọn B: Gửi email cảnh báo tới [email] (Break/Email)
Tùy chọn C: Lưu lịch sử lỗi vào một dòng Google Sheets
## SƠ ĐỒ ASCII (SƠ ĐỒ TRỰC QUAN)
Luôn vẽ một sơ đồ luồng công việc:
TRIGGER MODULE 2 MODULE 3 OUTPUT
(Gmail) --> (Filter) --> (Sheets) --> (Slack)
Email mới Nếu tiêu đề Thêm một Thông báo
nhận được chứa X dòng mới vào #kênh
## CÁC APPS PHỔ BIẾN TRÊN MAKE
- Gmail, Google Sheets, Google Drive
- Notion, Airtable, Typeform
- Slack, Telegram, WhatsApp Business
- HTTP Request (Dùng cho API tùy chỉnh)
- OpenAI, Anthropic
- PayPal, Stripe
## QUY TẮC
- Luôn luôn bắt đầu bằng một Trigger (Trình kích hoạt).
- Luôn dự trù một module xử lý lỗi (Error handler).
- Ghi chú rõ các biến số theo cú pháp {{N.field}}.
- Tối đa 15 module trước khi khuyên chia nhỏ thành 2 kịch bản khác nhau.
---
name: notion-database-architect
description: >
Tạo và cấu hình Cơ sở dữ liệu (Database) Notion hoàn chỉnh với các thuộc tính,
quan hệ (relations), công thức (formulas) và chế độ xem (views).
---
# Notion Database Architect
## LUỒNG LÀM VIỆC (WORKFLOW)
### BƯỚC 1: Xác định mục đích sử dụng
Trước khi tạo, cần xác định rõ:
- Loại dữ liệu (Task, Khách hàng, Bài viết, Sản phẩm, v.v.)
- Ai là người dùng (1 người, Đội nhóm, Khách hàng)
- Các chế độ xem cần thiết (Table, Board, Gallery, Calendar, Timeline)
- Các quan hệ (Relation) với cơ sở dữ liệu đã có.
### BƯỚC 2: Sơ đồ thuộc tính (Properties Schema)
Các thuộc tính khuyên dùng theo loại Database:
**Database CRM (Khách hàng/Liên hệ)**
CREATE TABLE (
"Họ tên" TITLE,
"Công ty" RICH_TEXT,
"Email" EMAIL,
"Số điện thoại" PHONE_NUMBER,
"Trạng thái" SELECT('Lead':blue,'Tiềm năng':yellow,'Khách hàng':green,'Mất':red),
"Giá trị" NUMBER FORMAT 'euro',
"Tương tác cuối" DATE,
"Ghi chú" RICH_TEXT,
"Mức ưu tiên" SELECT('Cao':red,'Trung bình':yellow,'Thấp':gray)
)
**Database Quản lý Nội dung (Content)**
CREATE TABLE (
"Tiêu đề" TITLE,
"Trạng thái" SELECT('Ý tưởng':gray,'Đang viết':blue,'Hoàn thành':yellow,'Đã đăng':green),
"Nền tảng" MULTI_SELECT('X':blue,'Instagram':pink,'LinkedIn':blue,'YouTube':red),
"Ngày đăng" DATE,
"Định dạng" SELECT('Tweet':'','Thread':'','Video':'','Bài viết':''),
"Hiệu suất" NUMBER,
"Ghi chú" RICH_TEXT
)
**Database Quản lý Dự án (Tasks/Projects)**
CREATE TABLE (
"Công việc" TITLE,
"Trạng thái" STATUS,
"Người phụ trách" PEOPLE,
"Mức độ ưu tiên" SELECT('Khẩn cấp':red,'Cao':orange,'Bình thường':blue,'Thấp':gray),
"Deadline" DATE,
"Dự án" RICH_TEXT,
"Ước lượng" NUMBER COMMENT 'tính bằng giờ'
)
### BƯỚC 3: Tạo các Chế độ xem (Views)
Sau khi thiết kế dữ liệu, luôn tạo:
1. Chế độ xem Bảng (Table View - mặc định)
2. Chế độ xem Bảng Kanban (Board View) nhóm theo "Trạng thái"
3. Chế độ xem Dòng thời gian (Timeline) nếu có ngày tháng
4. Chế độ xem Lịch (Calendar) cho lịch đăng bài / sự kiện
### BƯỚC 4: Các công thức (Formulas) hữu ích
Công thức "Số ngày còn lại":
`dateBetween(prop("Deadline"), now(), "days")`
Công thức "Cảnh báo trễ hạn":
`if(prop("Deadline") < now() and prop("Trạng thái") != "Hoàn thành", "TRỄ HẠN 🔴", "OK 🟢")`
---
name: chatbot-script-designer
description: >
Tạo kịch bản chatbot hoàn chỉnh cho ManyChat, WhatsApp Business
hoặc Telegram với cây quyết định (Decision tree).
---
# Chatbot Script Designer
## ĐỊNH DẠNG CỦA MỘT KỊCH BẢN CHATBOT
TRIGGER (Kích hoạt): [Từ khóa / Nút bấm / Tin nhắn mới]
TIN NHẮN 1 (Ngay lập tức):
"[Nội dung tin nhắn]"
[Các nút bấm (Buttons) / Trả lời nhanh (Quick Replies)]
--> Nếu chọn Nút A: TIN NHẮN 2A
"[Nội dung]"
Hành động: [Gắn tag, thêm vào chuỗi (sequence), gửi link]
--> Nếu chọn Nút B: TIN NHẮN 2B
"[Nội dung]"
Hành động: [Thông báo cho Admin, dừng kịch bản tự động]
--> Nếu không trả lời sau 24h: TIN NHẮN 2C
"[Nội dung nhắc nhở nhẹ nhàng]"
## CÁC CÂY QUYẾT ĐỊNH MẪU (DECISION TREES)
### Cây tặng mồi nhử (Lead Magnet)
Khách hàng bình luận "[TỪ KHÓA]"
|
Tự động gửi DM (Tin nhắn riêng): "Chào [Tên]! Quà tặng của bạn đã sẵn sàng."
[Nút: Gửi cho tôi nhé]
|
Gửi Link tải File PDF / Notion
|
D+2 (2 ngày sau): "Bạn đã kịp xem tài liệu đó chưa?"
[Nút: Xem rồi | Nút: Vẫn chưa]
|
--> Xem rồi: "Tuyệt, bạn ấn tượng nhất với điều gì?"
--> Chưa: "Không sao, tôi gửi lại link để bạn lưu nhé."
### Cây Hỗ trợ Khách hàng (Customer Support)
Tin nhắn mới đến
|
Menu chính: [Tình trạng đơn hàng | Lỗi kỹ thuật | Vấn đề khác]
|
--> Đơn hàng: Tự động tra cứu và báo trạng thái đơn
--> Lỗi kỹ thuật: Thu thập thông tin + Chuyển cho nhân viên thật (Live Chat)
--> Vấn đề khác: Trả lời tự động các câu hỏi thường gặp (FAQ)
## QUY TẮC SOẠN THẢO TIN NHẮN
- Tối đa 200 từ cho mỗi tin nhắn.
- Luôn cá nhân hóa bằng cách gọi [Tên khách hàng].
- Tối đa 3 nút bấm (Buttons) cho mỗi tin.
- Tuyệt đối không lạm dụng viết hoa toàn bộ (CAPS LOCK).
- Giọng điệu con người, tự nhiên, không mang cảm giác robot khô khan.
--- name: sop-writer description: > Tạo Quy trình Vận hành Tiêu chuẩn (SOPs) chi tiết để chuẩn hóa doanh nghiệp. Sử dụng khi yêu cầu "viết SOP", "quy trình chuẩn", "tài liệu hóa công việc". --- # SOP Writer — Cấu Trúc Chuyên Nghiệp ## CẤU TRÚC CỦA MỘT SOP HOÀN CHỈNH # SOP: [TÊN QUY TRÌNH] **Phiên bản:** 1.0 | **Ngày tạo:** [NGÀY] | **Người viết:** [TÊN] **Tần suất thực hiện:** [Hàng ngày/Hàng tuần/Khi có yêu cầu] **Thời gian dự kiến:** [X phút] **Yêu cầu trình độ:** [Cơ bản/Trung bình/Nâng cao] --- ## Mục đích [Quy trình này giải quyết vấn đề gì, mang lại kết quả gì (1-2 câu)] ## Yêu cầu chuẩn bị (Prerequisites) - Quyền truy cập vào: [Danh sách phần mềm/tài khoản] - Đã hoàn thành trước: [Tên SOP liên quan nếu có] - Tài nguyên/Dữ liệu cần thiết: [Danh sách] ## Các bước thực hiện ### Bước 1: [TÊN BƯỚC] **Hành động:** [Chính xác phải bấm vào đâu, làm gì] **Kết quả mong đợi:** [Làm sao để biết đã làm đúng bước này] **Nếu có lỗi xảy ra:** [Cách khắc phục nhanh] **Ảnh chụp màn hình/Video:** [Tùy chọn: Mô tả hình ảnh minh họa cần chèn] ### Bước 2: [TÊN BƯỚC] [Cấu trúc tương tự] [Tiếp tục cho đến bước cuối cùng] ## Checklist kiểm tra cuối cùng - [ ] [Điểm cần kiểm tra 1] - [ ] [Điểm cần kiểm tra 2] - [ ] [Điểm cần kiểm tra 3] ## Các lỗi thường gặp (Troubleshooting) | Sự cố | Nguyên nhân có thể | Cách xử lý | |-------------|----------------|------------| | [Lỗi 1] | [Nguyên nhân] | [Giải pháp] | | [Lỗi 2] | [Nguyên nhân] | [Giải pháp] | ## Tài nguyên liên quan - [Link hướng dẫn, thư mục Drive, v.v.] ## QUY TẮC SOẠN THẢO - Bắt đầu mỗi hướng dẫn bằng Động từ hành động (Click, Mở, Tải, Viết). - Mỗi Bước = Chỉ 1 Hành động duy nhất. - Luôn chỉ rõ kết quả mong muốn sau mỗi hành động. - Bắt buộc phải có bảng xử lý lỗi thường gặp (để nhân viên tự giải quyết thay vì hỏi bạn).
---
name: zapier-workflow-builder
description: >
Thiết kế luồng tự động hóa trên Zapier hoàn chỉnh với trigger,
các hành động (actions) và bộ lọc (filters).
---
# Zapier Workflow Builder
## ĐỊNH DẠNG CỦA MỘT ZAP
TRIGGER (Kích hoạt): [Tên App] > [Sự kiện]
Điều kiện bắt buộc: [Bộ lọc nếu cần thiết]
ACTION 1 (Hành động 1): [Tên App] > [Hành động]
Khớp dữ liệu (Field mapping):
- Trường đích 1 = Dữ liệu gốc {{tên_trường}}
- Trường đích 2 = Văn bản cố định
FILTER (Bộ lọc - Nếu có):
Chỉ tiếp tục nếu: [Tên trường] [Chứa/Bằng/Tồn tại] [Giá trị]
ACTION 2: [Tên App] > [Hành động]
Khớp dữ liệu:
- ...
[Tiếp tục cho các Hành động tiếp theo]
## CÁC ZAP HỮU ÍCH NHẤT (MẪU)
**Zap 1: Form Đăng ký -> CRM -> Email**
Trigger: Có người điền Form (Typeform / Tally / Google Forms)
Action 1: Thêm liên hệ vào Notion hoặc Airtable
Action 2: Gửi email chào mừng tự động (Gmail)
Action 3: Gửi tin nhắn thông báo vào nhóm chat nội bộ (Slack)
**Zap 2: Theo dõi RSS -> Đăng bài Twitter/X**
Trigger: Bài viết mới xuất hiện trên Feed RSS của [Trang Blog]
Filter (Lọc): Chỉ tiếp tục nếu Tiêu đề chứa [Từ khóa]
Action: Lên lịch đăng bài tự động trên X (Twitter) thông qua Buffer
**Zap 3: Thanh toán PayPal -> Notion -> Email**
Trigger: Nhận được thanh toán mới qua PayPal
Action 1: Thêm khách hàng vào cơ sở dữ liệu Notion
Action 2: Gửi email xác nhận giao dịch và link tải tài liệu
---
name: n8n-workflow-creator
description: >
Thiết kế luồng công việc n8n hoàn chỉnh với các Nodes, Webhooks
và Logic điều kiện (Code/If/Switch). Định dạng JSON cho n8n.
---
# n8n Workflow Creator
## CÁC NODES PHỔ BIẾN VÀ CÔNG DỤNG
| NODE | CÔNG DỤNG |
|-----------------|--------------------------------------------------|
| Webhook | Nhận dữ liệu từ bên ngoài (Làm Trigger) |
| HTTP Request | Gọi bất kỳ API nào |
| Schedule Trigger | Hẹn giờ chạy luồng định kỳ |
| If | Câu điều kiện Nhị phân (Đúng/Sai) |
| Switch | Rẽ nhiều nhánh dựa trên giá trị |
| Set | Đặt tên hoặc định dạng lại biến số |
| Code | Viết code JavaScript hoặc Python tùy chỉnh |
| Merge | Gộp 2 nhánh luồng lại làm 1 |
| Loop Over Items | Vòng lặp duyệt qua một danh sách dữ liệu |
| Google Sheets | Đọc/Ghi dữ liệu file Sheets |
## CẤU TRÚC JSON CỦA N8N WORKFLOW
{
"name": "[TÊN WORKFLOW]",
"trigger": {
"type": "[Webhook / Schedule / Manual / App Event]",
"config": {
"url": "[Webhook URL nếu có]",
"schedule": "[Biểu thức Cron nếu là Schedule]"
}
},
"nodes": [
{
"id": "1",
"type": "[Loại Node]",
"name": "[Tên mô tả]",
"config": {
"[Các tham số cài đặt cho Node]"
},
"next_node": "2"
},
{
"id": "2",
"type": "If",
"name": "Kiểm tra điều kiện",
"config": {
"condition": "{{$json.status}} === 'active'"
},
"if_true_node": "3",
"if_false_node": "4"
}
]
}
## SƠ ĐỒ MINH HỌA ASCII
Luôn luôn cung cấp một sơ đồ luồng dữ liệu trước khi viết code JSON:
[TRIGGER] [NODE 2] [NODE 3]
Webhook --> Kiểm tra trạng thái --> Nếu TRUE : Gửi email
--> Nếu FALSE : Lưu Log lỗi
## QUY TẮC LÀM VIỆC VỚI N8N
- Đặt tên Node mô tả chính xác hành động (VD: "Gửi Email" thay vì "Gmail 1").
- Phải có Node "Error Trigger" để bắt lỗi nếu quy trình chết giữa chừng.
- Ghi chú các biến dữ liệu dưới dạng `{{$json.tên_biến}}` rõ ràng.
--- name: email-automation-sequence description: > Tạo kịch bản chuỗi Email tự động hoàn chỉnh bao gồm Tiêu đề, Nội dung và Thời gian gửi. Dùng cho Chăm sóc (Nurture) hoặc Onboarding. --- # Email Automation Sequence ## CÁC CHUỖI EMAIL ĐIỂN HÌNH VÀ CẤU TRÚC ### Chuỗi 1: Chào mừng (5 Email trong 14 ngày) **EMAIL 1 - Ngày 0 (Gửi ngay sau khi đăng ký)** Tiêu đề: "Chào mừng [Tên] — Đây là cách để bắt đầu" Preheader (Dòng xem trước): "Tài khoản của bạn đã sẵn sàng. Bước đầu tiên ở đây." Nội dung: - Chào mừng nồng nhiệt (Tối đa 2 câu). - Khách hàng sẽ nhận được gì trong chuỗi email này. - MỘT hành động duy nhất cần làm ngay lập tức. - Nút CTA (Link tới tài nguyên chính). Độ dài: 150-200 từ. **EMAIL 2 - Ngày 2** Tiêu đề: "[Tên], bạn đã kịp xem [Tài liệu ở Email 1] chưa?" Nội dung: Nhắc lại giá trị của tài liệu + Lời khen từ người khác (Testimonial) + Link tải lại. **EMAIL 3 - Ngày 5** Tiêu đề: "Sự thật ít ai nói cho bạn về [Chủ đề]" Nội dung: Cung cấp Giá trị thuần túy (Một bài học thực tế, tuyệt đối không bán hàng) + Link mở rộng. **EMAIL 4 - Ngày 9** Tiêu đề: "[Tên], kết quả sau 1 tuần của bạn thế nào?" Nội dung: Xin feedback trải nghiệm + Tặng quà (Bonus) nếu họ phản hồi + Giới thiệu nhẹ nhàng về sản phẩm Trả phí (Nếu có). **EMAIL 5 - Ngày 14** Tiêu đề: "Bước tiếp theo để chinh phục [Mục tiêu]" Nội dung: Tổng hợp lại kiến thức + Chào bán trực tiếp sản phẩm nâng cao / Dịch vụ + 1 CTA duy nhất rõ ràng. ### Chuỗi 2: Khôi phục Giỏ hàng bị bỏ quên (3 Email) - EMAIL 1 (Sau 1h): "Bạn bỏ quên món đồ này, [Tên]". Lời nhắc nhẹ nhàng + Link giỏ hàng. - EMAIL 2 (Sau 24h): "Vì sao [Sản phẩm] thực sự xứng đáng với giá [Tiền]". Nêu 3 Lợi ích + Feedback + FAQ. - EMAIL 3 (Sau 72h): "Cơ hội cuối: Giỏ hàng của bạn sẽ bị hủy đêm nay". Tạo sự khan hiếm (Urgengy) + Mã giảm giá giờ chót. ### Chuỗi 3: Đánh thức khách hàng ngủ đông (3 Email) - EMAIL 1 (Không tương tác 60 ngày): "Chúng tôi nhớ bạn, [Tên] (Và có vài tin mới)". Cập nhật tính năng mới, không ép mua hàng. - EMAIL 2 (Sau 7 ngày): "Một câu hỏi thẳng thắn, [Tên]". Hỏi xem họ còn muốn nhận email không? Nếu không, hệ thống sẽ tự hủy đăng ký sau 7 ngày. - EMAIL 3 (Sau 14 ngày): "Email cuối cùng của tôi". Tôn trọng quyết định + Lọc data sạch sẽ. ## QUY TẮC TOÀN CẦU - Tiêu đề: 30-50 ký tự, KHÔNG in hoa toàn bộ, HẠN CHẾ dấu chấm than. - Preheader: Viết bổ sung cho Tiêu đề, không bao giờ lặp lại Tiêu đề. - 1 CTA duy nhất cho mỗi Email. - Đọc to thành tiếng: Đảm bảo giọng điệu giống con người đang nói chuyện.
--- name: airtable-schema-designer description: > Thiết kế cấu trúc cơ sở dữ liệu Airtable tối ưu và chuyên nghiệp. --- # Airtable Schema Designer ## SỰ KHÁC BIỆT: AIRTABLE VS NOTION - Airtable: Sức mạnh cơ sở dữ liệu quan hệ, Views cực mạnh, Automation tích hợp sẵn, API chuẩn mực. Phù hợp quản lý Dữ liệu lớn (Data-heavy). - Notion: Sức mạnh về tài liệu (Docs) kết hợp database đơn giản. Phù hợp làm Wiki và Quản lý dự án nội dung. ## TEMPLATE THEO MỤC ĐÍCH SỬ DỤNG ### CRM Bán Hàng (Quản lý Khách hàng) BẢNG 1: Liên hệ (Contacts) - Họ Tên (Single line text) - Công ty (Linked to Bảng Công ty) - Email (Email) - SĐT (Phone number) - Trạng thái (Single select: Lead / Tiềm năng / Đã chốt / Thất bại) - Giá trị Deal (Currency) - Ngày chăm sóc tiếp theo (Date) - Ghi chú (Long text) BẢNG 2: Công ty (Companies) - Tên công ty (Single line text) - Ngành nghề (Single select) - Quy mô (Single select: 1-10 / 11-50 / 51-200 / 200+) - Liên hệ (Linked to Bảng Liên hệ) - Doanh thu tiềm năng (Rollup: Tính TỔNG giá trị các Liên hệ được link) CÁC VIEWS NÊN TẠO: - Pipeline (Kanban chia theo Trạng thái). - Cần chăm sóc hôm nay (Filter: Ngày chăm sóc = Today). - Top KH giá trị cao (Sort theo Giá trị giảm dần). ### Quản lý Kho Hàng (Inventory) BẢNG: Sản phẩm - Tên SP (Single line text) - Mã SKU (Single line text - Bắt buộc Unique) - Danh mục (Single select) - Giá nhập (Currency) | Giá bán (Currency) - Biên lợi nhuận (Formula: (Giá bán - Giá nhập) / Giá nhập * 100) - Tồn kho hiện tại (Number) - Tồn kho tối thiểu (Number) - Cảnh báo nhập hàng (Formula: IF(Tồn kho hiện tại <= Tồn kho tối thiểu, "CẦN NHẬP GẤP", "OK")) AUTOMATION TÍCH HỢP: Nếu "Cảnh báo" = "CẦN NHẬP GẤP" -> Gửi Email cho Bộ phận mua hàng. ### Quản lý Dự Án (Project Tracking) BẢNG: Tasks - Tên Task (Single line text) - Trạng thái (Single select: To Do / Doing / Blocked / Done) - Người phụ trách (User) - Deadline (Date) - Tiến độ (Percentage) - Dự án (Linked to Bảng Projects) ## AUTOMATIONS BẢN ĐỊA TRÊN AIRTABLE - Auto 1: Khi đổi trạng thái sang "Doing" -> Gửi tin nhắn Slack/Zalo cho người phụ trách. - Auto 2: Trước Deadline 2 ngày -> Tự động đánh dấu Cấp bách & Gửi Email nhắc nhở. - Auto 3: Sáng thứ Hai đầu tháng -> Tự động sinh ra các Task báo cáo lặp lại.
--- name: social-media-scheduler description: > Lên kế hoạch và lịch trình Đăng bài mạng xã hội (Content Calendar) trong 30 ngày cho nhiều nền tảng. --- # Social Media Scheduler — Kế Hoạch 30 Ngày ## CÂU HỎI XÁC ĐỊNH TRƯỚC KHI LÀM 1. Ngách/Chủ đề (Niche): [Tập trung vào mảng nào] 2. Nền tảng: [Facebook / TikTok / LinkedIn / Instagram] 3. Tần suất: [Bao nhiêu bài/tuần] 4. Mục tiêu: [Tăng nhận diện / Hút Leads / Chuyển đổi bán hàng] 5. Định dạng: [Text / Hình ảnh / Video ngắn / Podcast] ## CẤU TRÚC LỊCH TRÌNH LỊCH BIÊN TẬP: [CHỦ ĐỀ] — [THÁNG/NĂM] Nền tảng chính: [Nền tảng] Tần suất: [N] bài/tuần TUẦN 1: CHỦ ĐỀ CHÍNH — [Tên chủ đề tuần 1] Ngày 1 (Thứ Hai): Nền tảng: [LinkedIn / Facebook / TikTok] Định dạng: [Bài viết dài / Video / Ảnh] Chủ đề bài: [Chính xác nói về cái gì] Góc độ (Angle): [Cách tiếp cận vấn đề] Hook (Câu mở đầu): [Viết câu giật tít đầu tiên để giữ chân người xem] Giờ vàng đăng bài: [Khung giờ khuyến nghị] Ngày 2 (Thứ Ba): [Tương tự] [...Cho đến Chủ Nhật] TUẦN 2: CHỦ ĐỀ CHÍNH — [Tên chủ đề tuần 2] [Tương tự] [...Cho đến Tuần 4] --- TỔNG KẾT PHÂN BỔ: Tỷ lệ nội dung: 70% Giá trị / 20% Tương tác / 10% Bán hàng. Phân bổ định dạng: [X]% Text / [Y]% Hình ảnh / [Z]% Video. KHUNG GIỜ VÀNG (THAM KHẢO): - Facebook: 11h-13h và 19h-21h - TikTok: 18h-23h (Rất mạnh vào buổi tối) - LinkedIn: 7h-9h sáng và 12h-13h trưa (Thứ 3 đến Thứ 5) - Instagram: 11h-13h và 19h-21h ## QUY TẮC LÊN LỊCH - Nguyên tắc 7-2-1 (7 Bài cho đi, 2 Bài thảo luận, 1 Bài bán). - Không đăng chéo (cross-post) một nội dung y chang nhau cùng một lúc trên tất cả nền tảng. Phải chỉnh sửa định dạng cho phù hợp nền tảng. - Batching (Làm việc theo lô): Chuẩn bị ý tưởng cho 1 Tuần trong 1 Buổi duy nhất.
---
name: api-integration-helper
description: >
Hỗ trợ tích hợp và viết tài liệu hướng dẫn gọi API cho các nền tảng thứ ba.
---
# API Integration Helper
## CẤU TRÚC TÀI LIỆU TÍCH HỢP API HOÀN CHỈNH
### 1. Tài liệu của Endpoint
API: [Tên Dịch vụ]
Endpoint: [PHƯƠNG THỨC: GET/POST] [URL]
Loại Xác thực (Auth): [Bearer token / API Key / OAuth 2.0]
Base URL: [https://api.domain.com/v1]
Tài liệu gốc (Docs): [URL]
### 2. Code Mẫu Giao Tiếp (Gọi API)
**JavaScript (Dùng Fetch API)**
```javascript
const API_KEY = process.env.SERVICE_API_KEY; // Không bao giờ hard-code key
async function callAPI(endpoint, method = 'GET', body = null) {
const options = {
method,
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
};
if (body) options.body = JSON.stringify(body);
const response = await fetch(`https://api.domain.com/v1${endpoint}`, options);
if (!response.ok) {
const error = await response.json();
throw new Error(`Lỗi API ${response.status}: ${error.message}`);
}
return response.json();
}
```
**Python (Dùng Requests)**
```python
import requests
import os
API_KEY = os.environ.get('SERVICE_API_KEY')
BASE_URL = 'https://api.domain.com/v1'
def call_api(endpoint, method='GET', payload=None):
headers = {
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json'
}
response = requests.request(
method,
f'{BASE_URL}{endpoint}',
headers=headers,
json=payload
)
response.raise_for_status() # Bắn lỗi nếu status không phải 2xx
return response.json()
```
### 3. Xử lý Phân trang (Pagination Handling)
```javascript
async function getAllItems(endpoint) {
let allItems = [];
let page = 1;
let hasMore = true;
while (hasMore) {
const response = await callAPI(`${endpoint}?page=${page}&limit=100`);
allItems = [...allItems, ...response.data];
hasMore = response.has_more || response.next_page;
page++;
}
return allItems;
}
```
### 4. Xử lý Giới hạn Request (Rate Limiting & Retry)
```javascript
async function callWithRetry(endpoint, maxRetries = 3) {
for (let attempt = 1; attempt <= maxRetries; attempt++) {
try {
return await callAPI(endpoint);
} catch (error) {
if (error.status === 429) { // Lỗi Too Many Requests
const waitTime = Math.pow(2, attempt) * 1000; // Exponential backoff (Chờ theo cấp số nhân)
await new Promise(resolve => setTimeout(resolve, waitTime));
} else {
throw error;
}
}
}
}
```
## BẢNG TỔNG HỢP API CHO DỰ ÁN
| Endpoint | Phương thức | Chức năng |
| --- | --- | --- |
| /users | GET | Lấy danh sách người dùng |
| /users/{id} | PUT | Cập nhật thông tin người dùng |
BẢNG CÁC LỖI THƯỜNG GẶP KHI TÍCH HỢP:
- Lỗi 401: Sai API Key hoặc Token hết hạn -> Xin cấp lại Token mới.
- Lỗi 429: Vượt quá giới hạn Request/Phút -> Viết logic Timeout/Sleep.
- Lỗi 404: Gọi sai đường dẫn Endpoint hoặc Tài nguyên đã bị xóa.