Skip to content

Slack API Kurulumu

Slack entegrasyonu için admin walkthrough. Son-kullanıcı akışı: Bağlantılar → Slack.

Genel bakış

Form alanıOptions anahtarı
Client IDslack_client-id
Client Secretslack_client-secret
Signing Secretslack_signing-secret (opsiyonel)
Statusslack_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/appsCreate 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:write
    • channels:read
    • groups:read
    • channels:join
    • files: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:

  1. Client ID: yapıştır.
  2. Client Secret: yapıştır.
  3. Signing Secret: yalnızca gerekiyorsa yapıştır.
  4. Status: Enable.
  5. 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

BelirtiSebepÇözüm
Slack integration disabled: client id/secret not configuredAdmin + ENV boş1-4. adımlar.
Connect'te slack_no_channelsWorkspace'te bot'un yazılabilir kanalı yokBot'u önceden bir kanala davet et (/invite @sosyabot) veya workspace owner rolü ver.
Private kanala gönderim başarısızgroups:read scope eksikBot Token Scopes'a groups:read ekle; app'i workspace'e yeniden install et.
Gönderim'de not_in_channelBot 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.

İlgili