Slack API Kurulumu
Slack entegrasyonu için admin walkthrough. Son-kullanıcı akışı: Bağlantılar → Slack.
Genel bakış
| Form alanı | Options anahtarı |
|---|---|
| Client ID | slack_client-id |
| Client Secret | slack_client-secret |
| Signing Secret | slack_signing-secret (opsiyonel) |
| Status | slack_integration_status |
ENV fallback: SLACK_CLIENT_ID, SLACK_CLIENT_SECRET, SLACK_SIGNING_SECRET.
Signing Secret opsiyonel
Yalnızca Slack-tarafı webhook'larını (interactivity / events) Sosyabot'a geri bağlarsan Signing Secret'a ihtiyacın olur. Saf outbound yayını yalnız Client ID + Secret kullanır.
api.slack.com/apps adım adım
1. Yeni Slack app oluştur
https://api.slack.com/apps → Create New App → From scratch.
- App Name: örn. "Sosyabot"
- Bir geliştirme workspace'i seç (sonra başka workspace'lere de kurabilirsin).
2. OAuth & Permissions yapılandır
Sol sidebar → OAuth & Permissions.
- Redirect URLs:
https://app.sosyabot.com/api/v1/auth/slack/callback - Bot Token Scopes: ekle
chat:writechannels:readgroups:readchannels:joinfiles:write
Değişiklikleri kaydet.
3. (Opsiyonel) Event webhook'larını yapılandır
Slack-tarafı event'leri (interactivity, slash command) alacaksan Event Subscriptions'ı aç ve Request URL ayarla — Signing Secret burada işe yarar. Sosyabot'un varsayılan outbound-only modu için bu bölümü atla.
4. Kimlik bilgilerini al
Sol sidebar → Basic Information:
- App Credentials → Client ID: kopyala.
- App Credentials → Client Secret: Show'a tıkla ve kopyala.
- App Credentials → Signing Secret: ihtiyacın varsa kopyala (yoksa admin formunda boş bırak).
Sosyabot admin paneline yapıştırma
/admin/api-integration/slack:
- Client ID: yapıştır.
- Client Secret: yapıştır.
- Signing Secret: yalnızca gerekiyorsa yapıştır.
- Status: Enable.
- Save → Test credentials.
Hata: Slack integration disabled: client id/secret not configured.
Doğrulama
/app/channels → Connect → Slack → scope'ları onayla → bağlantı sonrası ekranda varsayılan kanal seç. Gerekirse bot kanala otomatik katılır (channels:join). /app/publishing'ten test mesajı gönder.
Sorun giderme
| Belirti | Sebep | Çözüm |
|---|---|---|
Slack integration disabled: client id/secret not configured | Admin + ENV boş | 1-4. adımlar. |
Connect'te slack_no_channels | Workspace'te bot'un yazılabilir kanalı yok | Bot'u önceden bir kanala davet et (/invite @sosyabot) veya workspace owner rolü ver. |
| Private kanala gönderim başarısız | groups:read scope eksik | Bot Token Scopes'a groups:read ekle; app'i workspace'e yeniden install et. |
Gönderim'de not_in_channel | Bot kanaldan kicklenmiş | Bot'u yeniden davet et. |
ENV fallback
SLACK_CLIENT_ID=<client id'in>
SLACK_CLIENT_SECRET=<client secret'in>
SLACK_SIGNING_SECRET=<signing secret'in> # opsiyonel.env düzenledikten sonra ./service.sh restart api.