Kısaca
Instagram Graph API, geliştiricilere Instagram İşletme ve İçerik Üreticisi hesaplarını programlı olarak yönetme imkanı sağlar. İçerik yayınlama, analizler, yorum yönetimi ve mesajlaşma gibi işlemler için Facebook Girişi (OAuth 2.0) kimlik doğrulaması ve GraphQL tabanlı uç noktalar kullanılır. Saatte 200 çağrı hız sınırı bulunur. Bu rehberde kimlik doğrulama kurulumu, içerik yayınlama, analizleri çekme, yorum yönetimi ve üretim entegrasyon stratejileri adım adım anlatılmaktadır.
Giriş
Instagram'ın 2 milyardan fazla aylık aktif kullanıcısı ve 200 milyondan fazla işletme hesabı var. Eğer sosyal medya yönetim araçları, analiz platformları veya e-ticaret entegrasyonları geliştiriyorsanız, Instagram Graph API entegrasyonu kaçınılmazdır.
Özellikle çoklu hesap yöneten sosyal medya yöneticileri için haftalık 20-30 saatlik manuel iş yükü (gönderi, yorum, analiz) API entegrasyonuyla kolayca otomatikleştirilebilir. Sağlam bir Instagram API entegrasyonu; içerik yayınlama, yorum denetimi, duygu analizi ve performans raporlamasını otomatize eder.
Bu rehberde, Instagram Graph API entegrasyonu için kimlik doğrulama, içerik yayınlama, analiz çekme, yorum yönetimi, webhook entegrasyonu ve üretim dağıtım stratejileri pratik olarak gösterilmektedir. Yazının sonunda üretime hazır bir Instagram entegrasyonuna sahip olacaksınız.
💡 Apidog, API entegrasyon testini kolaylaştırır. Instagram uç noktalarınızı test edin, OAuth akışlarını doğrulayın, API yanıtlarını inceleyin ve yayınlama sorunlarını tek panelden ayıklayın. API şemalarını içe aktarın, yanıtları taklit edin ve test senaryolarını ekibinizle paylaşın.
Instagram Graph API Nedir?
Instagram Graph API, Facebook Graph API altyapısı üzerinden Instagram İşletme ve İçerik Üreticisi hesaplarına programlı erişim sağlar. API ile:
- İçerik yayınlama (fotoğraf, video, Reels, carousel)
- Medya analizleri ve istatistikleri
- Yorum/bahsetme yönetimi
- Doğrudan mesajlaşma (Messenger Platform ile)
- Hashtag ve bahsetme takibi
- Hikaye yönetimi
- Alışveriş ve ürün etiketleme
gibi işlemler yapılabilir.
Temel Özellikler
| Özellik | Açıklama |
|---|---|
| Graf tabanlı API | Düğüm tabanlı kaynak erişimi |
| OAuth 2.0 | Facebook Girişi kimlik doğrulaması |
| Web Kancaları | Yorumlar, bahsetmeler için gerçek zamanlı bildirimler |
| Hız Sınırlaması | Uygulama başına saatte 200 çağrı |
| İçerik Yayınlama | Fotoğraf, video, Reels, carousel gönderileri |
| Analizler | Etkileşim, erişim, gösterim metrikleri |
| Denetleme | Yorum, bahsetme, mesaj yönetimi |
Hesap Gereksinimleri
| Hesap Türü | API Erişimi |
|---|---|
| İşletme Hesabı | Tam API erişimi |
| İçerik Üreticisi Hesabı | Tam API erişimi |
| Kişisel Hesap | API erişimi yok (dönüştürülmeli) |
| Gizli Hesap | Sınırlı analizler |
API Mimarisinin Genel Bakışı
Temel istek URL yapısı:
https://graph.facebook.com/v18.0/
Karşılaştırılan API Sürümleri
| Sürüm | Durum | Bitiş Tarihi | Kullanım Durumu |
|---|---|---|---|
| v18.0 | Mevcut | Mart 2026 | Tüm yeni entegrasyonlar |
| v17.0 | Deprecated | Ocak 2026 | Mevcut entegrasyonlar |
| v16.0 | Emekli | Süresi doldu | Kullanmayın |
Her zaman en güncel kararlı sürümü hedefleyin.
Başlarken: Kimlik Doğrulama Kurulumu
Adım 1: Facebook Geliştirici Hesabı Oluşturun
- Facebook Geliştiriciler Portalı’na gidin.
- Facebook hesabınızla giriş yapın.
- Yeni bir Facebook Uygulaması oluşturun (tip: İşletme).
- Instagram Graph API ürününü ekleyin.
Adım 2: Instagram İşletme Hesabını Bağlayın
- Facebook Sayfanızda Ayarlar > Instagram bölümüne gidin.
- Hesabı Bağla butonunu tıklayın.
- Instagram’a giriş yapıp yetkilendirme verin.
- Bağlantının başarılı olduğunu doğrulayın.
Kişisel Instagram hesapları API erişimi alamaz. Gerekirse hesabı İşletme/İçerik Üreticisi’ne çevirin.
Adım 3: Erişim Belirteçlerini Alın
Kullanıcı Erişim Belirteci oluşturmak için:
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;
// Yetkilendirme URL'si oluştur
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()}`;
};
Gerekli İzinler
| İzin | Açıklama |
|---|---|
instagram_basic |
Temel profil ve medya |
instagram_content_publish |
İçerik yayınlama |
instagram_manage_comments |
Yorum okuma/yazma |
instagram_manage_insights |
Analiz verisi erişimi |
pages_read_engagement |
Sayfa erişimi |
pages_manage_posts |
Bağlı sayfaya yayınlama |
Adım 4: Belirteci Uzun Ömürlü Belirteçle Değiştirin
Kısa ömürlü belirteçlerin süresi 1 saat. 60 günlük uzun ömürlü belirteç için:
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;
};
// Kullanım
const longLivedToken = await exchangeForLongLivedToken(shortLivedToken);
console.log(`Token expires: ${new Date(longLivedToken.expires_at * 1000)}`);
Adım 5: Instagram İşletme Hesabı Kimliğini Alın
Instagram hesabı kimliğini almak için:
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;
};
// Kullanım
const igAccountId = await getInstagramAccountId('12345678', accessToken);
console.log(`Instagram Account ID: ${igAccountId}`);
Adım 6: Kimliği Doğrulanmış API Çağrıları
Yeniden kullanılabilir bir API istemcisi:
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();
};
// Kullanım
const account = await instagramRequest(`/me`);
console.log(`Instagram Account: ${account.username}`);
İçerik Yayınlama
Fotoğraf Yayınlama
Instagram'a fotoğraf göndermek için:
const publishPhoto = async (igAccountId, photoData) => {
// 1. Medya konteyneri oluştur
const containerResponse = await instagramRequest(`/${igAccountId}/media`, {
method: 'POST',
image_url: photoData.imageUrl,
caption: photoData.caption,
location_id: photoData.locationId, // Opsiyonel
is_carousel_item: 'false'
});
const creationId = containerResponse.id;
// 2. Medyayı yayınla
const publishResponse = await instagramRequest(`/${igAccountId}/media_publish`, {
method: 'POST',
creation_id: creationId
});
return publishResponse;
};
// Kullanım
const post = await publishPhoto({
igAccountId: '17841400000000000',
imageUrl: 'https://example.com/image.jpg',
caption: 'Yeni ürünümüz! 🚀 #launch',
locationId: '123456789'
});
console.log(`Published media ID: ${post.id}`);
Video Yayınlama
Instagram'a video göndermek için:
const publishVideo = async (igAccountId, videoData) => {
// 1. Medya konteyneri oluştur
const containerResponse = await instagramRequest(`/${igAccountId}/media`, {
method: 'POST',
video_url: videoData.videoUrl,
cover_url: videoData.coverUrl, // Kapak görseli opsiyonel
caption: videoData.caption,
media_type: 'REELS', // veya 'VIDEO'
share_to_feed: 'true'
});
const creationId = containerResponse.id;
// Video işlenmesini bekle
await waitForVideoProcessing(creationId);
// 2. Yayınla
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');
};
Döngüsel Gönderi Yayınlama (Carousel)
Çoklu medya içeren gönderi yayınlamak için:
const publishCarousel = async (igAccountId, carouselData) => {
const children = [];
// 1. Her medya için konteyner oluştur
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);
}
// 2. Carousel konteyneri oluştur
const carouselContainerResponse = await instagramRequest(`/${igAccountId}/media`, {
method: 'POST',
media_type: 'CAROUSEL',
children: children.join(','),
caption: carouselData.caption
});
const creationId = carouselContainerResponse.id;
// 3. Yayınla
const publishResponse = await instagramRequest(`/${igAccountId}/media_publish`, {
method: 'POST',
creation_id: creationId
});
return publishResponse;
};
// Kullanım
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' }
]
});
Medya Türleri
| Medya Türü | Parametreler | Kullanım |
|---|---|---|
IMAGE |
image_url, başlık | Fotoğraf gönderisi |
VIDEO |
video_url, kapak_url, başlık | Video gönderisi |
REELS |
video_url, kapak_url, başlık, akışta_paylaş | Reels |
CAROUSEL |
children (dizi), başlık | Çoklu medya |
Medya ve Analizleri Alma
Kullanıcı Medyasını Alma
Kullanıcının yayınlanan medyasını çekmek için:
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;
};
// Kullanım
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}`);
});
Medya Analizlerini Alma
Bir medya için analizleri çekmek:
const getMediaInsights = async (mediaId) => {
const response = await instagramRequest(`/${mediaId}/insights`, {
fields: 'impressions,reach,engagement,saved,video_views,profile_visits,follows'
});
return response;
};
// Kullanım
const insights = await getMediaInsights('17890000000000000');
insights.data.forEach(metric => {
console.log(`${metric.name}: ${metric.values[0].value}`);
});
Mevcut Analiz Metrikleri
| Metrik | Açıklama | Medya Türleri |
|---|---|---|
impressions |
Toplam görüntülenme | Tümü |
reach |
Benzersiz erişim | Tümü |
engagement |
Beğeni + yorum + kaydetme | Tümü |
saved |
Kaydetme sayısı | Tümü |
video_views |
3+ sn video izlenme | Video, Reels |
plays |
Toplam video oynatma | Video, Reels |
profile_visits |
Profil ziyaretleri | Tümü |
follows |
Gönderiden takip kazananlar | Tümü |
comments |
Yorum sayısı | Tümü |
like_count |
Beğeni sayısı | Tümü |
Hesap Analizlerini Alma
Toplu hesap analizleri çekmek için:
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;
};
// Kullanım - Son 30 gün:
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}`);
});
});
Hesap Düzeyi Metrikleri
| Metrik | Açıklama |
|---|---|
impressions |
Toplam profil + içerik görüntülemesi |
reach |
Benzersiz erişilen hesaplar |
profile_views |
Profil ziyaretleri |
website_clicks |
Bio link tıklamaları |
email_contacts |
E-posta butonu tıklama |
phone_call_clicks |
Telefon butonu tıklama |
text_message_clicks |
SMS butonu tıklama |
get_directions_clicks |
Konum tıklamaları |
follower_count |
Toplam takipçi |
audience_city |
Şehir bazlı takipçi |
audience_country |
Ülke bazlı takipçi |
audience_gender_age |
Demografi dağılımı |
Yorum Yönetimi
Yorumları Alma
Bir medya üzerindeki yorumları çekmek için:
const getMediaComments = async (mediaId, limit = 50) => {
const response = await instagramRequest(`/${mediaId}/comments`, {
fields: 'id,text,timestamp,username,hidden',
limit: limit.toString()
});
return response;
};
// Kullanım
const comments = await getMediaComments('17890000000000000');
comments.data.forEach(comment => {
console.log(`@${comment.username}: ${comment.text}`);
console.log(`Hidden: ${comment.hidden}`);
});
Yorumlara Yanıtlama
Bir yoruma yanıt göndermek için:
const replyToComment = async (mediaId, commentId, replyText) => {
const response = await instagramRequest(`/${mediaId}/comments`, {
method: 'POST',
response_to: commentId,
message: replyText
});
return response;
};
// Kullanım
const reply = await replyToComment(
'17890000000000000',
'17900000000000000',
'İlginiz için teşekkürler! Detaylar için DM kutunuzu kontrol edin.'
);
console.log(`Reply posted: ${reply.id}`);
Yorumları Gizleme
Uygunsuz bir yorumu gizlemek için:
const hideComment = async (commentId) => {
const response = await instagramRequest(`/${commentId}`, {
method: 'POST',
hide: 'true'
});
return response;
};
// Kullanım
await hideComment('17900000000000000');
console.log('Comment hidden');
Yorumları Silme
Bir yorumu silmek için:
const deleteComment = async (commentId) => {
await instagramRequest(`/${commentId}`, {
method: 'DELETE'
});
console.log('Comment deleted');
};
Web Kancaları
Web Kancalarını Yapılandırma
Instagram olayları için webhook kaydı:
const subscribeToWebhooks = async (appId, pageId, accessToken) => {
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();
};
Web Kancalarını İşleme
Webhook doğrulama ve olay işleme örneği:
const express = require('express');
const app = express();
// Webhook doğrulama
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) {
res.status(200).send(challenge);
} else {
res.status(403).send('Verification failed');
}
});
// Olay işleme
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}`);
if (isSpam(data.text)) {
await hideComment(data.id);
}
}
Web Kancası Alanları
| Alan | Tetikleyici |
|---|---|
comments |
Yeni yorum/yanıt |
mentions |
Hesaptan bahsetme |
message_reactions |
Hikayeye tepki |
story_status |
Hikaye görüntüleme/yanıt |
Hız Sınırlaması
Hız Sınırlarını Anlama
Instagram Graph API'de:
- Uygulama başına saatte 200 çağrı (tüm kullanıcılar için toplam)
- İşletme Keşfi: Kullanıcı başına saatte 200 çağrı
- İçerik Yayınlama: Türüne göre farklı limitler
Aşımda HTTP 400, hata alt kodu 613 döner.
Hız Sınırlaması En İyi Uygulamalar
- Yanıtları önbelleğe alın – Değişmeyen verileri tekrar çekmeyin.
-
Toplu istekler yapın –
fieldsparametresi ile. - Web kancalarını kullanın – Yoklama yerine gerçek zamanlı.
- Gecikme uygulayın – 429 hatasında üstel geri çekilme.
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;
}
}
}
};
Sık Karşılaşılan Sorunları Giderme
Sorun: OAuth Belirteci Süresi Doldu
Belirti: "Geçersiz OAuth erişim belirteci" hatası.
Çözüm:
- 60 gün dolmadan belirteç yenilemeyi uygulayın
- Belirteç bitiş tarihini takip edip uyarı gösterin
- Süresi dolduysa kullanıcıyı yeniden doğrulayın
Sorun: Medya Yayınlama Başarısız
Belirti: Yayınlama hatası.
Çözüm:
- Görsel URL’sinin herkese açık olduğundan emin olun
- Formatın (JPEG/PNG) ve boyutun (<8MB) uygunluğunu kontrol edin
- Video: MP4, <1GB, <90 sn olmalı
- Video işlenmesini tamamlamadan yayınlama yapmayın
Sorun: Analizler Mevcut Değil
Belirti: Analiz API’si boş veri döndürüyor.
Çözüm:
- Hesabın İşletme/İçerik Üreticisi olduğundan emin olun
- Analizlerin oluşması için 24-48 saat bekleyin
- Hesapta yeterli etkileşim olduğundan emin olun
Üretim Dağıtım Kontrol Listesi
Canlıya geçmeden önce:
- [ ] Tüm test hesaplarını İşletme/İçerik Üreticisi’ne çevirin
- [ ] Uzun ömürlü belirteçlerle OAuth 2.0 uygulayın
- [ ] Belirteçleri şifreli saklayın
- [ ] Otomatik belirteç yenilemeyi ekleyin
- [ ] Webhook uç noktalarını HTTPS ile sunun
- [ ] Hız sınırı ve istek kuyruğu ekleyin
- [ ] Kapsamlı hata yönetimi uygulayın
- [ ] API çağrıları için loglama ekleyin
- [ ] İçerik denetim iş akışlarını oluşturun
- [ ] Farklı hesap türleriyle test edin
Gerçek Dünya Kullanım Durumları
Sosyal Medya Zamanlama Aracı
Bir pazarlama platformunda:
- Zorluk: 50+ müşteri hesabına manuel gönderim
- Çözüm: Instagram API ile planlanmış otomatik yayınlama
- Sonuç: %80 zaman tasarrufu, tutarlı gönderi takvimi
Uygulama başlıkları:
- Sürükle-bırak takvim
- Fotoğraf, video, carousel otomatik yayını
- İçerik tabanlı hashtag önerisi
Müşteri Hizmetleri Otomasyonu
Bir e-ticaret markasında:
- Zorluk: Yavaş müşteri yanıtları
- Çözüm: Webhook ile otomatik sıkça sorulan sorular yanıtı
- Sonuç: Ortalama 5 dk yanıt süresi, %90 memnuniyet
Uygulama başlıkları:
- Anahtar kelime tespiti (fiyat, stok, gönderim)
- Ürün bağlantılı otomatik yanıt
- Karmaşık soruları operatöre yönlendirme
Sonuç
Instagram Graph API ile:
- 60 günlük belirteçlerle Facebook Girişi OAuth 2.0 kimlik doğrulama
- Fotoğraf, video, Reels, carousel içerik yayınlama
- Etkileşim, erişim, demografi analizleri API’sı
- Yorum/bahsetme için gerçek zamanlı webhook desteği
- Uygulama başına saatte 200 çağrı hız sınırı – dikkatli yönetim gerekli
- Apidog ile API test ve iş birliği kolaylaşır
Sıkça Sorulan Sorular
Instagram API'ye nasıl erişebilirim?
Facebook Geliştirici hesabı açıp, İşletme uygulaması oluşturun. Instagram Graph API ürününü ekleyip gerekli izinlerle Facebook Girişi üzerinden kimlik doğrulama yapın.
Instagram'a otomatik gönderi yapabilir miyim?
Evet, İşletme ve İçerik Üreticisi hesaplarında fotoğraf, video, Reels ve carousel gönderileri otomatik olarak API ile yayınlayabilirsiniz.
Hangi Instagram hesapları API’yi destekler?
Sadece İşletme ve İçerik Üreticisi hesapları tam API erişimi sağlar. Kişisel hesapların API erişimi yoktur.
Instagram’dan yorumları nasıl alırım?
Belirli bir medyada yorumları almak için /{media-id}/comments uç noktasını kullanın. Webhook ile gerçek zamanlı bildirim de alabilirsiniz.
Instagram hız sınırları nelerdir?
Saatte uygulama başına 200 çağrı hakkınız var. Bazı uç noktalarda kullanıcı başına ek limitler olabilir.
API ile Hikaye (Story) yayınlayabilir miyim?
Evet, hikayeler için de içerik yayınlama akışı aynıdır.
Instagram analizlerine nasıl erişirim?
OAuth sırasında instagram_manage_insights iznini alın. Medya ve hesap metrikleri için analiz uç noktalarını kullanın.
Yorumlara otomatik yanıt verebilir miyim?
Evet, yorum API’si ile otomatik yanıt gönderebilirsiniz. Birçok marka bunu müşteri hizmetleri otomasyonu için kullanır.
Top comments (0)