Skip to content

Listmonk API Kurulumu

Kullanıcı başına OAuth entegrasyonlarının aksine Listmonk tek paylaşımlı service-account entegrasyonudur. Adminler Sosyabot'u tek bir Listmonk dağıtımına yönlendirir ve credentials sağlar; Listmonk kanalı bağlayan her çalışma alanı kullanıcısı bu credentials'ı yeniden kullanır.

Son-kullanıcı akışı: Bağlantılar → Listmonk.

Genel bakış

Form alanıOptions anahtarıZorunlu
Listmonk URLlistmonk_base-urlEvet
API Key (tercih edilen)listmonk_api-keyAPI Key VEYA username/password'den biri
Basic-auth username (fallback)listmonk_usernameAPI Key boşsa kullanılır
Basic-auth password (fallback)listmonk_passwordAPI Key boşsa kullanılır
Statuslistmonk_integration_status

ENV fallback: LISTMONK_BASE_URL, LISTMONK_API_KEY, LISTMONK_USERNAME, LISTMONK_PASSWORD.

Listmonk dağıtımında adım adım

1. Listmonk'u kur (yoksa)

Listmonk self-hosted bir newsletter yöneticisidir — install docs için https://listmonk.app'e bak. Sosyabot Listmonk v3.0+ (API token modeli) destekler.

2. API token oluştur

Listmonk admin UI'sinde: Admin → Users → API tokens → New token.

  • Name: örn. "Sosyabot"
  • User: minimum list view ve campaign create + status update izinleri olan bir kullanıcı seç veya oluştur.
  • Oluşturulan token'ı kopyala (Listmonk bir kez gösterir).

API token vs basic auth

API token tercih edilir — bireysel iptal edilebilir ve insan admin kullanıcısı ile şifre paylaşmaz. Basic auth (username/password) yalnızca eski Listmonk sürümleri için fallback olarak vardır ve API Key ayarlandığında görmezden gelinir.

3. Public origin'i onayla

Sosyabot'un vuracağı origin'i bul — genellikle https://newsletter.example.com. Trailing slash yok. Sosyabot /api/lists gibi yolları otomatik ekler.

Sosyabot admin paneline yapıştırma

/admin/api-integration/listmonk:

  1. Listmonk URL: public origin.
  2. API Key: API token'ı yapıştır (tercih edilen).
  3. (Listmonk pre-v3'te değilsen username/password'ü atla.)
  4. Status: Enable.
  5. Save → Test connection butonu GET /api/lists çağırır ve HTTP 200 / başarısızlığı raporlar.

Hata mesajları Listmonk not configured: set LISTMONK_BASE_URL plus LISTMONK_USERNAME/PASSWORD or LISTMONK_API_KEY (or admin panel) der.

Doğrulama

/app/channels → Connect → Listmonk. Sosyabot GET /api/v1/social/listmonk/lists çağırır ve Listmonk dağıtımındaki mevcut list'leri gösterir. Kullanıcı bir veya birkaç tane seçer; kanal ID'si listmonk:<list-id-1>,<list-id-2>'dir.

/app/publishing'ten test bir kampanya gönder ve Listmonk'un Campaigns görünümünde running durumuyla göründüğünü doğrula.

Sorun giderme

BelirtiSebepÇözüm
Listmonk not configured: ...Hem admin hem ENV gerekli anahtarlardan eksikListmonk URL artı ya API Key ya da username + password ayarla.
Test connection 401 dönerYanlış API token / username / passwordListmonk'ta token'ı yeniden ver; tekrar yapıştır.
Test connection 404 dönerYanlış base URL — genellikle trailing path veya trailing slashÇıplak origin kullan (örn. https://newsletter.example.com, /admin yok, trailing / yok).
Kampanya oluşturuldu ama hiç gönderilmediSosyabot status: running ile oluşturur — Listmonk teslimatı yönetirListmonk'un kendi SMTP / SES yapılandırmasını kontrol et. Sosyabot yalnızca kuyruğa alır.

ENV fallback

LISTMONK_BASE_URL=https://newsletter.example.com
LISTMONK_API_KEY=<token'ın>
# VEYA (pre-v3 Listmonk için):
LISTMONK_USERNAME=<admin user>
LISTMONK_PASSWORD=<admin pass>

.env düzenledikten sonra ./service.sh restart api.

İlgili