Cách Sử Dụng Instagram Graph API Năm 2026

Ashley Innocent

Ashley Innocent

25 tháng 3 2026

Cách Sử Dụng Instagram Graph API Năm 2026

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

TÓM TẮT

Instagram Graph API cho phép các nhà phát triển quản lý tài khoản Instagram doanh nghiệp và nhà sáng tạo một cách có lập trình. API này sử dụng xác thực Facebook Login OAuth 2.0, các điểm cuối (endpoints) dựa trên GraphQL để xuất bản nội dung, thông tin chi tiết (insights), bình luận và nhắn tin, với giới hạn tốc độ là 200 lượt gọi mỗi giờ cho mỗi ứng dụng. Hướng dẫn này bao gồm thiết lập xác thực, xuất bản nội dung, truy xuất thông tin chi tiết, quản lý bình luận và các chiến lược tích hợp sản xuất.

Giới thiệu

Instagram có hơn 2 tỷ người dùng hoạt động hàng tháng, với hơn 200 triệu doanh nghiệp sử dụng tài khoản Instagram Business. Đối với các nhà phát triển xây dựng công cụ quản lý mạng xã hội, nền tảng phân tích hoặc tích hợp thương mại điện tử, việc tích hợp Instagram Graph API là điều cần thiết để tiếp cận lượng khán giả khổng lồ này.

Thực tế là: các nhà quản lý mạng xã hội xử lý hơn 10 tài khoản mất 20-30 giờ mỗi tuần cho việc đăng bài thủ công, trả lời bình luận và tổng hợp phân tích. Một tích hợp Instagram API vững chắc sẽ tự động hóa việc xuất bản nội dung, kiểm duyệt bình luận, phân tích tình cảm và báo cáo hiệu suất.

Hướng dẫn này sẽ đi sâu vào toàn bộ quy trình tích hợp Instagram Graph API. Bạn sẽ học cách xác thực bằng Facebook Login, xuất bản nội dung, thông tin chi tiết về phương tiện, quản lý bình luận, tích hợp webhook và các chiến lược triển khai sản xuất. Cuối cùng, bạn sẽ có một tích hợp Instagram sẵn sàng cho sản xuất.

💡
Apidog đơn giản hóa việc kiểm thử tích hợp API. Kiểm tra các điểm cuối Instagram của bạn, xác thực luồng OAuth, kiểm tra phản hồi API và gỡ lỗi các vấn đề xuất bản trong một không gian làm việc. Nhập các thông số kỹ thuật API, mô phỏng phản hồi và chia sẻ các tình huống kiểm thử với nhóm của bạn.
nút

Instagram Graph API là gì?

Instagram Graph API cung cấp quyền truy cập có lập trình vào các tài khoản Instagram doanh nghiệp và nhà sáng tạo thông qua Facebook Graph API. API xử lý:

Các tính năng chính

Tính năng Mô tả
API dựa trên đồ thị (Graph) Truy cập tài nguyên dựa trên nút
OAuth 2.0 Xác thực bằng Facebook Login
Webhooks Thông báo theo thời gian thực cho bình luận, đề cập
Giới hạn tốc độ 200 lượt gọi mỗi giờ cho mỗi ứng dụng
Xuất bản nội dung Ảnh, video, thước phim, băng chuyền
Thông tin chi tiết (Insights) Các chỉ số tương tác, phạm vi tiếp cận, lượt hiển thị
Kiểm duyệt Quản lý bình luận, đề cập, tin nhắn

Yêu cầu tài khoản

Loại tài khoản Quyền truy cập API
Tài khoản doanh nghiệp Toàn quyền truy cập API
Tài khoản nhà sáng tạo Toàn quyền truy cập API
Tài khoản cá nhân Không có quyền truy cập API (phải chuyển đổi)
Tài khoản riêng tư Thông tin chi tiết hạn chế

Tổng quan kiến trúc API

Instagram sử dụng cấu trúc Facebook Graph API:

https://graph.facebook.com/v18.0/

So sánh các phiên bản API

Phiên bản Trạng thái Ngày kết thúc Trường hợp sử dụng
v18.0 Hiện tại Tháng 3 năm 2026 Tất cả các tích hợp mới
v17.0 Không dùng nữa Tháng 1 năm 2026 Các tích hợp hiện có
v16.0 Đã ngừng hoạt động Đã hết hạn Không sử dụng

Facebook phát hành các phiên bản mới hàng quý. Luôn hướng tới phiên bản ổn định mới nhất.

Bắt đầu: Thiết lập xác thực

Bước 1: Tạo tài khoản nhà phát triển Facebook

Trước khi truy cập API:

  1. Truy cập Cổng nhà phát triển Facebook
  2. Đăng nhập bằng tài khoản Facebook
  3. Tạo một ứng dụng Facebook (loại: Business)
  4. Thêm sản phẩm Instagram Graph API

Bước 2: Liên kết tài khoản Instagram doanh nghiệp

Kết nối Instagram với Trang Facebook:

  1. Vào Cài đặt Trang Facebook > Instagram
  2. Nhấp vào Kết nối tài khoản
  3. Đăng nhập vào Instagram và ủy quyền
  4. Xác nhận tài khoản Instagram Business đã được liên kết

Lưu ý: Tài khoản Instagram cá nhân không thể sử dụng Graph API. Hãy chuyển đổi sang tài khoản Business hoặc Creator trong Cài đặt Instagram.

Bước 3: Lấy mã truy cập (Access Tokens)

Tạo mã truy cập người dùng (User Access Token):

const FB_APP_ID = process.env.FB_APP_ID;
const FB_APP_SECRET = process.env.FB_APP_SECRET;
const FB_REDIRECT_URI = process.env.FB_REDIRECT_URI;

// Build authorization URL
const getAuthUrl = (state) => {
  const params = new URLSearchParams({
    client_id: FB_APP_ID,
    redirect_uri: FB_REDIRECT_URI,
    scope: 'instagram_basic,instagram_content_publish,instagram_manage_comments,instagram_manage_insights,pages_read_engagement',
    state: state
  });

  return `https://www.facebook.com/v18.0/dialog/oauth?${params.toString()}`;
};

Các quyền yêu cầu

Quyền Mô tả
instagram_basic Thông tin hồ sơ cơ bản, danh sách phương tiện
instagram_content_publish Đăng ảnh, video, băng chuyền
instagram_manage_comments Đọc/ghi bình luận
instagram_manage_insights Truy cập dữ liệu phân tích
pages_read_engagement Truy cập Trang để xuất bản
pages_manage_posts Đăng lên Trang đã kết nối

Bước 4: Đổi mã token ngắn hạn lấy mã token dài hạn

Mã token ngắn hạn hết hạn sau 1 giờ. Đổi lấy mã token dài hạn (60 ngày):

const exchangeForLongLivedToken = async (shortLivedToken) => {
  const response = await fetch(
    `https://graph.facebook.com/v18.0/oauth/access_token?` +
    `grant_type=fb_exchange_token&` +
    `client_id=${FB_APP_ID}&` +
    `client_secret=${FB_APP_SECRET}&` +
    `fb_exchange_token=${shortLivedToken}`
  );

  const data = await response.json();
  return data;
};

// Usage
const longLivedToken = await exchangeForLongLivedToken(shortLivedToken);
console.log(`Token expires: ${new Date(longLivedToken.expires_at * 1000)}`);

Bước 5: Lấy ID tài khoản Instagram doanh nghiệp

Truy xuất tài khoản Instagram đã kết nối:

const getInstagramAccountId = async (pageId, accessToken) => {
  const response = await fetch(
    `https://graph.facebook.com/v18.0/${pageId}?fields=instagram_business_account&access_token=${accessToken}`
  );

  const data = await response.json();
  return data.instagram_business_account.id;
};

// Usage
const igAccountId = await getInstagramAccountId('12345678', accessToken);
console.log(`Instagram Account ID: ${igAccountId}`);

Bước 6: Thực hiện các cuộc gọi API đã xác thực

Tạo một client API có thể tái sử dụng:

const IG_BASE_URL = 'https://graph.facebook.com/v18.0';

const instagramRequest = async (endpoint, params = {}) => {
  const url = new URL(`${IG_BASE_URL}${endpoint}`);
  url.searchParams.append('access_token', process.env.INSTAGRAM_ACCESS_TOKEN);

  Object.entries(params).forEach(([key, value]) => {
    url.searchParams.append(key, value);
  });

  const response = await fetch(url.toString());

  if (!response.ok) {
    const error = await response.json();
    throw new Error(`Instagram API Error: ${error.error.message}`);
  }

  return response.json();
};

// Usage
const account = await instagramRequest(`/me`);
console.log(`Instagram Account: ${account.username}`);

Xuất bản nội dung

Đăng ảnh

Đăng ảnh lên Instagram:

const publishPhoto = async (igAccountId, photoData) => {
  // Bước 1: Tạo container phương tiện
  const containerResponse = await instagramRequest(`/${igAccountId}/media`, {
    method: 'POST',
    image_url: photoData.imageUrl,
    caption: photoData.caption,
    location_id: photoData.locationId, // Tùy chọn
    is_carousel_item: 'false'
  });

  const creationId = containerResponse.id;

  // Bước 2: Xuất bản phương tiện
  const publishResponse = await instagramRequest(`/${igAccountId}/media_publish`, {
    method: 'POST',
    creation_id: creationId
  });

  return publishResponse;
};

// Usage
const post = await publishPhoto({
  igAccountId: '17841400000000000',
  imageUrl: 'https://example.com/image.jpg',
  caption: 'Excited to announce our new product! 🚀 #launch #innovation',
  locationId: '123456789' // Tùy chọn
});

console.log(`Published media ID: ${post.id}`);

Đăng video

Đăng video lên Instagram:

const publishVideo = async (igAccountId, videoData) => {
  // Bước 1: Tạo container phương tiện
  const containerResponse = await instagramRequest(`/${igAccountId}/media`, {
    method: 'POST',
    video_url: videoData.videoUrl,
    cover_url: videoData.coverUrl, // Hình thu nhỏ tùy chọn
    caption: videoData.caption,
    media_type: 'REELS', // hoặc 'VIDEO' cho nguồn cấp dữ liệu
    share_to_feed: 'true' // Dành cho thước phim
  });

  const creationId = containerResponse.id;

  // Đợi video được xử lý (thăm dò cho đến khi trạng thái là EXPIRED hoặc FINISHED)
  await waitForVideoProcessing(creationId);

  // Bước 2: Xuất bản phương tiện
  const publishResponse = await instagramRequest(`/${igAccountId}/media_publish`, {
    method: 'POST',
    creation_id: creationId
  });

  return publishResponse;
};

const waitForVideoProcessing = async (creationId, maxAttempts = 30) => {
  for (let i = 0; i < maxAttempts; i++) {
    const status = await instagramRequest(`/${creationId}`);

    if (status.status_code === 'FINISHED') {
      return true;
    } else if (status.status_code === 'EXPIRED') {
      throw new Error('Video processing expired');
    }

    await new Promise(resolve => setTimeout(resolve, 2000));
  }

  throw new Error('Video processing timeout');
};

Đăng băng chuyền (Nhiều hình ảnh/Video)

Đăng nhiều phương tiện trong một bài đăng:

const publishCarousel = async (igAccountId, carouselData) => {
  const children = [];

  // Bước 1: Tạo từng mục băng chuyền
  for (const item of carouselData.items) {
    const containerResponse = await instagramRequest(`/${igAccountId}/media`, {
      method: 'POST',
      [item.type === 'video' ? 'video_url' : 'image_url']: item.url,
      caption: item.caption || '',
      is_carousel_item: 'true'
    });

    children.push(containerResponse.id);
  }

  // Bước 2: Tạo container băng chuyền với các mục con
  const carouselContainerResponse = await instagramRequest(`/${igAccountId}/media`, {
    method: 'POST',
    media_type: 'CAROUSEL',
    children: children.join(','),
    caption: carouselData.caption
  });

  const creationId = carouselContainerResponse.id;

  // Bước 3: Xuất bản băng chuyền
  const publishResponse = await instagramRequest(`/${igAccountId}/media_publish`, {
    method: 'POST',
    creation_id: creationId
  });

  return publishResponse;
};

// Usage
const carousel = await publishCarousel('17841400000000000', {
  caption: 'Product showcase 2026',
  items: [
    { type: 'image', url: 'https://example.com/img1.jpg', caption: 'Product 1' },
    { type: 'image', url: 'https://example.com/img2.jpg', caption: 'Product 2' },
    { type: 'video', url: 'https://example.com/vid1.mp4', caption: 'Demo' }
  ]
});

Loại phương tiện

Loại phương tiện Tham số Trường hợp sử dụng
IMAGE image_url, caption Bài đăng ảnh
VIDEO video_url, cover_url, caption Bài đăng video
REELS video_url, cover_url, caption, share_to_feed Thước phim (Reels)
CAROUSEL children (mảng), caption Nhiều phương tiện

Truy xuất phương tiện và thông tin chi tiết

Lấy phương tiện của người dùng

Truy xuất phương tiện đã xuất bản:

const getUserMedia = async (igAccountId, limit = 25) => {
  const response = await instagramRequest(`/${igAccountId}/media`, {
    fields: 'id,caption,media_type,media_url,permalink,timestamp,like_count,comments_count',
    limit: limit.toString()
  });

  return response;
};

// Usage
const media = await getUserMedia('17841400000000000');
media.data.forEach(item => {
  console.log(`${item.media_type}: ${item.caption}`);
  console.log(`Likes: ${item.like_count}, Comments: ${item.comments_count}`);
  console.log(`URL: ${item.permalink}`);
});

Lấy thông tin chi tiết về phương tiện

Truy xuất phân tích cho phương tiện cụ thể:

const getMediaInsights = async (mediaId) => {
  const response = await instagramRequest(`/${mediaId}/insights`, {
    fields: 'impressions,reach,engagement,saved,video_views,profile_visits,follows'
  });

  return response;
};

// Usage
const insights = await getMediaInsights('17890000000000000');
insights.data.forEach(metric => {
  console.log(`${metric.name}: ${metric.values[0].value}`);
});

Các chỉ số thông tin chi tiết có sẵn

Chỉ số Mô tả Loại phương tiện
impressions Tổng lượt xem Tất cả
reach Tài khoản duy nhất được tiếp cận Tất cả
engagement Lượt thích + bình luận + lượt lưu Tất cả
saved Số lần được lưu Tất cả
video_views Lượt xem video (3+ giây) Video, Thước phim (Reels)
plays Tổng số lượt phát video Video, Thước phim (Reels)
profile_visits Lượt truy cập hồ sơ từ bài đăng Tất cả
follows Lượt theo dõi từ bài đăng Tất cả
comments Số lượng bình luận Tất cả
like_count Số lượng lượt thích Tất cả

Lấy thông tin chi tiết tài khoản

Truy xuất phân tích tổng hợp tài khoản:

const getAccountInsights = async (igAccountId, metricNames, since = null, until = null) => {
  const params = {
    metric: metricNames.join(','),
    period: 'day'
  };

  if (since) params.since = since;
  if (until) params.until = until;

  const response = await instagramRequest(`/${igAccountId}/insights`, params);

  return response;
};

// Usage - Get last 30 days of metrics
const accountInsights = await getAccountInsights(
  '17841400000000000',
  ['impressions', 'reach', 'profile_views', 'email_contacts', 'website_clicks'],
  '2026-02-23',
  '2026-03-25'
);

accountInsights.data.forEach(metric => {
  console.log(`${metric.name}:`);
  metric.values.forEach(value => {
    console.log(`  ${value.end_time}: ${value.value}`);
  });
});

Các chỉ số cấp tài khoản

Chỉ số Mô tả
impressions Tổng lượt xem hồ sơ + nội dung
reach Tài khoản duy nhất được tiếp cận
profile_views Lượt truy cập hồ sơ
website_clicks Lượt nhấp vào liên kết trong tiểu sử
email_contacts Lượt nhấp nút email
phone_call_clicks Lượt nhấp nút điện thoại
text_message_clicks Lượt nhấp nút SMS
get_directions_clicks Lượt nhấp địa chỉ
follower_count Tổng số người theo dõi
audience_city Thành phố của người theo dõi
audience_country Quốc gia của người theo dõi
audience_gender_age Phân tích nhân khẩu học theo giới tính và độ tuổi

Quản lý bình luận

Lấy bình luận

Truy xuất bình luận trên phương tiện:

const getMediaComments = async (mediaId, limit = 50) => {
  const response = await instagramRequest(`/${mediaId}/comments`, {
    fields: 'id,text,timestamp,username,hidden',
    limit: limit.toString()
  });

  return response;
};

// Usage
const comments = await getMediaComments('17890000000000000');
comments.data.forEach(comment => {
  console.log(`@${comment.username}: ${comment.text}`);
  console.log(`Hidden: ${comment.hidden}`);
});

Trả lời bình luận

Đăng trả lời bình luận:

const replyToComment = async (mediaId, commentId, replyText) => {
  const response = await instagramRequest(`/${mediaId}/comments`, {
    method: 'POST',
    response_to: commentId,
    message: replyText
  });

  return response;
};

// Usage
const reply = await replyToComment(
  '17890000000000000',
  '17900000000000000',
  'Thank you for your interest! Check your DM for details.'
);
console.log(`Reply posted: ${reply.id}`);

Ẩn bình luận

Ẩn các bình luận không phù hợp:

const hideComment = async (commentId) => {
  const response = await instagramRequest(`/${commentId}`, {
    method: 'POST',
    hide: 'true'
  });

  return response;
};

// Usage
await hideComment('17900000000000000');
console.log('Comment hidden');

Xóa bình luận

Xóa bình luận spam hoặc không phù hợp:

const deleteComment = async (commentId) => {
  await instagramRequest(`/${commentId}`, {
    method: 'DELETE'
  });

  console.log('Comment deleted');
};

Webhooks

Cấu hình Webhooks

Thiết lập webhooks để nhận thông báo theo thời gian thực:

const subscribeToWebhooks = async (appId, pageId, accessToken) => {
  // Đăng ký sự kiện Instagram
  const response = await fetch(
    `https://graph.facebook.com/v18.0/${appId}/subscriptions`,
    {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        object: 'instagram',
        callback_url: 'https://myapp.com/webhooks/instagram',
        verify_token: process.env.WEBHOOK_VERIFY_TOKEN,
        access_token: accessToken,
        fields: ['comments', 'mentions', 'message_reactions']
      })
    }
  );

  return response.json();
};

Xử lý Webhooks

const express = require('express');
const app = express();

// Verify webhook subscription
app.get('/webhooks/instagram', (req, res) => {
  const mode = req.query['hub.mode'];
  const token = req.query['hub.verify_token'];
  const challenge = req.query['hub.challenge'];

  if (mode === 'subscribe' && token === process.env.WEBHOOK_VERIFY_TOKEN) {
    console.log('Webhook verified');
    res.status(200).send(challenge);
  } else {
    res.status(403).send('Verification failed');
  }
});

// Handle webhook events
app.post('/webhooks/instagram', express.json(), async (req, res) => {
  const body = req.body;

  if (body.object !== 'instagram') {
    return res.status(404).send('Not found');
  }

  for (const entry of body.entry) {
    const igId = entry.id;
    const changes = entry.changes;

    for (const change of changes) {
      switch (change.field) {
        case 'comments':
          await handleNewComment(change.value);
          break;
        case 'mentions':
          await handleMention(change.value);
          break;
        case 'message_reactions':
          await handleReaction(change.value);
          break;
      }
    }
  }

  res.status(200).send('OK');
});

async function handleNewComment(data) {
  console.log(`New comment on media ${data.media_id}`);
  console.log(`From: ${data.from_id}`);
  console.log(`Text: ${data.text}`);

  // Auto-reply or moderate
  if (isSpam(data.text)) {
    await hideComment(data.id);
  }
}

Các trường Webhook

Trường Kích hoạt
comments Bình luận mới hoặc trả lời
mentions Người dùng đề cập đến tài khoản
message_reactions Phản ứng với tin (Story)
story_status Trả lời/xem tin (Story)

Giới hạn tốc độ

Hiểu về giới hạn tốc độ

Instagram Graph API áp dụng:

Vượt quá giới hạn sẽ dẫn đến lỗi HTTP 400 với mã lỗi phụ 613.

Các phương pháp hay nhất về giới hạn tốc độ

  1. Lưu trữ phản hồi (Cache responses) - Không truy xuất lại dữ liệu không thay đổi
  2. Yêu cầu theo lô (Batch requests) - Sử dụng mở rộng trường để giảm số lượt gọi
  3. Sử dụng webhooks - Cập nhật theo thời gian thực thay vì thăm dò
  4. Thực hiện backoff - Backoff theo cấp số nhân khi gặp lỗi 429
const makeRateLimitedRequest = async (endpoint, params = {}, maxRetries = 3) => {
  for (let attempt = 1; attempt <= maxRetries; attempt++) {
    try {
      const response = await instagramRequest(endpoint, params);
      return response;
    } catch (error) {
      if (error.message.includes('429') && attempt < maxRetries) {
        const delay = Math.pow(2, attempt) * 1000;
        console.log(`Rate limited. Retrying in ${delay}ms...`);
        await new Promise(resolve => setTimeout(resolve, delay));
      } else {
        throw error;
      }
    }
  }
};

Khắc phục sự cố thường gặp

Vấn đề: Mã token OAuth đã hết hạn

Triệu chứng: Nhận các lỗi “Invalid OAuth access token”.

Giải pháp:

  1. Triển khai làm mới mã token trước khi hết hạn 60 ngày
  2. Lưu trữ ngày hết hạn của mã token và cảnh báo trước khi hết hạn
  3. Xác thực lại người dùng nếu mã token đã hết hạn

Vấn đề: Xuất bản phương tiện thất bại

Triệu chứng: Xuất bản trả về lỗi.

Giải pháp:

  1. Xác minh URL hình ảnh có thể truy cập công khai (không yêu cầu xác thực)
  2. Kiểm tra định dạng hình ảnh (JPEG, PNG) và kích thước (<8MB)
  3. Đảm bảo video có định dạng MP4, <1GB, <90 giây
  4. Đợi video được xử lý trước khi xuất bản

Vấn đề: Thông tin chi tiết không khả dụng

Triệu chứng: API Insights trả về dữ liệu trống.

Giải pháp:

  1. Xác minh tài khoản là Business hoặc Creator (không phải cá nhân)
  2. Đợi 24-48 giờ để thông tin chi tiết được điền đầy đủ
  3. Kiểm tra tài khoản có hoạt động đủ không

Danh sách kiểm tra triển khai sản phẩm

Trước khi đưa vào hoạt động:


Các trường hợp sử dụng thực tế

Công cụ lên lịch đăng bài trên mạng xã hội

Một nền tảng tiếp thị tự động hóa việc đăng bài:

Triển khai chính:

Tự động hóa dịch vụ khách hàng

Một thương hiệu thương mại điện tử tự động hóa phản hồi bình luận:

Triển khai chính:

Kết luận

Instagram Graph API cung cấp quyền truy cập toàn diện vào các tính năng của tài khoản Instagram Business và Creator. Những điểm chính cần lưu ý:

nút

Phần hỏi đáp

Làm cách nào để truy cập Instagram API?

Tạo tài khoản nhà phát triển Facebook, tạo ứng dụng Business, thêm sản phẩm Instagram Graph API và xác thực qua Facebook Login với các quyền cần thiết.

Tôi có thể tự động đăng bài lên Instagram không?

Có, sử dụng Content Publishing API để đăng ảnh, video, thước phim và băng chuyền lên tài khoản Business và Creator.

Những loại tài khoản Instagram nào hỗ trợ API?

Chỉ tài khoản Business và Creator mới có toàn quyền truy cập API. Tài khoản cá nhân có quyền truy cập API hạn chế hoặc không có.

Làm cách nào để lấy bình luận từ Instagram?

Sử dụng điểm cuối Comments (/{media-id}/comments) để truy xuất bình luận trên phương tiện cụ thể. Webhooks cung cấp thông báo theo thời gian thực.

Giới hạn tốc độ của Instagram là gì?

Instagram Graph API cho phép 200 lượt gọi mỗi giờ cho mỗi ứng dụng. Một số điểm cuối có thêm giới hạn cho mỗi người dùng.

Tôi có thể đăng Tin (Stories) qua API không?

Có, Tin (Stories) có thể được đăng bằng quy trình xuất bản nội dung tương tự như bài đăng trên nguồn cấp dữ liệu.

Làm cách nào để truy cập Instagram Insights?

Yêu cầu quyền instagram_manage_insights trong quá trình OAuth. Sử dụng điểm cuối Insights để truy xuất các chỉ số cho phương tiện và tài khoản.

Tôi có thể tự động trả lời bình luận không?

Có, sử dụng Comments API để đăng trả lời. Nhiều thương hiệu sử dụng tính năng này để tự động trả lời dịch vụ khách hàng.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API