Geliştiriciler için

API referansı

DEXUN AdWhiz'in üç platformlu AI optimizasyonunu REST üzerinden kendi araçlarınıza, betiklerinize veya backend'inize bağlayın.

Temel URL

Tüm API istekleri bu köke gönderilir:

https://www.7275.com/api/v1

HTTPS zorunludur. HTTP istekleri reddedilir (yönlendirilmez).

Kimlik doğrulama

Her istek, Authorization başlığında bir Bearer token gerektirir. Kontrol paneli → Ayarlar → API Keys bölümünden oluşturun. Anahtarlar live ve test olmak üzere iki türdedir ve yalnızca kendi ortamlarına erişebilir.

curl https://www.7275.com/api/v1/accounts \
  -H "Authorization: Bearer dxk_live_...your-key..."
  • live anahtar biçimi: dxk_live_ ile başlar, 64 karakter
  • test anahtar biçimi: dxk_test_ ile başlar, sandbox hesabıyla sınırlıdır
  • Anahtarları asla front-end kodunda kullanmayın — kendi backend'iniz üzerinden proxy yapın
  • Sızarsa hemen kontrol panelinden iptal edip yeniden oluşturun

Doğrudan Claude Desktop / Cursor içinden kullanın (MCP sunucusu)

Claude Desktop ve Cursor gibi MCP istemcilerinin AdWhiz durumunuzu doğrudan okuyabilmesi için bağımlılıksız bir Model Context Protocol sunucusu sunuyoruz. Kod yazmanız gerekmez — bir yapılandırma bloğunu kopyalayın, API anahtarınızı yapıştırın ve istemciyi yeniden başlatın.

  • Beş salt okunur araç: reklam hesaplarını listeleme, AI önerilerini görme, bu ayki tasarrufu alma, son etkinlikleri görüntüleme, API kotasını kontrol etme
  • Yazma araçları (apply / pause) bilinçli olarak henüz açılmadı — optimize edici shadow mode'dan çıkana ve bunları denetleyecek kalibrasyon kanıtı oluşana kadar bekliyorlar
  • Tek bir Node 18+ betiği. npm install gerekmez. Çevrimdışı / ağdan yalıtılmış (airgapped) makinelerde sorunsuz çalışır
  • API anahtarınız makinenizden hiç çıkmaz. Tüm istekler HTTPS ile doğrudan www.7275.com adresine gider

Bunu Claude Desktop'un claude_desktop_config.json dosyasına ekleyin (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):

{
  "mcpServers": {
    "adwhiz": {
      "command": "node",
      "args": ["/path/to/mcp-server/src/index.mjs"],
      "env": {
        "ADWHIZ_API_KEY": "dxk_live_..."
      }
    }
  }
}

Tam kurulum kılavuzu, Cursor yapılandırması ve sorun giderme GitHub'da: github.com/dexun-inc/adwhiz/mcp-server.

Endpoint'ler

v1 API; kimlik, hesap okuma, öneri oluşturma (uygulama henüz kullanılamıyor), denetim günlükleri, API anahtarı yönetimi, kota sorgulama ve changelog akışını kapsayan 13 temel endpoint sunar.

YöntemYolAçıklama
GET/meÇağıran token'ın sahibini + kalan hız sınırı kotasını döndürür (whoami)
GET/accountsGeçerli kullanıcının bağladığı tüm reklam hesaplarını listeler (üç platformun tamamında)
GET/accounts/{id}/campaignsBir hesabın kampanyalarını, reklam gruplarını, anahtar kelimelerini ve 7/30 günlük metriklerini listeler
POST/recommendations/generateAI'ın yeni bir optimizasyon önerisi grubu oluşturmasını sağlar
GET/recommendationsBekleyen / uygulanan / reddedilen tüm önerileri listeler
POST/recommendations/{id}/applyBir öneriyi uygulama — henüz kullanılamıyor: 501 not_supported döndürür ve hiçbir şeyi değiştirmez
POST/recommendations/{id}/dismissBir öneriyi reddetme — henüz kullanılamıyor: 501 not_supported döndürür ve hiçbir şeyi değiştirmez
POST/changes/{id}/rollbackUygulanmış bir değişikliği geri alma — henüz kullanılamıyor: 501 not_supported döndürür ve hiçbir şeyi değiştirmez
GET/audit-log(Kullanımdan kaldırıldı, 2027-05-23'te kapanıyor) Tam denetim günlüğü. Bunun yerine /audit-events kullanın — gerçek audit_events tablosuna dayanır ve ?kind filtresini destekler
GET/audit-eventsGüvenlik denetim olayları akışı (giriş / parola / OAuth / abonelik), ?since + ?kind filtreleriyle
GET/api-keysÇağıranın API anahtarlarını listeler (lastUsedAt + active dahil); hashedKey asla döndürülmez
GET/usageDeneme isteği göndermeden geçerli tier, RPM sınırı, kalan miktar ve reset_at değerlerini okur
GET/changelogÜrün changelog JSON akışı (herkese açık, kimlik doğrulama yok); ETag + ?lang + ?limit (1..50) + ?since=YYYY-MM-DD destekli, artımlı sorgulamanın standart biçimi

Örnek istek

Üç platform için yeni optimizasyon önerileri oluşturun:

curl -X POST https://www.7275.com/api/v1/recommendations/generate \
  -H "Authorization: Bearer dxk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "account_id": "ga-548-203-7184",
    "platforms": ["google_ads", "meta_ads", "tiktok_ads"],
    "window": "7d"
  }'

Örnek yanıt:

{
  "summary": "Pausing 3 high-CPA keywords and reallocating budget...",
  "recommendations": [
    {
      "id": "rec_001",
      "type": "pause_keyword",
      "target": { "accountId": "ga-548-203-7184", "keywordText": "wool socks" },
      "title": "Pause broad-match 'wool socks'",
      "reason": "7-day CPA $45.82 vs target $8",
      "expectedImpact": "Save ~$412/week",
      "confidence": "high"
    }
  ]
}

/changelog'u artımlı sorgulama

/api/v1/changelog herkese açık bir endpoint'tir (API anahtarı gerekmez) ve bant genişliği tasarrufu için dört seçenek sunar: ETag + If-None-Match, Last-Modified + If-Modified-Since (curl -z), tarihe göre filtreleme için ?since=YYYY-MM-DD ve boyut sınırlama için ?limit=N. SDK'lar ve cron betikleri bunları birleştirerek aynı JSON'u yeniden indirmeden sık sorgulama yapabilir.

# 1. First call — store the ETag (or Last-Modified) you get back.
curl -i 'https://www.7275.com/api/v1/changelog?limit=10'

# 2. Subsequent calls — pass the stored ETag.
#    Server returns 304 with empty body if nothing has shipped.
curl -i 'https://www.7275.com/api/v1/changelog?limit=10' \
  -H 'If-None-Match: "abc123..."'

# 3. Or anchor on a date instead of an ETag.
#    Only entries whose `date >= since` come back; pair with ?limit
#    to cap the response size.
curl 'https://www.7275.com/api/v1/changelog?since=2026-01-01&limit=20'

# 4. curl -z for Last-Modified-style conditional GET (no ETag needed):
curl -z 'Mon, 20 May 2026 00:00:00 GMT' \
  'https://www.7275.com/api/v1/changelog'

Hız sınırları

Upstream Google / Meta / TikTok kotalarını zorlamamak için abonelik planına göre kademelidir:

  • Professional: dakikada 120 istek
  • Business: dakikada 600 istek
  • Enterprise: özel (genellikle dakikada 3.000 istek)
  • Sınır aşılırsa 429 + retry-after başlığı döner — üstel geri çekilme (exponential backoff) önerilir

Hata kodları

Tüm hatalar error.code, error.message ve error.request_id içeren JSON döndürür:

HTTP durumuAnlamı
401API anahtarı eksik veya geçersiz
403Hesabın bu kaynağa yetkisi yok (yetersiz OAuth scope)
404Kaynak bulunamadı veya silindi
422Geçersiz istek parametreleri
429Hız sınırı aşıldı — retry-after başlığında belirtilen süreyi bekleyin
500Sunucu hatası — otomatik olarak bildirildi
503Upstream platform API'si geçici olarak kullanılamıyor (Google / Meta / TikTok)