Dokümantasyon / API

REST API referansı

Her uç nokta /api/v1 altındadır ve Konsol → Entegrasyonlarüzerinden alınan bir API anahtarıyla kimlik doğrular. Anahtarlar yalnızca bir kez gösterilir ve salt okunur veya okuma/yazma olabilir; iptal edilen anahtarlar hemen çalışmayı durdurur.

Anahtarı Authorization: Bearer bfk_…olarak gönderin. Hatalar, üzerinde işlem yapabileceğiniz bir code içeren Problem Details JSON'u olarak döner.

GET/api/v1/mekapsam: read

Bir anahtarın hangi çalışma alanına ve plana ait olduğu. Bir anahtarın çalışıp çalışmadığını kontrol etmenin ucuz yolu.

curl -H "Authorization: Bearer bfk_…" \
  https://your-domain/api/v1/me
GET/api/v1/bots?page=1&pageSize=50kapsam: read

Çalışma alanının botlarını durum ve sürümle birlikte listeler.

GET/api/v1/bots/{botId}kapsam: read

Bir bot: durum, saat dilimi, sürüm, son hata.

GET/api/v1/bots/{botId}/subscribers?q=&page=1&pageSize=50kapsam: read

Ada veya kullanıcı adına göre aranabilir bot kitlesi.

GET/api/v1/bots/{botId}/logs?level=error&limit=50kapsam: read

Son çalışma zamanı günlükleri; seviyeye göre filtrelenebilir.

GET/api/v1/bots/{botId}/analytics?days=30kapsam: read

Günlük mesaj hacmi, teslimat hataları ve abone büyümesi.

GET/api/v1/bots/{botId}/broadcastskapsam: read

Bot için yayın geçmişi.

GET/api/v1/bots/{botId}/logs/streamkapsam: read

Sunucu Tarafından Gönderilen Olaylar (SSE) olarak canlı günlükler. Girdiler LogEntry JSON'unun data: satırları olarak gelir; her 15 saniyede bir keepalive yorumu; sunucu 10 dakika sonra oturumu kapatır (yeniden bağlanın). EventSource başlık gönderemez, bu yüzden fetch tabanlı akışla tüketin.

curl -N -H "Authorization: Bearer bfk_…"   https://your-domain/api/v1/bots/{botId}/logs/stream
POST/api/v1/bots/{botId}/broadcastskapsam: write

Tek bir çağrıda bir yayın oluşturur ve sıraya alır. Gövde: { "name": "…", "text": "…", "segmentId": "…" (isteğe bağlı) }. Teslimat, konsol yayınlarıyla aynı hızlandırılmış boru hattında gerçekleşir; plan limitiniz uygulanır.

curl -X POST -H "Authorization: Bearer bfk_…" \
  -H "Content-Type: application/json" \
  -d '{"name":"June promo","text":"20% off until Friday"}' \
  https://your-domain/api/v1/bots/{botId}/broadcasts

Durum kodları ve limitler

  • 401 UNAUTHENTICATED — eksik veya geçersiz anahtar.
  • 403 FORBIDDEN — anahtarda yazma kapsamı eksik.
  • 403 PLAN_LIMIT — yayın kotasına ulaşıldı; mesaj üst sınırı belirtir.
  • 404 NOT_FOUND — yanlış kimlik veya başka bir çalışma alanına ait bir bot.
  • Sayfa boyutları 100 ile, günlük limitleri 200 ile sınırlıdır.

Daha derine in

Sürümler, etkisiz-tekrarlanabilirlik ve hatalar

API üzerinden yayınlama konsolu yansıtır: taslağı kaydeder, akışın komutlarını Telegram'a kaydeder ve numaralı bir sürüm oluşturur. Aynı içeriği yayınlamak geçerli botu döndüren bir no-op'tur — yeniden denemeler güvenlidir.\nHatalar düzyazı değil, kararlı kodlu (UNAUTHENTICATED, NOT_FOUND, VALIDATION ve diğerleri) problem-details JSON olarak gelir; böylece istemci mantığı koda göre dallanır, insanlara mesaj gösterilir. Liste uç noktaları page ve pageSize ile sayfalar.\nHer uç nokta Konsol → Entegrasyonlar'daki çalışma alanı API anahtarıyla kimlik doğrular; anahtarlar iptal edilebilir ve iptal bir sonraki istekte geçerlidir.