Für Entwickler

API-Referenz

Binden Sie die KI-Optimierung von DEXUN AdWhiz für drei Plattformen per REST in Ihre eigenen Tools, Skripte oder Ihr Backend ein.

Basis-URL

Alle API-Anfragen gehen an diese Basisadresse:

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

HTTPS ist Pflicht. HTTP-Anfragen werden abgelehnt (nicht umgeleitet).

Authentifizierung

Jede Anfrage braucht ein Bearer-Token im Authorization-Header. Erstellen Sie eines unter Dashboard → Einstellungen → API Keys. Schlüssel gibt es als live- und test-Variante; jede greift nur auf ihre eigene Umgebung zu.

curl https://www.7275.com/api/v1/accounts \
  -H "Authorization: Bearer dxk_live_...your-key..."
  • Format live-Schlüssel: beginnt mit dxk_live_, 64 Zeichen
  • Format test-Schlüssel: beginnt mit dxk_test_, beschränkt auf das Sandbox-Konto
  • Verwenden Sie Schlüssel nie im Frontend-Code – leiten Sie Anfragen über Ihr eigenes Backend
  • Bei einem Leak den Schlüssel sofort im Dashboard widerrufen und neu erzeugen

Direkt aus Claude Desktop / Cursor nutzen (MCP-Server)

Wir liefern einen abhängigkeitsfreien Model Context Protocol-Server, damit MCP-Clients wie Claude Desktop und Cursor Ihren AdWhiz-Status direkt lesen können. Kein Code nötig – Konfigurationsblock kopieren, API-Schlüssel einfügen, Client neu starten.

  • Fünf Nur-Lese-Tools: Werbekonten auflisten, KI-Empfehlungen anzeigen, Einsparungen des laufenden Monats abrufen, letzte Aktivitäten ansehen, API-Kontingent prüfen
  • Schreibende Tools (apply / pause) sind bewusst noch nicht freigegeben – sie warten, bis der Optimierer den Shadow Mode verlässt und Kalibrierungsdaten vorliegen, um sie abzusichern
  • Ein einzelnes Node-18+-Skript. Kein npm install. Läuft problemlos auf Offline- bzw. Airgapped-Rechnern
  • Ihr API-Schlüssel verlässt nie Ihren Rechner. Alle Anfragen gehen per HTTPS direkt an www.7275.com

Fügen Sie dies in die claude_desktop_config.json von Claude Desktop ein (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_..."
      }
    }
  }
}

Vollständige Installationsanleitung, Cursor-Konfiguration und Fehlerbehebung auf GitHub: github.com/dexun-inc/adwhiz/mcp-server.

Endpunkte

Die v1-API stellt 13 zentrale Endpunkte bereit: Identität, Kontoabfragen, Erstellen von Empfehlungen (Anwenden noch nicht verfügbar), Audit-Logs, API-Schlüsselverwaltung, Kontingentabfrage und den Changelog-Feed.

MethodePfadBeschreibung
GET/meGibt den Inhaber des aufrufenden Tokens + das verbleibende Rate-Limit-Kontingent zurück (whoami)
GET/accountsListet alle Werbekonten, die der aktuelle Nutzer verbunden hat (über alle drei Plattformen)
GET/accounts/{id}/campaignsListet Kampagnen, Anzeigengruppen, Keywords und 7-/30-Tage-Kennzahlen eines Kontos
POST/recommendations/generateLässt die KI einen neuen Satz Optimierungsempfehlungen erzeugen
GET/recommendationsListet alle ausstehenden / angewendeten / verworfenen Empfehlungen
POST/recommendations/{id}/applyEine Empfehlung anwenden — noch nicht verfügbar: liefert 501 not_supported und ändert nichts
POST/recommendations/{id}/dismissEine Empfehlung verwerfen — noch nicht verfügbar: liefert 501 not_supported und ändert nichts
POST/changes/{id}/rollbackEine angewendete Änderung zurücksetzen — noch nicht verfügbar: liefert 501 not_supported und ändert nichts
GET/audit-log(Veraltet, Abschaltung am 2027-05-23) Vollständiges Audit-Log. Verwenden Sie stattdessen /audit-events – basiert auf der echten Tabelle audit_events mit ?kind-Filter
GET/audit-eventsStream sicherheitsrelevanter Audit-Events (Anmeldung / Passwort / OAuth / Abo) mit ?since- + ?kind-Filtern
GET/api-keysListet die API-Schlüssel des Aufrufers (inkl. lastUsedAt + active); hashedKey wird nie zurückgegeben
GET/usageLiest aktuellen tier, RPM-Limit, Restkontingent und reset_at ohne Testanfrage
GET/changelogProdukt-Changelog als JSON-Feed (öffentlich, ohne Authentifizierung) mit ETag + ?lang + ?limit (1..50) + ?since=YYYY-MM-DD – die kanonische Form für inkrementelles Polling

Beispielanfrage

Neue Optimierungsempfehlungen für alle drei Plattformen erzeugen:

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"
  }'

Beispielantwort:

{
  "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 inkrementell abfragen

/api/v1/changelog ist ein öffentlicher Endpunkt (kein API-Schlüssel nötig) mit vier bandbreitensparenden Optionen: ETag + If-None-Match, Last-Modified + If-Modified-Since (curl -z), ?since=YYYY-MM-DD für datumsgefilterte Abrufe und ?limit=N für größenbegrenzte Abrufe. SDKs und Cron-Skripte können sie kombinieren, um häufig abzufragen, ohne dasselbe JSON erneut herunterzuladen.

# 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'

Rate Limits

Nach Abo-Tarif gestaffelt, damit die vorgelagerten Kontingente von Google / Meta / TikTok nicht überlastet werden:

  • Professional: 120 Anfragen/Minute
  • Business: 600 Anfragen/Minute
  • Enterprise: individuell (typischerweise 3.000 Anfragen/Minute)
  • Bei Überschreitung kommt 429 + retry-after-Header zurück – exponentielles Backoff empfohlen

Fehlercodes

Alle Fehler liefern JSON mit error.code, error.message und error.request_id:

HTTP-StatusBedeutung
401API-Schlüssel fehlt oder ist ungültig
403Konto für diese Ressource nicht berechtigt (unzureichender OAuth-Scope)
404Ressource nicht gefunden oder gelöscht
422Ungültige Anfrageparameter
429Rate Limit überschritten – warten Sie die im retry-after-Header angegebene Zeit ab
500Serverfehler – wird automatisch gemeldet
503API der vorgelagerten Plattform vorübergehend nicht verfügbar (Google / Meta / TikTok)