Trackdolphin

German This text is available in German only for now. The site around it is in English, the text itself is not.

HTTP-API

Trackdolphin ist API-first, und zwar wörtlich: Das Dashboard ruft dieselben Endpunkte auf, die auch dir offenstehen. Es gibt keine Fähigkeit, die nur die Oberfläche kann.

Daraus folgt der Rest: MCP-Server und Kommandozeile leiten ihre Werkzeuge und Befehle aus der OpenAPI-Beschreibung ab. Was die API kann, können sie, ohne dass jemand eine zweite Liste pflegt.

Beschreibung

  • OpenAPI: https://api.trackdolphin.com/api/openapi.json
  • Zum Blättern: https://api.trackdolphin.com/api/docs

Anmeldung

Ein API-Schlüssel aus dem Dashboard unter Einstellungen → API & MCP:

bash
curl https://api.trackdolphin.com/api/shops \
  -H "Authorization: Bearer td_live_…"

Der Schlüssel gehört zur Organisation, nicht zu einer Person. Ein Automatismus soll nicht stillstehen, weil jemand das Unternehmen verlässt. Gespeichert wird nur der Hash; der Klartext erscheint genau einmal.

Die wichtigsten Endpunkte

Zweck Aufruf
Projekte auflisten GET /api/shops
Läuft das Tracking? GET /api/shops/{shopId}/health
Kennzahlen GET /api/shops/{shopId}/kpis
Kanäle GET /api/shops/{shopId}/channels?days=30
Beste Seiten GET /api/shops/{shopId}/pages
Kauftrichter GET /api/shops/{shopId}/funnel
Stand der Einrichtung GET /api/shops/{shopId}/onboarding
Historienimport starten POST /api/shops/{shopId}/import
Erkennungsquote GET /api/shops/{shopId}/import

Jedes Projekt gehört zu einer Organisation. Ein fremdes Projekt antwortet mit 403, nicht mit Daten.

Events senden

Events gehen nicht an die API, sondern an den Collector, einen eigenen Dienst am Rand des Netzes, damit ein Ausfall der Verwaltung keine Events kostet:

bash
curl -X POST https://td.meinshop.de/collect \
  -H "Content-Type: application/json" \
  -d '{
    "event_id": "order_1042",
    "shop_id": "3f9a1c62-8d4e-4b71-9a02-5c1e7b0d4a88",
    "type": "purchase",
    "value": 119.90,
    "currency": "EUR",
    "em": "…sha256 der E-Mail…"
  }'

em und ph müssen bereits gehasht ankommen. Klartext wird mit 400 abgewiesen (siehe Match-Qualität).

Schlüssel erstellst und widerrufst du im Dashboard, siehe Einstellungen: API & MCP.