Tự động chia sẻ nội dung mạng xã hội từ dữ liệu sản phẩm

Bài hướng dẫn này sẽ chỉ cho bạn cách thiết lập một luồng công việc tự động trong n8n để lấy dữ liệu sản phẩm, xử lý hình ảnh, tạo nội dung được hỗ trợ bởi AI và đăng bài lên Fanpage.

Chuẩn bị

Trước khi bắt đầu, hãy đảm bảo bạn đã thiết lập những điều sau:

  • Một phiên bản n8n đã được cài đặt và đang chạy (tự host hoặc trên cloud).
  • Một Bot Telegram đã được thiết lập với một mã API (API token) qua BotFather.
  • Khóa API cho bất kỳ mô hình AI nào bạn sử dụng (OpenAI, Gemini, Claude, DeepSeek…).
  • Thông tin xác thực API của trang Facebook.

Hướng dẫn triển khai từng bước

1. Lấy dữ liệu từ Airtable
Các bước:
  1. Kích hoạt luồng công việc (Trigger Workflow):
    • Sử dụng một Telegram Trigger để bắt đầu luồng công việc một cách thủ công, hoặc.
    • Sử dụng một Schedule Trigger để chạy luồng công việc theo một khoảng thời gian đã định.
  2. Lấy dữ liệu từ Airtable (Fetch Data from Airtable):
    • Sử dụng node Airtable (Search) đầu tiên để lấy câu lệnh (prompt) cho bài đăng. Bạn có thể chèn prompt trực tiếp vào node n8n.
    • Sử dụng node Airtable (Search) thứ hai để lấy mô tả sản phẩm và hình ảnh từ Airtable.
    • Node Function để xử lý hình ảnh trong node AI Agent tiếp theo.
// Get input items
const items = $input.all();

return items.map(item => {
    // Handle array of URLs if they exist
    if (item.json.imageUrls && Array.isArray(item.json.imageUrls)) {
        return {
            json: {
                imageUrls: item.json.imageUrls.map(url => transformAirtableUrl(url))
            }
        };
    }
    
    // Handle Attachments from Airtable
    if (item.json.Attachment && Array.isArray(item.json.Attachment)) {
        return {
            json: {
                imageUrls: item.json.Attachment.map(att => transformAirtableUrl(att.url))
            }
        };
    }
    
    return item;
});

// Helper function to transform Airtable URLs
function transformAirtableUrl(url) {
    if (url && url.includes('airtableusercontent.com')) {
        const baseUrl = url.split('?')[0];
        return baseUrl + '?dl=1';
    }
    return url;
}

2. Xử lý dữ liệu bằng AI và chuẩn bị hình ảnh
  1. Phân tích hình ảnh bằng AI (Analyze Images with AI):
    • Tạo node AI Agent, đính kèm Mô hình AI bạn muốn để phân tích hình ảnh sản phẩm.
    • Lấy dữ liệu mẫu từ Airtable bằng node Airtable (Search) để sử dụng làm tài liệu tham khảo.
    • Phân tích ảnh (Analyze Photos): AI tạo ra nội dung dựa trên chi tiết hình ảnh và dữ liệu tham khảo.
  2. Chuẩn bị và xử lý hình ảnh (Prepare and Process Images):
    • Kết hợp ảnh bằng node Function để gộp nhiều hình ảnh.
const items = $('Get Data').all();

return items.reduce((acc, item) => {
  let urls = [];
  
  if (item.json.Attachment && Array.isArray(item.json.Attachment)) {
    urls = item.json.Attachment.map(att => ({
      url: att.url
    }));
  }
  
  return acc.concat(urls);
}, []);
  1. Node Loop Over Items để xử lý từng hình ảnh một cách riêng lẻ.
  2. Node Facebook Graph API để chuẩn bị hình ảnh cho mạng xã hội.
  3. Node Edit Fields để truy xuất thông tin media cho Facebook.
  4. Sử dụng node Function để xử lý thông tin hình ảnh sẵn sàng cho việc đăng bài.
// Get message from AI Agent node's output value
const message = $node['Analyze Photos'].json.output;

// Access the nested media_fbid from the json property
const attachedMedia = items.map(item => ({
    "media_fbid": item.json.media_fbid
}));

// Log for verification
console.log('AI Agent Message:', message);
console.log('Final attached_media:', attachedMedia);

return {
    json: {
        message: message,
        published: "true",
        attached_media: attachedMedia
    }
}

3. Đăng bài lên Fanpage và tương tác
  1. Đăng nội dung lên Fanpage Facebook (Post Content to Facebook Fanpage):
    • Sử dụng node Facebook Graph API để tải lên các hình ảnh đã xử lý và nội dung do AI tạo ra.
  2. Cập nhật trạng thái và kiểm tra các bài đăng chưa xuất bản trong Airtable (Update Status and Check Unpublished Posts in Airtable):
    • Sử dụng node Airtable (Create or Update) để cập nhật trạng thái nhằm đánh dấu bài đăng đã hoàn thành.
    • Thêm node Airtable (Search) để đếm các bài đăng chưa xuất bản và gửi thông báo qua Telegram.
  3. Tương tác với bài đăng (Interact with post):
    • Sử dụng node HTTP Request để thích và bình luận thông tin bạn muốn vào bài đăng, ví dụ: Thông tin liên hệ, v.v..
https://graph.facebook.com/v22.0/{{ post.id }}/comments
https://graph.facebook.com/v22.0/{{ post.id }}/likes
4. Xử lý lỗi & Tối ưu hóa
  • Đối với các bước quan trọng, hãy thêm một node Telegram (Send a text message) để gửi log/lỗi.
  • Thiết lập các cơ chế thử lại cho các lỗi của node.

Kết luận

Luồng công việc này tự động hóa việc tạo nội dung, xử lý hình ảnh và đăng bài trên mạng xã hội, đồng thời đảm bảo các log được gửi đến Telegram để theo dõi. Bằng cách sử dụng n8n, bạn có thể quản lý hiệu quả các tương tác trên mạng xã hội với sự hỗ trợ của AI.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top