Hermes Agent với Facebook, Instagram và Meta Ads
Hermes chưa có kết nối Facebook dựng sẵn. Tài liệu chỉ cách nối từng phần theo mức rủi ro: đọc số liệu quảng cáo, đăng bài Fanpage, trả lời khách — tiền và nội dung công khai luôn chờ bạn duyệt. Tài liệu nội bộ Aduca, chia sẻ cho học viên.
Chọn cách nối phù hợp
| Cách | Làm được | Độ khó | Rủi ro |
|---|---|---|---|
| A. Không cần API | Gửi ảnh chụp / file xuất từ Trình quản lý quảng cáo → agent phân tích, viết quảng cáo, viết bài | Dễ | Thấp |
| B. Meta Ads MCP (chính thức, beta) | Hỏi số liệu quảng cáo bằng tiếng Việt, gợi ý tối ưu; tạo chiến dịch ở trạng thái tạm dừng | Trung bình | Trung bình — loại bỏ công cụ bật quảng cáo |
| C. Kỹ năng Graph API | Báo cáo quảng cáo theo lịch; đăng bài, hẹn giờ, trả lời bình luận Fanpage (chờ duyệt) | Trung bình | Trung bình |
| D. Cầu nối webhook | Bot trả lời inbox Messenger và bình luận 24/7 bằng agent tiếp khách | Khó — cần tên miền, duyệt ứng dụng của Meta | Cao nhất — nói chuyện với người lạ |
Đi lần lượt A → B/C → D. Cách A làm được ngay theo Phần 3. Tài liệu dùng Graph API và Marketing API v26.0 (phát hành 29/07/2026).
Nguồn: Graph API Changelog · Graph API v26
Chuẩn bị chung: ứng dụng Meta và token tối thiểu quyền
| Thứ cần có | Ghi chú |
|---|---|
| Business Portfolio (business.facebook.com) có Fanpage và tài khoản quảng cáo | Bạn là quản trị viên |
| Ứng dụng Meta loại Business | developers.facebook.com → My Apps → Create App → gắn vào Business Portfolio |
Agent ads, content, cskh | Tạo theo Phần 1 Bước 9; cskh tắt quyền chạy lệnh (Phần 8) |
| Giới hạn chi tiêu tài khoản quảng cáo | Thanh toán → Giới hạn chi tiêu tài khoản. Bắt buộc trước khi nối API |
Tạo người dùng hệ thống và token (cho cách B, C)
- Business Settings → Người dùng hệ thống → Thêm → vai trò Nhân viên (Employee), không chọn Admin.
- Chỉ định tài sản: tài khoản quảng cáo (quyền xem hiệu quả; thêm quyền quản lý nếu muốn agent tạm dừng chiến dịch) và Fanpage cần dùng.
- Bấm Tạo token → chọn ứng dụng → chọn hạn 60 ngày (Meta khuyến nghị) → tick đúng quyền cần: báo cáo
ads_read; Fanpagepages_show_list,pages_read_engagement,pages_manage_posts,pages_manage_engagement. - Copy token vào trình quản lý mật khẩu. Đặt nhắc lịch gia hạn trước 60 ngày.
ads chỉ giữ token quảng cáo; agent content chỉ giữ token Fanpage. Agent cskh không giữ token nào — cầu nối giữ thay. Lộ một token thì thiệt hại chỉ trong phạm vi token đó.Nguồn: System users – tokens · Permissions
Cách B — Meta Ads MCP (chính thức, đang beta)
Meta mở máy chủ MCP chính thức tại https://mcp.facebook.com/ads (beta từ 29/04/2026) cho mọi AI Agent hỗ trợ MCP. Có 7 nhóm công cụ: báo cáo, tạo và quản lý quảng cáo, danh mục sản phẩm, tín hiệu – dataset, trợ giúp, thử nghiệm A/B, nhật ký hoạt động. Mọi thứ tạo mới đều ở trạng thái tạm dừng; bật chạy là một công cụ riêng (ads_activate_entity).
Theo tài liệu Meta: trong ứng dụng, thêm trường hợp sử dụng "Create & manage ads with ads MCP server"; token cần các quyền ads_mcp_management, ads_read, ads_management, business_management, pages_show_list, instagram_basic (thêm catalog_management nếu dùng danh mục).
read -rsp "Dán META_ADS_TOKEN rồi Enter (chữ sẽ không hiện): " V; echo; hermes -p ads config set META_ADS_TOKEN "$V"; unset V # dùng chung tên cho cách B và CThêm vào cuối ~/.hermes/profiles/ads/config.yaml (nano ~/.hermes/profiles/ads/config.yaml):
mcp_servers:
meta-ads:
url: "https://mcp.facebook.com/ads"
headers:
Authorization: "Bearer ${META_ADS_TOKEN}" # Hermes tự lấy từ file bí mật, không ghi token vào đây
tools:
exclude: ["ads_activate_entity", "*delete*"] # agent không có công cụ bật quảng cáo / xoáhermes -p ads mcp list # thấy meta-ads
hermes -p ads mcp test meta-ads # kiểm tra kết nối
hermes gateway restartDùng Meta Ads MCP: tổng hợp chi tiêu, kết quả, giá mỗi kết quả 7 ngày qua theo chiến dịch; chỉ ra 3 nhóm quảng cáo có dấu hiệu bất thường và đề xuất xử lý. Không tạo, không sửa gì.ads_mcp_management hay không; quyền này cần Meta duyệt ứng dụng và xác minh doanh nghiệp khi dùng cho người ngoài ứng dụng. Nếu chưa cấp được, dùng Cách C để báo cáo.Nguồn: Ads MCP – Overview · Ads MCP – Get started · Ads MCP – Creation tools · Hermes MCP – headers ${VAR}, tools.exclude
Cách C — Kỹ năng Graph API: báo cáo quảng cáo và Fanpage
C1. Agent ads: báo cáo Meta Ads (chỉ đọc)
Nhập token quảng cáo (nếu chưa làm ở Cách B) và ID tài khoản quảng cáo:
read -rsp "Dán META_ADS_TOKEN rồi Enter (chữ sẽ không hiện): " V; echo; hermes -p ads config set META_ADS_TOKEN "$V"; unset Vhermes -p ads config set META_AD_ACCOUNT act_<số tài khoản quảng cáo>mkdir -p ~/.hermes/profiles/ads/skills/marketing/meta-ads-bao-cao
cat > ~/.hermes/profiles/ads/skills/marketing/meta-ads-bao-cao/SKILL.md <<'EOF'
---
name: meta-ads-bao-cao
description: Lấy số liệu Meta Ads qua Marketing API v26.0, phân tích và đề xuất — chỉ đọc, được tạm dừng khi chủ duyệt.
required_environment_variables:
- name: META_ADS_TOKEN
prompt: Token người dùng hệ thống (quyền ads_read)
- name: META_AD_ACCOUNT
prompt: ID tài khoản quảng cáo dạng act_123
---
# Meta Ads – báo cáo
G=https://graph.facebook.com/v26.0 ; gửi token bằng -H "Authorization: Bearer $META_ADS_TOKEN"
- Hôm qua theo chiến dịch: curl -s "$G/$META_AD_ACCOUNT/insights?level=campaign&date_preset=yesterday&fields=campaign_name,spend,impressions,reach,clicks,ctr,cpc,cpm,actions,cost_per_action_type" -H "Authorization: Bearer $META_ADS_TOKEN"
- 7 ngày: thay date_preset=last_7d ; khoảng tuỳ chọn: time_range={"since":"YYYY-MM-DD","until":"YYYY-MM-DD"}
- Danh sách chiến dịch: curl -s "$G/$META_AD_ACCOUNT/campaigns?fields=id,name,status,effective_status,daily_budget,lifetime_budget,objective" -H "Authorization: Bearer $META_ADS_TOKEN"
- Tiền VND: daily_budget=500000 nghĩa là 500.000đ (VND không có đơn vị lẻ).
- Tạm dừng 1 chiến dịch (CHỈ khi chủ trả lời "DUYỆT TẠM DỪNG <tên>"): curl -s -X POST "$G/<campaign_id>" -H "Authorization: Bearer $META_ADS_TOKEN" -d status=PAUSED
QUY TẮC BẮT BUỘC
1. Không bao giờ bật (ACTIVE) quảng cáo, không tăng ngân sách, không tạo chiến dịch — chỉ đề xuất để chủ tự làm trong Trình quản lý quảng cáo.
2. Mọi số liệu ghi rõ khoảng ngày và đơn vị; không đoán số.
EOFKhai báo required_environment_variables giúp Hermes chỉ đưa đúng token này vào lệnh của kỹ năng; các mã bí mật khác vẫn bị chặn.
Mỗi ngày 8h dùng kỹ năng meta-ads-bao-cao: báo cáo chi tiêu, kết quả, giá mỗi kết quả hôm qua theo chiến dịch, so với 7 ngày trước. Cuối báo cáo đề xuất Tăng / Giữ / Tạm dừng, chờ tôi quyết.C2. Agent content: đăng bài Fanpage chờ duyệt
Lấy token Fanpage từ token người dùng hệ thống và lưu thẳng vào file bí mật của agent content, không hiện ra màn hình (đây là cách làm phổ biến; Meta mô tả việc lấy token Trang qua /me/accounts):
hermes -p content config set META_PAGE_ID <ID Fanpage>
read -rsp "Dán token người dùng hệ thống rồi Enter: " SU; echo
T=$(curl -s "https://graph.facebook.com/v26.0/<ID Fanpage>?fields=access_token" -H "Authorization: Bearer $SU" | python3 -c 'import sys,json; print(json.load(sys.stdin).get("access_token",""))')
[ -n "$T" ] && hermes -p content config set META_PAGE_TOKEN "$T" && echo "Đã lưu token Fanpage" || echo "Không lấy được token — kiểm tra quyền và ID Fanpage"
unset SU Tmkdir -p ~/.hermes/profiles/content/skills/social-media/meta-fanpage
cat > ~/.hermes/profiles/content/skills/social-media/meta-fanpage/SKILL.md <<'EOF'
---
name: meta-fanpage
description: Đăng bài, hẹn giờ đăng, đọc và trả lời bình luận Fanpage qua Graph API v26.0 — luôn chờ chủ duyệt.
required_environment_variables:
- name: META_PAGE_ID
prompt: ID Fanpage
- name: META_PAGE_TOKEN
prompt: Page access token
---
# Fanpage qua Graph API
Dùng: G=https://graph.facebook.com/v26.0 và gửi token bằng header -H "Authorization: Bearer $META_PAGE_TOKEN".
Không đưa token vào URL, không in token ra màn hình hay tin nhắn.
- Đăng bài chữ/link: curl -s -X POST "$G/$META_PAGE_ID/feed" -H "Authorization: Bearer $META_PAGE_TOKEN" --data-urlencode "message=..." [--data-urlencode "link=..."]
- Đăng ảnh: curl -s -X POST "$G/$META_PAGE_ID/photos" -H "Authorization: Bearer $META_PAGE_TOKEN" --data-urlencode "url=<link ảnh>" --data-urlencode "caption=..."
- Hẹn giờ: thêm -d published=false -d scheduled_publish_time=<unix time>, trong khoảng 10 phút tới 30 ngày
- 10 bài gần nhất: curl -s "$G/$META_PAGE_ID/posts?fields=id,message,created_time&limit=10" -H "Authorization: Bearer $META_PAGE_TOKEN"
- Bình luận của bài: curl -s "$G/<post_id>/comments?fields=id,from,message,created_time" -H "Authorization: Bearer $META_PAGE_TOKEN"
- Trả lời bình luận: curl -s -X POST "$G/<comment_id>/comments" -H "Authorization: Bearer $META_PAGE_TOKEN" --data-urlencode "message=..."
QUY TẮC BẮT BUỘC
1. Mọi bài đăng và trả lời công khai: gửi bản nháp cho chủ trước, chỉ đăng khi chủ trả lời "DUYỆT".
2. Không xoá bài, không ẩn/xoá bình luận nếu chủ không yêu cầu rõ ràng.
3. Không bịa giá, khuyến mãi, cam kết; không dùng từ ngữ vi phạm chính sách quảng cáo.
EOFhermes gateway restartSoạn 3 bài Fanpage giới thiệu <sản phẩm> cho tuần này, gửi tôi duyệt từng bài. Bài nào tôi trả lời "DUYỆT" thì hẹn giờ đăng lúc 20h các ngày thứ 3, 5, 7.ads_management thì không sửa được quảng cáo) và giới hạn chi tiêu của tài khoản. Vì vậy chỉ tick quyền thật sự cần.Nguồn: Ads Insights · Currencies – VND · Pages API – Posts · Comments · Hermes Skills – required_environment_variables
Cách D — Bot trả lời inbox và bình luận Fanpage
Luồng: khách nhắn Fanpage → Meta gọi webhook (qua HTTPS) → cầu nối trên VPS kiểm tra chữ ký → hỏi agent cskh qua API nội bộ → gửi câu trả lời cho khách. Khách để lại số điện thoại → ghi vào danh sách và báo bạn qua Telegram.
pages_messaging: xác minh doanh nghiệp + gửi Meta duyệt ứng dụng. Trước khi được duyệt, chỉ người có vai trò trong ứng dụng nhắn thử được.D1. Chuẩn bị
- Đã làm Phần 4 – Bước 1 mở cổng web (Caddy) và Cách C – API nội bộ (agent cskh có
API_SERVER_KEYriêng). - Agent
cskh: đã tắt công cụ chạy lệnh/file/trình duyệt; có kỹ năng bảng giá – FAQ – kịch bản (Phần 3). - Ứng dụng Meta: thêm sản phẩm Messenger và Webhooks; lấy App Secret (App settings → Basic).
D2. Thêm đường dẫn /meta/ vào Caddy (tài khoản quản trị)
<hook.tenmien.vn> {
handle /webhooks/* {
reverse_proxy 127.0.0.1:8644
}
handle /meta/* {
reverse_proxy 127.0.0.1:3001
}
handle {
respond 404
}
}D3. Khai báo bí mật cho cầu nối (tài khoản hermes)
mkdir -p ~/.config && (umask 077; touch ~/.config/meta-bridge.env)
for K in APP_SECRET PAGE_TOKEN; do read -rsp "Dán $K rồi Enter (chữ không hiện): " V; echo; echo "$K=$V" >> ~/.config/meta-bridge.env; done; unset V
echo "PAGE_ID=<ID Fanpage>" >> ~/.config/meta-bridge.env
echo "VERIFY_TOKEN=$(openssl rand -hex 16)" >> ~/.config/meta-bridge.env
echo "GIOI_THIEU=Dạ em là trợ lý tự động của <tên shop>, nhân viên sẽ hỗ trợ thêm khi cần ạ." >> ~/.config/meta-bridge.env
grep '^API_SERVER_KEY=' ~/.hermes/profiles/cskh/.env | sed 's/^API_SERVER_KEY=/CSKH_API_KEY=/' >> ~/.config/meta-bridge.env
grep '^VERIFY_TOKEN=' ~/.config/meta-bridge.env # copy chuỗi này cho bước D5PAGE_TOKEN lấy giống bước C2 (dán vào đây thay vì lưu cho agent content). Có thể dùng token riêng chỉ có quyền nhắn tin và trả lời bình luận.
D4. Tạo cầu nối và chạy 24/7
Cầu nối viết bằng Python có sẵn trên Ubuntu, không cần cài thêm. Chỉ nghe ở 127.0.0.1:3001 (Caddy chuyển vào), từ chối mọi yêu cầu sai chữ ký, báo Meta "đã nhận" ngay rồi mới xử lý.
mkdir -p ~/meta-bridge && cat > ~/meta-bridge/cau_noi.py <<'EOF'
#!/usr/bin/env python3
"""Cầu nối Fanpage → Hermes (agent cskh). Aduca viết, dùng tự do.
Nhận webhook Messenger + bình luận, kiểm tra chữ ký, hỏi agent cskh qua API nội bộ, trả lời khách."""
import hashlib, hmac, json, os, re, threading, time, urllib.request
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
from urllib.parse import urlparse, parse_qs
E = dict(l.strip().split('=', 1) for l in open(os.path.expanduser('~/.config/meta-bridge.env')) if '=' in l and not l.startswith('#'))
G = 'https://graph.facebook.com/v26.0'
HERMES = 'http://127.0.0.1:8642/p/cskh/v1/chat/completions'
KHACH = os.path.expanduser('~/meta-bridge/khach-de-lai-sdt.txt')
SDT = re.compile(r'(?:\+?84|0)(?:\d[\s.-]?){8,10}')
lan_cuoi = {} # người gửi → lần nhắn gần nhất (để giới thiệu là trợ lý tự động)
def post(url, data, token, them=None):
h = {'Content-Type': 'application/json', 'Authorization': 'Bearer ' + token, **(them or {})}
with urllib.request.urlopen(urllib.request.Request(url, json.dumps(data).encode(), h), timeout=90) as r:
return json.load(r)
def hoi_cskh(phien, noi_dung):
try:
j = post(HERMES, {'model': 'cskh', 'messages': [{'role': 'user', 'content': noi_dung}]},
E['CSKH_API_KEY'], {'X-Hermes-Session-Id': phien})
return j['choices'][0]['message']['content'].strip()
except Exception as e:
print('Loi goi Hermes:', e, flush=True)
return 'Dạ shop đã nhận tin nhắn, nhân viên sẽ phản hồi anh/chị sớm nhất ạ!'
def ghi_khach(nguon, ten, noi_dung):
if SDT.search(noi_dung):
with open(KHACH, 'a') as f:
f.write(time.strftime('%d/%m %H:%M') + ' | ' + nguon + ' | ' + ten + ' | ' + noi_dung[:300].replace('\n', ' ') + '\n')
def xu_ly(body):
for entry in body.get('entry', []):
for m in entry.get('messaging', []):
msg = m.get('message') or {}
if not msg.get('text') or msg.get('is_echo'):
continue
nguoi = m['sender']['id']
ghi_khach('Messenger', nguoi, msg['text'])
tra_loi = hoi_cskh('fb-' + nguoi, msg['text'])
if time.time() - lan_cuoi.get(nguoi, 0) > 86400:
tra_loi = E.get('GIOI_THIEU', 'Dạ em là trợ lý tự động của shop.') + '\n' + tra_loi
lan_cuoi[nguoi] = time.time()
try:
post(G + '/' + E['PAGE_ID'] + '/messages', {'recipient': {'id': nguoi}, 'messaging_type': 'RESPONSE',
'message': {'text': tra_loi[:1900]}}, E['PAGE_TOKEN'])
except Exception as e:
print('Loi gui tin:', e, flush=True)
for c in entry.get('changes', []):
v = c.get('value', {})
tu = v.get('from') or {}
if c.get('field') != 'feed' or v.get('item') != 'comment' or v.get('verb') != 'add' or not tu.get('id') or tu['id'] == E['PAGE_ID']:
continue
ghi_khach('Bình luận', tu.get('name', ''), v.get('message', ''))
tra_loi = hoi_cskh('cmt-' + tu['id'], 'Khách bình luận công khai: "' + v.get('message', '') +
'". Viết 1 câu trả lời công khai ngắn, lịch sự, mời nhắn tin riêng; không nêu giá chi tiết hay thông tin cá nhân.')
try:
post(G + '/' + v['comment_id'] + '/comments', {'message': tra_loi[:1000]}, E['PAGE_TOKEN'])
except Exception as e:
print('Loi tra loi binh luan:', e, flush=True)
class H(BaseHTTPRequestHandler):
def do_GET(self): # Meta kiểm tra địa chỉ webhook
q = parse_qs(urlparse(self.path).query)
if q.get('hub.mode') == ['subscribe'] and hmac.compare_digest(q.get('hub.verify_token', [''])[0], E['VERIFY_TOKEN']):
self.send_response(200); self.end_headers(); self.wfile.write(q.get('hub.challenge', [''])[0].encode())
else:
self.send_response(403); self.end_headers()
def do_POST(self):
raw = self.rfile.read(int(self.headers.get('Content-Length', 0)))
ky = 'sha256=' + hmac.new(E['APP_SECRET'].encode(), raw, hashlib.sha256).hexdigest()
if not hmac.compare_digest(ky, self.headers.get('X-Hub-Signature-256', '')):
self.send_response(401); self.end_headers(); return
self.send_response(200); self.end_headers() # báo Meta đã nhận ngay (Meta yêu cầu dưới 5 giây)
threading.Thread(target=xu_ly, args=(json.loads(raw),), daemon=True).start()
def log_message(self, *a):
pass
ThreadingHTTPServer(('127.0.0.1', 3001), H).serve_forever()
EOFmkdir -p ~/.config/systemd/user && cat > ~/.config/systemd/user/meta-bridge.service <<'EOF'
[Unit]
Description=Cau noi Fanpage - Hermes
After=network-online.target
[Service]
ExecStart=/usr/bin/python3 %h/meta-bridge/cau_noi.py
Restart=always
RestartSec=5
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload && systemctl --user enable --now meta-bridge
systemctl --user status meta-bridge --no-pager # thấy active (running) là đượcD5. Khai báo webhook với Meta
- Ứng dụng → Webhooks → chọn đối tượng Page → Callback URL:
https://<hook.tenmien.vn>/meta/webhook, Verify token: chuỗi ở bước D3 → Verify and save. - Đăng ký các trường
messagesvàfeed(bình luận). Chỉ muốn bot trả lời inbox, không trả lời bình luận công khai: chỉ đăng kýmessagesvà bỏ,feedở lệnh dưới. - Gắn Fanpage vào ứng dụng (chạy trên VPS):
T=$(grep '^PAGE_TOKEN=' ~/.config/meta-bridge.env | cut -d= -f2-)
curl -s -X POST "https://graph.facebook.com/v26.0/<ID Fanpage>/subscribed_apps" -H "Authorization: Bearer $T" -d subscribed_fields=messages,feed; echo; unset T # thấy {"success":true}D6. Báo bạn khi khách để lại số điện thoại (không tốn tiền AI)
cat > ~/.hermes/scripts/khach-fanpage.sh <<'EOF'
#!/bin/bash
F=~/meta-bridge/khach-de-lai-sdt.txt; M=~/.hermes/scripts/.khach-fanpage.dem
[ -f "$F" ] || exit 0
n=$(wc -l < "$F"); c=$(cat "$M" 2>/dev/null || echo 0)
[ "$n" -gt "$c" ] && { echo "📞 Khách để lại số điện thoại trên Fanpage:"; tail -n $((n-c)) "$F"; }
echo "$n" > "$M"
EOF
chmod +x ~/.hermes/scripts/khach-fanpage.sh
hermes cron create "every 10m" --no-agent --script khach-fanpage.sh --deliver telegram --name "Khách Fanpage"D7. Thử và theo dõi
Dùng tài khoản Facebook có vai trò trong ứng dụng nhắn thử Fanpage và bình luận thử một bài. Xem nhật ký: journalctl --user -u meta-bridge -n 50. Tạm tắt bot: systemctl --user stop meta-bridge.
Quy định Messenger phải tuân thủ
- Nói rõ là trợ lý tự động ở đầu cuộc trò chuyện (cầu nối tự thêm câu giới thiệu khi khách nhắn lần đầu trong 24 giờ).
- Khung 24 giờ: chỉ trả lời trong 24 giờ kể từ tin nhắn gần nhất của khách. Bot trên chỉ trả lời khi khách nhắn, không tự nhắn trước.
- Nhãn HUMAN_AGENT (trả lời tới 7 ngày) chỉ dành cho người thật, không dùng cho bot. Từ 27/04/2026 Meta ngừng 3 nhãn tin nhắn CONFIRMED_EVENT_UPDATE, ACCOUNT_UPDATE, POST_PURCHASE_UPDATE.
- Bot phải phản hồi trong 30 giây; cầu nối chờ agent tối đa 90 giây — chọn model nhanh cho agent cskh.
- Thông tin khách là dữ liệu cá nhân: chỉ dùng để tư vấn, tuân thủ Luật Bảo vệ dữ liệu cá nhân (hiệu lực 01/01/2026).
Nguồn: Messenger webhooks · Page webhooks – feed · Send API · Messenger Policy · Human Agent · Access levels · Hermes API Server
Tài khoản Instagram chuyên nghiệp liên kết với Fanpage dùng được cùng cách làm qua Messenger API cho Instagram: thêm quyền instagram_basic, instagram_manage_messages, bật "Cho phép truy cập tin nhắn" trong cài đặt Instagram, đăng ký webhook đối tượng Instagram. Cầu nối cần chỉnh để xử lý sự kiện Instagram — nhờ agent Tổng đọc tài liệu Meta và đề xuất bản sửa, bạn duyệt trước khi chạy.
Báo cáo quảng cáo Instagram đã nằm trong số liệu Meta Ads (Cách B, C).
Nguồn: Messenger API for Instagram
Lỗi thường gặp
| Hiện tượng | Cách xử lý |
|---|---|
Lỗi (#200) / (#10) thiếu quyền | Tạo lại token có đủ quyền; với khách thật cần Advanced Access (duyệt ứng dụng) |
Error validating access token | Token hết hạn (60 ngày) hoặc bị thu hồi → tạo token mới, nhập lại bằng khung đỏ |
| Verify and save thất bại | Kiểm tra cầu nối đang chạy, Caddy có đường dẫn /meta/, VERIFY_TOKEN khớp, mở thử https://<tên miền>/meta/webhook |
| Khách nhắn không thấy bot trả lời | Ứng dụng chưa được duyệt; journalctl --user -u meta-bridge -n 50; agent cskh có API_SERVER_KEY chưa |
| Bot trả lời chậm | Chọn model nhanh hơn cho agent cskh; rút gọn kỹ năng của cskh |
| Báo cáo tiền sai đơn vị | Tài khoản VND: số trả về là đồng; tài khoản USD: chia 100 |
| Lỗi 613 (giới hạn tốc độ) | Giảm tần suất lịch báo cáo, giãn lệnh |
Tài liệu liên quan
- Hermes Agent · AI AgentTính năng Hermes Agent cho kinh doanh onlineBản đồ tính năng và kỹ năng của Hermes, cách áp dụng cho shop TMĐT, người chạy quảng cáo, bán hàng online, làm nội dung — kèm câu lệnh mẫu.
- Hermes Agent · AI AgentBộ mẫu dùng ngay cho Hermes AgentSOUL.md cho 4 agent (Tổng, ads, content, cskh), kỹ năng tư vấn bảng giá – FAQ, 30 câu giao việc theo nghề, 10 lịch tự động, kế hoạch 4 tuần đầu.
- Hermes Agent · AI AgentCài đặt Hermes Agent trên VPS an toànTừng bước: VPS bảo mật, cài Hermes, kết nối model AI, bot Telegram chỉ nghe lời bạn, chạy 24/7, sao lưu tự động, Google Sheets/Drive.
- AI AgentAI Agent là gì? Khác gì ChatGPT, chatbot, phần mềm tự động hoáAI Agent là gì, hoạt động ra sao, khác ChatGPT, chatbot và phần mềm tự động hoá thế nào; 1 ngày làm việc của Agent và 20 việc giao được ngay.
Xem tất cả tài liệu hướng dẫn →
Muốn có đội AI Agent chạy thật cho doanh nghiệp?
Khóa Meta Ads AI Automation do Nguyễn Đức – Chủ tịch Aduca Group đào tạo trực tiếp 3 ngày: dựng AI Agent quảng cáo, nội dung, chăm sóc khách trên chính tài khoản của bạn, chọn công cụ (OpenClaw hoặc Hermes) phù hợp với đội của bạn.
Nguồn tham khảo
Thông tin kỹ thuật trong bài lấy từ các tài liệu dưới đây (đã ghi nguồn ngay dưới từng mục). Phần diễn giải, ví dụ và quy trình là của Aduca.
- Meta – Graph API Changelog (v26.0, 29/07/2026)
- Meta – Giới thiệu Graph API v26 và Marketing API v26
- Meta – Ads MCP server: tổng quan
- Meta – Ads MCP server: bắt đầu (token Bearer, quyền)
- Meta – Ads MCP: công cụ tạo và quản lý (tạo ở trạng thái tạm dừng)
- Meta – Meta ads AI connectors (beta từ 29/04/2026)
- Meta – System users: tạo token, thời hạn 60 ngày
- Meta – Ads Insights API
- Meta – Tiền tệ (VND offset 1)
- Meta – Pages API: đăng bài, hẹn giờ 10 phút – 30 ngày
- Meta – Trả lời bình luận
- Meta – Messenger webhooks (X-Hub-Signature-256, phản hồi 5 giây)
- Meta – Page webhooks (feed: bình luận)
- Meta – Send API, khung 24 giờ, message tag ngừng từ 27/04/2026
- Meta – Messenger Platform Policy (thông báo là trợ lý tự động)
- Meta – Human Agent tag
- Meta – Standard / Advanced Access
- Meta – Danh sách quyền
- Meta – Messenger API cho Instagram
- Hermes – MCP (HTTP server, ${VAR}, lọc công cụ)
- Hermes – Skills (required_environment_variables)
- Hermes – API Server
- Hermes – Cron (no-agent script)
Lịch sử cập nhật
- 02/10/2026 — Bản đầu: Graph API v26.0, Meta Ads MCP (beta), quy định Messenger 2026.
Miễn trừ trách nhiệm
Tài liệu này thuộc bộ tài liệu nội bộ Aduca dùng để triển khai AI Agent và giảng dạy, được chia sẻ công khai miễn phí cho mục đích học tập. Nội dung do Aduca viết mới, đối chiếu với tài liệu chính thức của Hermes Agent (Hermes v0.21.5 (24/09/2026)) và của các nền tảng liên quan tại ngày cập nhật; những chỗ là nhận định riêng của Aduca được ghi rõ.
- Phần mềm của bên thứ ba: Hermes Agent là phần mềm mã nguồn mở (giấy phép MIT) do Nous Research phát triển. Aduca không phải đơn vị phát triển, đối tác hay đại diện của Nous Research. Telegram, Meta, Google, Zalo, TikTok, nhà cung cấp VPS và nhà cung cấp model AI là dịch vụ của bên thứ ba; lệnh, giao diện, giá và chính sách có thể thay đổi so với tài liệu.
- Trách nhiệm của người áp dụng: bạn tự chịu trách nhiệm về VPS, tài khoản, mã bí mật, dữ liệu, chi phí phát sinh (VPS, API AI, ngân sách quảng cáo) và mọi hành động do Agent của bạn thực hiện. Đọc kỹ từng lệnh trước khi chạy, sao lưu trước khi thay đổi lớn.
- Tuân thủ: khi Agent xử lý dữ liệu khách hàng, bạn có trách nhiệm tuân thủ điều khoản của từng nền tảng và pháp luật Việt Nam, bao gồm quy định về bảo vệ dữ liệu cá nhân. Các cách kết nối không chính thức (ví dụ Zalo cá nhân) có thể khiến tài khoản bị khoá.
- Giới hạn trách nhiệm: trong phạm vi pháp luật cho phép, Aduca không chịu trách nhiệm cho thiệt hại trực tiếp hay gián tiếp (mất dữ liệu, lộ thông tin, khoá tài khoản, chi phí quảng cáo, gián đoạn kinh doanh…) phát sinh từ việc sử dụng tài liệu.
- Không phải tư vấn chuyên sâu: tài liệu không thay thế đánh giá bảo mật chuyên nghiệp. Hệ thống quan trọng nên được chuyên gia rà soát riêng.
- Không thu thập thông tin bí mật: Aduca không bao giờ yêu cầu bạn gửi token, mật khẩu, mã OTP hay file bí mật.
- Bản quyền: © 2026 Công ty Cổ phần Giáo dục Aduca. Được trích dẫn khi ghi rõ nguồn aduca.vn. Hermes Agent, Nous Research và các nhãn hiệu nêu trên thuộc về chủ sở hữu tương ứng.