Instagram DM Entegrasyonu Kurulumu (Meta – Instagram Login)
Bu sayfa, Instagram Direkt Mesajlarını Workcube WAI Mesaj Kutusuna bağlamak için yapılması gerekenleri adım adım anlatır. Bağlantı, Meta'nın Instagram API with Instagram Login yöntemiyle kurulur. Bu yöntemde Facebook Sayfası gerekmez; Instagram hesabı doğrudan Meta uygulamasına bağlanır.
1. Ön koşullar
- Workcube'e dışarıdan HTTPS ile erişilebiliyor olmalıdır. Meta, gelen mesajları bu adrese gönderir.
- Ayarlar WAI Çok Kanallı İletişim ekranına (settings.omni_channels) erişim yetkiniz olmalıdır.
- Mesajları okuyacak kullanıcıların WAI Mesaj Kutusu (workspace.meta_inbox) ekranına yetkisi olmalıdır.
- Bir Meta for Developers hesabı (developers.facebook.com) gerekir. WhatsApp için oluşturulmuş bir Meta uygulaması varsa aynısı kullanılabilir.
- Bağlanacak Instagram hesabının şifresine erişiminiz olmalıdır (token üretirken bu hesapla giriş yapılır).
Not: Token, App Secret gibi gizli değerler yalnızca Workcube ayar ekranına girilir. E-posta, sohbet veya destek kaydına yazılmamalı, ekran görüntüsünde görünmemelidir.
2. Kurulum akışına genel bakış
- Instagram hesabını Profesyonel hesaba çevirin ve mesaj erişimine izin verin (Bölüm A).
- Meta uygulamasına Instagram kullanım senaryosunu ekleyin, rolleri tanımlayın (Bölüm B).
- Instagram App Secret, Access Token ve hesap kimliğini alın (Bölüm C).
- Değerleri Workcube ayar ekranına girip kaydedin (Bölüm D).
- Webhook'u doğrulayın ve aboneliği açın (Bölüm E).
- Uygulamayı yayınlayın (Bölüm F) ve token yenileme görevini tanımlayın (Bölüm G).
Sıralama önemlidir: Webhook doğrulaması (Bölüm E), Workcube'de ayarlar kaydedildikten sonra yapılmalıdır.
A. Instagram Hesabının Hazırlanması
A1. Profesyonel hesaba geçiş
- Instagram mobil uygulamasında profilinize gidin, sağ üstteki menüden Ayarlar ve hareketler'i açın.
- Hesap türü ve araçlar → Profesyonel hesaba geç adımını izleyin.
- İşletme (Business) veya İçerik üreticisi (Creator) türünü seçin. Facebook Sayfası bağlamanız gerekmez.
A2. Mesaj erişimine izin verme
- Ayarlar ve hareketler → Mesajlar ve hikaye yanıtları → Mesaj kontrolleri altına gidin.
- Bağlı araçlar bölümünde Mesajlara erişim izni ver seçeneğini açın.
Not: Bu seçenek kapalıysa her şey doğru kurulmuş olsa bile mesajlar Workcube'e gelmez.
B. Meta Uygulamasının Hazırlanması
B1. Instagram kullanım senaryosunu ekleme
- developers.facebook.com → My Apps (Uygulamalarım) bölümüne girin.
- Mevcut uygulamanızı açın ya da Create App ile yeni bir uygulama oluşturun. WhatsApp ile aynı uygulamayı kullanmak sorun değildir.
- Sol menüden Use cases (Kullanım senaryoları) → Add use case seçin.
- Manage messaging & content on Instagram senaryosunu ekleyin.
- Senaryonun Customize ekranında API setup with Instagram login sekmesini açın. Sonraki adımların tamamı bu ekranda yapılır.
B2. Instagram Tester rolü verme
Uygulama yayınlanmadan (App Review tamamlanmadan) önce yalnızca uygulamada rolü olan Instagram hesapları çalışır. Token üretilecek işletme hesabına ve test için DM atacak hesaplara rol verilmelidir.
- Sol menüden App roles → Roles ekranını açın.
- Add People → Instagram Tester seçin ve Instagram kullanıcı adını girin.
- Davet edilen hesapla Instagram'a girin: Ayarlar → Web sitesi izinleri / Uygulamalar ve web siteleri → Test kullanıcısı davetleri altından daveti kabul edin. Davet, web tarayıcısından instagram.com üzerinden daha kolay görünür.
Not: Rol verilmemiş ya da davet kabul edilmemiş bir hesapla token üretmeye çalışılırsa "Yetersiz Geliştirici Görevi" (Insufficient developer role) hatası alınır.
C. Gerekli Değerlerin Alınması
C1. Instagram App Secret
- API setup with Instagram login ekranında 3. Set up Instagram business login → Business login settings bölümünü açın.
- Burada görünen Instagram app secret değerini kopyalayın (Show ile açılır).
Not: Bu değer, App settings → Basic altındaki Meta App Secret ile aynı değildir. Instagram mesajlarının imzası bu değerle doğrulanır; yanlış girilirse tüm mesajlar reddedilir.
C2. Instagram Access Token
- Aynı ekranda 1. Generate access tokens bölümünde Add account butonuna basın.
- Açılan pencerede bağlanacak Instagram işletme hesabıyla giriş yapın.
- instagram_business_basic ve instagram_business_manage_messages izinlerini onaylayın.
- Hesap satırı listeye eklendikten sonra Generate token butonuna basın ve çıkan token'ı kopyalayın (genellikle IGAA… ile başlar).
Bu token 60 gün geçerlidir. Süresinin dolmaması için Bölüm G'deki zamanlanmış görev tanımlanmalıdır.
C3. Instagram Business Account ID
- Tarayıcıda aşağıdaki adresi açın; TOKEN yerine C2'de aldığınız token'ı yazın:
https://graph.instagram.com/v21.0/me?fields=user_id,username&access_token=TOKEN - Dönen yanıttaki user_id değerini kopyalayın.
Not: Yanıtta id ve user_id olmak üzere iki farklı numara bulunur. Workcube'e user_id girilmelidir; gelen mesajlar bu numarayla eşleştirilir. Yanlış numara girilirse Meta mesajı gönderir ama Mesaj Kutusu boş kalır. Adresi açtıktan sonra tarayıcı geçmişini temizlemeniz önerilir, çünkü adres token içerir.
D. Workcube Ayar Ekranının Doldurulması
- settings.omni_channels ekranını açın ve üstteki Şirket seçicisinden ilgili şirketi seçin.
- Instagram bölümündeki alanları aşağıdaki tabloya göre doldurun.
- Kaydet'e basın.
| Alan | Değer | Zorunlu mu? |
|---|---|---|
| Instagram DM Entegrasyonu Aktif mi? | Evet | Evet |
| Instagram App Secret | C1 adımındaki Instagram app secret | Evet |
| Instagram Access Token | C2 adımındaki token | Evet |
| Instagram Business Account ID | C3 adımındaki user_id | Evet |
| Webhook Verify Token | Kendi belirlediğiniz tahmin edilmesi zor bir metin. WhatsApp (Meta) için zaten girilmişse aynısı kullanılır. | Evet |
| Meta App ID / Meta App Secret | App settings → Basic altındaki değerler. Instagram için zorunlu değildir; WhatsApp (Meta) kullanılıyorsa zaten doludur. | Hayır |
| Meta Webhook Callback URL | Sistem tarafından gösterilir, değiştirilmez. Bölüm E'de kopyalanır. | — |
E. Webhook Bağlantısı
- Ayar ekranındaki Meta Webhook Callback URL değerini kopyalayın (…/WBP/Wai/omnichannel/webhook.cfm ile biter).
- Meta'da API setup with Instagram login ekranında 2. Configure webhooks bölümüne gelin.
- Callback URL alanına kopyaladığınız adresi, Verify token alanına Workcube'e girdiğiniz Webhook Verify Token değerinin aynısını yazın.
- Verify and save butonuna basın. Hata alırsanız Workcube'de ayarların kaydedildiğinden ve verify token'ın birebir aynı olduğundan emin olun.
- Doğrulamadan sonra açılan Webhook fields listesinde messages alanını Subscribe ile abone yapın.
- 1. Generate access tokens bölümüne dönün ve hesap satırındaki Webhook subscription (Web Kancası Aboneliği) anahtarını açık konuma getirin.
Not: Instagram webhook'u, WhatsApp webhook'undan ayrı tanımlanır. WhatsApp'ta yapılmış olması Instagram için yeterli değildir. Callback adresi ikisinde de aynı olabilir.
F. Uygulamanın Yayınlanması
Meta, Instagram mesaj bildirimlerini yalnızca yayınlanmış (Published / Live) uygulamalara gönderir. Uygulama geliştirme modundayken Meta panelindeki Test butonu başarılı görünse bile gerçek DM'ler gelmez.
- Sol menüden Publish (Yayınla) ekranını açın.
- Kontrol listesindeki eksikleri tamamlayın. Genellikle istenenler:
- Privacy policy URL (Gizlilik politikası adresi)
- User data deletion (Veri silme adresi veya talimatları)
- Data handling soruları
- Uygulama kategorisi ve simgesi (App settings → Basic)
- Tüm maddeler tamamlandığında Publish butonuna basın.
Not: Uygulama yayınlandıktan sonra bile, rolü olmayan kullanıcıların (yani gerçek müşterilerin) mesajlarının gelmesi için instagram_business_manage_messages izni için Meta App Review (Advanced Access) onayı gerekir. Bu adım ayrı bir sayfada anlatılacaktır; o zamana kadar yalnızca Instagram Tester rolü verilmiş hesaplarla test yapılabilir.
G. Token Yenileme (Zamanlanmış Görev)
Instagram Access Token 60 gün geçerlidir. Workcube, süresi dolmadan token'ı yenileyen bir sayfa içerir; bu sayfanın düzenli çalışması için zamanlanmış görev tanımlanmalıdır.
- Ayarlar → Zaman Ayarlı Görevler ekranını açın ve yeni görev ekleyin.
- Adres olarak https://ALAN-ADINIZ/WBP/Wai/omnichannel/ig_token_refresh.cfm girin.
- Çalışma sıklığını haftada bir olarak ayarlayın ve kaydedin.
- Görevi bir kez elle çalıştırın. Çıktıda ok=1 failed=0 benzeri bir sonuç görülmelidir.
Not: Yeni üretilmiş bir token ilk 24 saat içinde yenilenemez. Görevi ilk kez token üretildikten en az bir gün sonra çalıştırın. Token süresi dolmuşsa yenilenemez; C2 adımıyla yeni token üretilip ayar ekranına girilmelidir.
H. Kullanım
H1. Mesaj Kutusu
- workspace.meta_inbox ekranında Instagram sekmesini açın. Konuşmalar otomatik olarak yenilenir.
- Bir konuşmayı seçip alttaki alandan yanıt yazabilirsiniz. Yanıt, işletmenin Instagram hesabından gönderilir.
- Instagram'da da 24 saat kuralı geçerlidir: Müşterinin son mesajından 24 saat sonra serbest mesaj gönderilemez. Müşterinin yeniden yazmasını bekleyin.
- Sunucuyla bağlantı iki kez üst üste kurulamazsa ekranda bağlantı koptu uyarısı görünür; bağlantı döndüğünde kendiliğinden kaybolur.
H2. Ekler (görsel, video, ses, dosya)
- Müşterinin gönderdiği görseller, videolar, ses kayıtları ve dosyalar Workcube'e kaydedilir ve mesaj kutusunda gösterilir.
- Görseller önizleme olarak, video ve ses kayıtları oynatıcıyla, diğer dosyalar 📎 bağlantısı olarak görünür.
- Paylaşılan gönderi ve reel bağlantıları metin olarak görünür.
- 25 MB'tan büyük veya desteklenmeyen türdeki ekler kaydedilmez.
H3. WAI Analiz
- Konuşmadaki mesajları kutucuklarla seçip WAI Analiz ile yapay zekâya değerlendirtebilirsiniz.
- Seçili mesajlardaki ekler de analize dahil edilir:
| Ek türü | Analizde nasıl kullanılır? |
|---|---|
| Görsel (jpg, png, webp), video (mp4, 3gp, mov), ses (ogg, mp3, aac), pdf, txt, csv | Dosyanın kendisi yapay zekâya gönderilir |
| Word, Excel, PowerPoint (docx, xlsx, pptx) | Dosyanın metni çıkarılıp gönderilir |
| Diğerleri (gif, m4a, zip vb.) | Gönderilmez; analizde gönderilmediği belirtilir |
Not: Eklerin analize gönderilebilmesi için sistemde Google (Gemini) API anahtarı tanımlı olmalıdır. Anahtar yoksa analiz WAI üzerinden yalnızca mesaj metinleriyle yapılır.
Kontrol Listesi
- ☐ Instagram hesabı Profesyonel (İşletme veya İçerik üreticisi)
- ☐ Instagram'da Mesajlara erişim izni ver açık
- ☐ Meta uygulamasına Manage messaging & content on Instagram senaryosu eklendi
- ☐ İşletme hesabına ve test hesaplarına Instagram Tester rolü verildi, davetler kabul edildi
- ☐ Instagram App Secret, Access Token ve user_id Workcube'e girildi
- ☐ Instagram DM Entegrasyonu Aktif mi? = Evet ve ayarlar kaydedildi
- ☐ Webhook doğrulandı, messages alanına abone olundu
- ☐ Hesap satırındaki Webhook subscription anahtarı açık
- ☐ Uygulama Published durumda
- ☐ ig_token_refresh.cfm haftalık zamanlanmış görev olarak tanımlandı
- ☐ Test hesabından DM atıldı, Mesaj Kutusu'nda görüldü ve yanıtlandı
Sık Karşılaşılan Sorunlar
| Belirti | Olası sebep | Çözüm |
|---|---|---|
| Token üretirken "Yetersiz Geliştirici Görevi" / Insufficient developer role | Hesabın uygulamada rolü yok veya davet kabul edilmemiş | B2 adımını uygulayın, daveti Instagram'dan kabul edin |
| Meta'da Verify and save başarısız | Workcube ayarları kaydedilmemiş ya da Verify Token farklı | Önce Bölüm D'yi kaydedin; verify token'ı birebir aynı girin |
| DM atılıyor ama hiç mesaj gelmiyor | Uygulama yayınlanmamış, messages aboneliği veya Webhook subscription anahtarı kapalı, DM atan hesabın rolü yok, "Mesajlara erişim izni" kapalı | Kontrol Listesi'ni baştan sona gözden geçirin |
| Meta'daki Test butonu başarılı ama gerçek DM gelmiyor | Uygulama geliştirme modunda | Bölüm F ile uygulamayı yayınlayın |
| Sistem kaydında "İmza doğrulanamadı … kanal=instagram" | Instagram App Secret yanlış (çoğunlukla Meta App Secret girilmiş) | C1 adımındaki Instagram app secret'ı yeniden girin |
| Meta mesajı gönderiyor ama Mesaj Kutusu boş | Instagram Business Account ID olarak id girilmiş | C3 adımındaki user_id değerini girin |
| Yalnızca test hesaplarından mesaj geliyor, müşterilerden gelmiyor | App Review (Advanced Access) henüz alınmamış | App Review sayfasına bakın |
| Yaklaşık iki ay sonra gönderim durdu | Token süresi doldu | C2 ile yeni token üretin; Bölüm G'deki görevin çalıştığını kontrol edin |
| Mesaj Kutusu'nda "henüz kullanıma hazır değil" uyarısı | Zorunlu alanlardan biri boş | Uyarıda listelenen alanları ayar ekranında doldurun |
| Ek mesajda görünmüyor | Desteklenmeyen tür veya 25 MB üzeri dosya | Müşteriden dosyayı farklı biçimde göndermesini isteyin |