Geliştirici Dokümantasyonu v2.0

API REFERENCE

Partners Bot altyapısına programatik erişim sağlayın. API anahtarınızla istatistikleri çekebilir, partnerlikleri yönetebilir ve topluluğunuzu otomatize edebilirsiniz.

https://partnersbot.com/system/cluster3/berlin/api/

Authentication

API Anahtarı Kullanımı

API isteklerinizi doğrulamak için HTTP başlıklarına (headers) API anahtarınızı eklemeniz gerekir. Sistemde iki tip anahtar bulunur: System (Tam Yetki) ve Public (Kısıtlı).

Header Formatı
x-api-key: pb_8f23...

Hız Sınırlaması (Rate Limit)

API kullanımında adil kullanım kotası uygulanır. Her anahtarın kendine özel dakikalık istek sınırı vardır.

Varsayılan

60 Req/Min

System

UNLIMITED

Kullanım Örnekleri

cURL

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/user/profile" \
  -H "x-api-key: YOUR_KEY"

JavaScript

fetch("https://partnersbot.com/system/cluster3/berlin/api/user/profile", {
  headers: {
    "x-api-key": "YOUR_KEY"
  }
})

Python

import requests
headers = {"x-api-key": "KEY"}
res = requests.get(
  "https://partnersbot.com/system/cluster3/berlin/api/user/profile", 
  headers=headers
)

Yanıt Kodları & Hata Yapısı

KodAnlamıYanıt Örneği
200 OKİşlem başarıyla tamamlandı.{ "success": true, ... }
401 UnauthorizedGeçersiz veya eksik API anahtarı.{ "error": "Unauthorized" }
403 ForbiddenErişim yetkiniz yok (örn. Public Key engeli).{ "error": "Forbidden" }
429 Too Many RequestsDakikalık istek sınırı aşıldı.{ "error": "Rate limit exceeded" }

Error Codes

Hata Kodları Rehberi

#0412

OAuthAccountNotLinked

Bu hata, bağlanmaya veya giriş yapmaya çalıştığınız Discord hesabının veritabanında zaten başka bir kullanıcı hesabı ile eşleştirilmiş olduğu durumlarda ortaya çıkar.

Çözüm Adımları

  • 1.Eğer zaten bir Discord hesabınız varsa, doğrudan Discord ile giriş yapmayı deneyin.
  • 2.Eğer bu Discord hesabını mevcut hesabınıza bağlamak istiyorsanız, önce eski hesabınızdaki bağlantıyı kaldırmanız gerekir.
  • 3.Sorun devam ederse destek ekibimizle iletişime geçebilirsiniz.

Kimlik Doğrulama

POST/auth/register

Yeni Kayıt

E-posta, isim ve şifre ile yeni bir kullanıcı hesabı oluşturur.

application/json

Request Body

{
  "name": "Emirhan Gök",
  "email": "[email protected]",
  "password": "your_password_min_6_chars"
}

cURL Example

curl -X POST "https://partnersbot.com/system/cluster3/berlin/api/auth/register" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Emirhan Gök","email":"[email protected]","password":"your_password_min_6_chars"}'

Response Example

{
  "success": true,
  "message": "Hesap başarıyla oluşturuldu.",
  "token": "pb_ea72e3...",
  "user": {
    "id": "user_cuid_xyz",
    "name": "Emirhan Gök",
    "email": "[email protected]",
    "discordId": "123456789"
  }
}
POST/auth/login

Kullanıcı Girişi

E-posta ve şifre ile mobil uygulama için session oluşturur. (Mobil özel)

application/json

Request Body

{
  "email": "[email protected]",
  "password": "your_password"
}

cURL Example

curl -X POST "https://partnersbot.com/system/cluster3/berlin/api/auth/login" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","password":"your_password"}'

Response Example

{
  "success": true,
  "token": "eyJhbGciOiJIUzI1Ni...",
  "user": {
    "id": "123",
    "name": "User"
  }
}
POST/auth/mobile-social

Sosyal Medya Girişi

Google veya Apple ID Token ile mobil giriş yaparak apiKey alır.

application/json

Request Body

{
  "provider": "google",
  "idToken": "GOOGLE_ID_TOKEN_HERE"
}

cURL Example

curl -X POST "https://partnersbot.com/system/cluster3/berlin/api/auth/mobile-social" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"provider":"google","idToken":"GOOGLE_ID_TOKEN_HERE"}'

Response Example

{
  "success": true,
  "token": "pb_ea72e3...",
  "user": {
    "id": "user_cuid",
    "name": "Display Name",
    "email": "[email protected]",
    "discordId": "123456789"
  }
}

Hesap & Gizlilik

GET/user/privacy

Gizlilik Ayarları

Kullanıcının gizlilik tercihlerini getirir. Desteklenen alanlar: profilePublic (Profil Görünürlüğü), showStatus (Aktiflik Durumu), showServers (Sunucu Listesi), allowFollows (Takip İstekleri).

x-api-key required
application/json

Query Parameters

userIdVarsayılan: 123456789

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/user/privacy?userId=123456789" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "success": true,
  "privacyConfig": {
    "profilePublic": true,
    "showStatus": true,
    "showServers": true,
    "allowFollows": true
  }
}
PATCH/user/privacy

Gizlilik Ayarlarını Güncelle

Kullanıcının gizlilik tercihlerini (görünürlük, mobil senkronizasyon vb.) günceller.

x-api-key required
application/json

Query Parameters

userIdVarsayılan: 123456789

Request Body

{
  "profilePublic": false,
  "showStatus": true,
  "showServers": true,
  "allowFollows": true
}

cURL Example

curl -X PATCH "https://partnersbot.com/system/cluster3/berlin/api/user/privacy?userId=123456789" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"profilePublic":false,"showStatus":true,"showServers":true,"allowFollows":true}'

Response Example

{
  "success": true,
  "message": "Gizlilik ayarları başarıyla güncellendi.",
  "privacyConfig": {
    "profilePublic": false,
    "showStatus": true,
    "showServers": true,
    "allowFollows": true
  }
}

Kullanıcı İşlemleri

GET/user/profile

Profil Bilgileri

Belirtilen veya giriş yapmış kullanıcının global profil bilgilerini (avatar, banner, bio vb.) getirir. Görseller Discord engeline takılmaması için proxy üzerinden sunulur.

x-api-key required
application/json

Query Parameters

userIdVarsayılan: 511980794013679616

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/user/profile?userId=511980794013679616" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "id": "511980794013679616",
  "name": "Emirhan",
  "username": "emirhan",
  "discriminator": "0",
  "avatarUrl": "https://partnersbot.com/api/discord-image?id=511980794013679616&hash=...&type=avatars",
  "bannerUrl": "https://partnersbot.com/api/discord-image?id=511980794013679616&hash=...&type=banners&size=600",
  "website": "https://partnersbot.com",
  "location": "İstanbul, Türkiye",
  "isPremium": true,
  "status": "online",
  "customStatus": "Developing Partners Bot",
  "bio": "Partners Bot Creator & Lead Developer",
  "equippedBadges": [
    "staff_developer",
    "staff_admin"
  ]
}
PATCH/user/profile

Profil Bilgilerini Güncelle

Kullanıcının görünen ad, web sitesi, konum ve hakkımda (bio) bilgilerini günceller.

x-api-key required
application/json

Query Parameters

userIdVarsayılan: 511980794013679616

Request Body

{
  "name": "Emirhan",
  "website": "https://partnersbot.com",
  "location": "İstanbul, Türkiye",
  "bio": "Bot Geliştiricisi & Tasarımcı"
}

cURL Example

curl -X PATCH "https://partnersbot.com/system/cluster3/berlin/api/user/profile?userId=511980794013679616" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Emirhan","website":"https://partnersbot.com","location":"İstanbul, Türkiye","bio":"Bot Geliştiricisi & Tasarımcı"}'

Response Example

{
  "success": true,
  "message": "Profil başarıyla güncellendi.",
  "user": {
    "discordId": "511980794013679616",
    "name": "Emirhan",
    "username": "emirhan",
    "website": "https://partnersbot.com",
    "location": "İstanbul, Türkiye",
    "bio": "Bot Geliştiricisi & Tasarımcı"
  }
}
GET/user/achievements

Kullanıcı Başarımları

Bir kullanıcının kazandığı başarımları, toplam puanını ve başarım detaylarını getirir.

x-api-key required
application/json

Query Parameters

userIdVarsayılan: 511980794013679616

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/user/achievements?userId=511980794013679616" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "success": true,
  "userId": "511980794013679616",
  "totalPoints": 450,
  "count": 3,
  "achievements": [
    {
      "id": "ach_early_supporter",
      "name": "Erken Destekçi",
      "description": "Platformun ilk aşamalarında yanımızda olduğunuz için teşekkürler!",
      "icon": "star",
      "points": 100,
      "category": "genel",
      "earnedAt": "2026-01-20T14:00:00Z"
    }
  ]
}

Sunucu & Partnerlik

GET/partners/list

Partner Sunucularını Listele

Sistemde kayıtlı olan ve kurulumu tamamlanmış partner sunucularını listeler. Arama ve kategori filtreleme desteği sunar.

x-api-key required
application/json

Query Parameters

pageVarsayılan: 1
limitVarsayılan: 10
categoryVarsayılan: Oyun
searchVarsayılan: Bot
minMembersVarsayılan: 100
maxMembersVarsayılan: 5000

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/partners/list?page=1&limit=10&category=Oyun&search=Bot&minMembers=100&maxMembers=5000" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "total": 42,
  "categories": [
    "oyun",
    "eğlence",
    "yazılım",
    "topluluk"
  ],
  "data": [
    {
      "guildId": "1130518978213720214",
      "name": "Partners Bot Destek",
      "members": 1250,
      "categories": [
        "yazılım",
        "topluluk"
      ],
      "isPremium": true,
      "partnerText": "https://discord.gg/partnersbot",
      "description": "Türkiye'nin en gelişmiş partnerlik sistemi."
    }
  ]
}
GET/guilds/stats

Sunucu İstatistikleri

Yönettiğiniz bir sunucunun detaylı büyüme verilerini getirir.

x-api-key required
application/json

Query Parameters

guildIdVarsayılan: 123456789

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/guilds/stats?guildId=123456789" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "members": 1540,
  "dailyGrowth": 15,
  "activePartners": 8,
  "rank": 12
}
POST/partners/{guildId}/submit

Partnerlik İsteği

Başka bir sunucuya partnerlik teklifi gönderir. Bu işlem hedef sunucunun log kanalına bir bildirim gönderir. Kendi sunucunuza partnerlik teklifi gönderemezsiniz.

x-api-key required
application/json

Request Body

{
  "targetGuildId": "987654321",
  "partnerText": "Harika bir sunucuya sahibiz, gelmelisin!"
}

cURL Example

curl -X POST "https://partnersbot.com/system/cluster3/berlin/api/partners/{guildId}/submit" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"targetGuildId":"987654321","partnerText":"Harika bir sunucuya sahibiz, gelmelisin!"}'

Potential Errors

400Kendi sunucunuzla partner olamazsınız! / Sunucu bulunamadı. / Limit aşıldı.
401Geçersiz API anahtarı.
403Bu sunucuyu yönetme yetkiniz yok.

Response Example

{
  "success": true,
  "partnershipId": "part_xyz123",
  "status": "pending"
}
POST/partners/submit-v2

Partnerlik İsteği v2

Modern partnerlik gönderim API'si. Gönderen ve hedef sunucu ID'lerini body içerisinde (JSON) kabul eder. Daha esnek entegrasyon için tasarlanmıştır.

x-api-key required
application/json

Request Body

{
  "senderGuildId": "111222333",
  "targetGuildId": "987654321",
  "partnerText": "Harika bir sunucuya sahibiz, partnerlik  yapalım!"
}

cURL Example

curl -X POST "https://partnersbot.com/system/cluster3/berlin/api/partners/submit-v2" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"senderGuildId":"111222333","targetGuildId":"987654321","partnerText":"Harika bir sunucuya sahibiz, partnerlik  yapalım!"}'

Potential Errors

400senderGuildId and targetGuildId are required / Kendi sunucunuzla partner olamazsınız!
401Unauthorized
403You don't have permission to manage the sender guild

Response Example

{
  "success": true,
  "partnershipId": "part_v2_xyz123",
  "status": "pending",
  "version": "v2"
}
GET/partners/list-v2

Akıllı Partner Sunucu Listesi

Seçilen bir sunucuya göre en uygun partner adaylarını listeler. Benzer büyüklük, ortak kategori ve yüksek eşleşme rozetleri içerir. Bu API'yi kullanmak için geçerli bir myGuildId parametresi gönderilmelidir.

x-api-key required
application/json

Query Parameters

myGuildIdVarsayılan: 1130518978213720214
pageVarsayılan: 1
limitVarsayılan: 10
categoryVarsayılan: Oyun
searchVarsayılan: Server

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/partners/list-v2?myGuildId=1130518978213720214&page=1&limit=10&category=Oyun&search=Server" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "total": 25,
  "myGuild": {
    "name": "Sunucum",
    "members": 500,
    "categories": [
      "oyun",
      "yazılım"
    ]
  },
  "data": [
    {
      "guildId": "987654321",
      "name": "Benzer Sunucu",
      "members": 480,
      "categories": [
        "oyun"
      ],
      "isPremium": true,
      "badges": [
        "YÜKSEK EŞLEŞME",
        "BENZER BÜYÜKLÜK",
        "BENZER KATEGORİLER"
      ],
      "description": "Hızlı büyüyen oyun sunucusu."
    }
  ]
}

Premium Servisler

POST/premium/validate

Premium Kontrolü

Bir sunucunun veya kullanıcının premium durumunu doğrular.

x-api-key required
application/json

Request Body

{
  "targetId": "123456789",
  "type": "guild"
}

cURL Example

curl -X POST "https://partnersbot.com/system/cluster3/berlin/api/premium/validate" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"targetId":"123456789","type":"guild"}'

Response Example

{
  "isPremium": true,
  "tier": "pro",
  "expiresAt": "2025-01-01T00:00:00Z"
}

Mobil Uygulama & Entegrasyon

GET/mobile/servers

Senkronize Sunucular

Kullanıcının mobil uygulama için senkronize ettiği (görünür kıldığı) sunucuları listeler.

x-api-key required
application/json

Query Parameters

userIdVarsayılan: 1234567890

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/mobile/servers?userId=1234567890" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

[
  {
    "guildId": "123456789",
    "name": "My Awesome Server",
    "icon": "a_icon_id",
    "iconUrl": "https://partnersbot.com/api/discord-image?guildId=123456789&icon=a_icon_id",
    "isOwner": true,
    "isAdmin": true,
    "partnerSystem": {
      "isSetup": true,
      "partnerChannel": "111...",
      "responsibleRole": "1130518978213720214",
      "blacklist": [
        {
          "id": "123123",
          "name": "Bilinmeyen Sunucu",
          "reason": "Reklam İhlali",
          "addedAt": "2026-03-20T14:00:15Z"
        }
      ],
      "blacklistSettings": {
        "autoBlacklist": true,
        "blacklistNotifications": true
      }
    },
    "isPremium": true,
    "verification": {
      "isVerified": true,
      "status": "approved"
    }
  }
]
PATCH/guilds/{guildId}/partner-system

Partner Sistemi Düzenle

Bir sunucunun partner sistemi ayarlarını günceller. Sadece sunucu yetkilileri kullanabilir. responsibleRoles dizisi ile sorumlu roller güncellenebilir.

x-api-key required
application/json

Request Body

{
  "partnerChannel": "122333444555",
  "partnerText": "Yeni harika partner metnimiz!",
  "responsibleRole": "1130518978213720214",
  "status": {
    "code": "A7KW2Q",
    "enabled": true
  },
  "blacklist": [
    {
      "id": "987654321",
      "name": "Spammer Server",
      "reason": "Bot Abuse",
      "addedAt": "2026-03-22T01:40:00Z"
    }
  ],
  "blacklistSettings": {
    "autoBlacklist": true,
    "blacklistNotifications": true
  }
}

cURL Example

curl -X PATCH "https://partnersbot.com/system/cluster3/berlin/api/guilds/{guildId}/partner-system" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"partnerChannel":"122333444555","partnerText":"Yeni harika partner metnimiz!","responsibleRole":"1130518978213720214","status":{"code":"A7KW2Q","enabled":true},"blacklist":[{"id":"987654321","name":"Spammer Server","reason":"Bot Abuse","addedAt":"2026-03-22T01:40:00Z"}],"blacklistSettings":{"autoBlacklist":true,"blacklistNotifications":true}}'

Response Example

{
  "success": true,
  "partnerSystem": {
    "isSetup": true,
    "partnerChannel": "122333444555",
    "partnerText": "Yeni harika partner metnimiz!",
    "responsibleRole": "1130518978213720214",
    "status": "active"
  }
}
GET/guilds/{guildId}/channels

Sunucu Kanallarını Listele

Belirtilen sunucudaki ses kanalları HARİÇ tüm kanalları (metin, duyuru, forum, kategori vb.) isimleriyle birlikte getirir. Mobil uygulamada ID yerine isim bazlı seçim yapmak için kullanılır.

x-api-key required
application/json

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/guilds/{guildId}/channels" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

[
  {
    "id": "122333444000",
    "name": "📂 GENEL KATEGORİSİ",
    "type": 4,
    "isSelectable": false
  },
  {
    "id": "122333444555",
    "name": "# partner-logları",
    "type": 0,
    "isSelectable": true
  }
]
GET/guilds/{guildId}/roles

Sunucu Rollerini Listele

Sunucudaki tüm rolleri pozisyon sırasına göre (en üstten en alta) listeler. Renk, pozisyon ve yetki bitfield verilerini içerir.

x-api-key required
application/json

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/guilds/{guildId}/roles" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

[
  {
    "id": "1130518978213720214",
    "name": "Admin",
    "color": 16711680,
    "position": 15,
    "managed": false,
    "mentionable": true,
    "permissions": "1071698660353"
  },
  {
    "id": "1130518978213720215",
    "name": "@everyone",
    "color": 0,
    "position": 0,
    "managed": false,
    "mentionable": false,
    "permissions": "1071636224257"
  }
]
GET/mobile/live-feed

Canlı Partnerlik Akışı

Son 5 dakika içindeki başarılı partnerlik eşleşmelerini gerçek zamanlı olarak getirir. Mobil uygulama ana ekranındaki kayan yazı (ticker) için kullanılır. Yeniler en üstte gelir.

x-api-key required
application/json

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/mobile/live-feed" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

[
  {
    "id": "part_123",
    "requesterName": "Techno Support",
    "targetName": "Gamer Zone",
    "requesterIcon": "a_icon_id",
    "targetIcon": "b_icon_id",
    "requesterIconUrl": "https://partnersbot.com/api/discord-image?guildId=G1&icon=I1",
    "targetIconUrl": "https://partnersbot.com/api/discord-image?guildId=G2&icon=I2",
    "timestamp": "2026-03-22T02:20:00Z",
    "timeAgo": "2 dk önce"
  }
]

Genel & İstatistik

GET/stats

Platform İstatistikleri

Partners Bot platformunun genel büyüme ve kullanım verilerini (Aktif Sunucu, Toplam Kullanıcı vb.) getirir.

x-api-key required
application/json

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/stats" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "success": true,
  "data": {
    "activeServers": "1,540+",
    "totalPartnerships": 15420,
    "totalUsers": 85400
  }
}

Sosyal İşlemler

POST/user/social/follow

Kullanıcı Takip Et

Bir kullanıcıyı takip eder veya takibi bırakır. Eğer iki kullanıcı birbirini takip ederse 'arkadaş' statüsüne geçerler.

x-api-key required
application/json

Request Body

{
  "targetUserId": "511980794013679616"
}

cURL Example

curl -X POST "https://partnersbot.com/system/cluster3/berlin/api/user/social/follow" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"targetUserId":"511980794013679616"}'

Response Example

{
  "success": true,
  "isFollowing": true
}
GET/user/social/stats

Sosyal İstatistikler

Kullanıcının takipçi, takip edilen ve arkadaş sayılarını getirir.

x-api-key required
application/json

Query Parameters

userIdVarsayılan: 511980794013679616

cURL Example

curl -X GET "https://partnersbot.com/system/cluster3/berlin/api/user/social/stats?userId=511980794013679616" \
  -H "x-api-key: YOUR_SYSTEM_API_KEY"

Response Example

{
  "followersCount": 1250,
  "followingCount": 450,
  "friendsCount": 120
}

Yardıma mı ihtiyacınız var?

API entegrasyonu sırasında bir sorunla karşılaşırsanız Discord sunucumuzdaki geliştirici kanalından veya destek biletlerinden bize ulaşabilirsiniz.

Destek Al