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/v1HTTPS 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.
| Methode | Pfad | Beschreibung |
|---|---|---|
| GET | /me | Gibt den Inhaber des aufrufenden Tokens + das verbleibende Rate-Limit-Kontingent zurück (whoami) |
| GET | /accounts | Listet alle Werbekonten, die der aktuelle Nutzer verbunden hat (über alle drei Plattformen) |
| GET | /accounts/{id}/campaigns | Listet Kampagnen, Anzeigengruppen, Keywords und 7-/30-Tage-Kennzahlen eines Kontos |
| POST | /recommendations/generate | Lässt die KI einen neuen Satz Optimierungsempfehlungen erzeugen |
| GET | /recommendations | Listet alle ausstehenden / angewendeten / verworfenen Empfehlungen |
| POST | /recommendations/{id}/apply | Eine Empfehlung anwenden — noch nicht verfügbar: liefert 501 not_supported und ändert nichts |
| POST | /recommendations/{id}/dismiss | Eine Empfehlung verwerfen — noch nicht verfügbar: liefert 501 not_supported und ändert nichts |
| POST | /changes/{id}/rollback | Eine 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-events | Stream sicherheitsrelevanter Audit-Events (Anmeldung / Passwort / OAuth / Abo) mit ?since- + ?kind-Filtern |
| GET | /api-keys | Listet die API-Schlüssel des Aufrufers (inkl. lastUsedAt + active); hashedKey wird nie zurückgegeben |
| GET | /usage | Liest aktuellen tier, RPM-Limit, Restkontingent und reset_at ohne Testanfrage |
| GET | /changelog | Produkt-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-Status | Bedeutung |
|---|---|
401 | API-Schlüssel fehlt oder ist ungültig |
403 | Konto für diese Ressource nicht berechtigt (unzureichender OAuth-Scope) |
404 | Ressource nicht gefunden oder gelöscht |
422 | Ungültige Anfrageparameter |
429 | Rate Limit überschritten – warten Sie die im retry-after-Header angegebene Zeit ab |
500 | Serverfehler – wird automatisch gemeldet |
503 | API der vorgelagerten Plattform vorübergehend nicht verfügbar (Google / Meta / TikTok) |