Webcounter.caKanadische Webanalyse

Entwicklerdokumentation · API v1

Mit der Webcounter.ca-API entwickeln.

Verwenden Sie den OpenAPI 3.1-Vertrag für generierte Clients und den Agentenleitfaden für eine kurze maschinenlesbare Einführung.

Authentifizierung

Zwei Schlüsseltypen

Verwenden Sie eine angemeldete Dashboard-Sitzung, einen API-Schlüssel, alternativ einen Geheimschlüssel. Ein Schlüssel besteht aus dem öffentlichen Wert key_id und dem privaten Wert secret. Senden Sie beides als einen Bearer-Wert, niemals in der Abfragezeichenfolge:

Authorization: Bearer ctr_<key_id>.<secret>

Ein API-Schlüssel (ctr_...) kann nur lesen. Ein Geheimschlüssel (ctr_mgmt_...) kann außerdem Websites, Messschlüssel, Ziele, Freigabelinks, Berichte, Exporte und andere Schlüssel verwalten. Kontoeinstellungen und Verfügbarkeitsüberwachung erfordern immer eine Browsersitzung. Die Schlüsselausgabe finden Sie unter Einstellungen → API-Schlüssel.

Schlüssel können eine Website oder das gesamte Konto abdecken. Ein auf eine Website beschränkter Schlüssel kann keine Websites erstellen oder API-Schlüssel verwalten, da diese Aktionen für das gesamte Konto gelten.

Antwortformat

Immer dieselbe Antwortstruktur

Jede Antwort, ob Erfolg oder Fehler, hat dieselbe JSON-Struktur. Prüfen Sie ok; der HTTP-Status ist maßgeblich.

{"ok": true, "data": {}} {"ok": false, "error": {"code": "bad_range", "message": "end must be later than start"}}

Der OpenAPI-Vertrag definiert den Inhalt von data für jeden Vorgang. Aufgelistete Ressourcen verwenden id als Feld; Routenparameter benennen die Ressource, etwa {key_id}. Zeitstempel verwenden ISO-8601 mit +00:00 als Offset, außer /realtime, /visitors, /visitor-map, /session/{id}, die HTTP-Datumsangaben nach RFC 1123 zurückgeben.

Zeiträume und Paginierung

Analysedaten lesen

Lesezugriffe auf Analysedaten akzeptieren einen vordefinierten range (today, yesterday, 7d, 30d, 90d, 6mo, 12mo) oder ein Paar von ISO-8601-Werten für start/end als Bereichsgrenzen. Zeiträume sind halboffen: start <= timestamp < end.

Besucher- und Besucherkarten-Feeds verwenden opake Cursor. Geben Sie next_cursor unverändert zurück und beenden Sie den Abruf, wenn has_more false ist. Decodieren oder konstruieren Sie keine Cursor.

Beispiele

Kopieren, einfügen, anpassen

curl -H 'Authorization: Bearer ctr_REDACTED.REDACTED' \ 'https://webcounter.ca/api/v1/sites' curl -H 'Authorization: Bearer ctr_REDACTED.REDACTED' \ 'https://webcounter.ca/api/v1/s/example/overview?range=30d' curl -X POST -H 'Authorization: Bearer ctr_mgmt_REDACTED.REDACTED' \ -H 'Content-Type: application/json' \ -d '{"slug":"example","name":"Example","timezone":"UTC"}' \ 'https://webcounter.ca/api/v1/sites'

Verwenden Sie für Experimente einen separaten Website-Slug und eine Testdomain. Senden Sie niemals einen Produktionsschlüssel, eine Kundenkennung oder rohe Besucherdaten an ein Drittanbieter-Tool.

Datenexporte

CSV-Rohdaten herunterladen

Mit einem Geheimschlüssel erfolgt die Einreihung eines Exports vom Typ events oder sessions über POST /s/{slug}/exports. Fragen Sie anschließend GET .../exports/{export_id}, um den Status abzufragen; rufen Sie danach .../download herunter, sobald der Status lautet: done. Exporte laufen automatisch ab.

Was sitzungsgebunden bleibt

Für keinen Schlüssel verfügbar

Bearer-Schlüssel können weder auf Kontozugangsdaten, Einstellungen oder Verlauf des Verfügbarkeitsmonitors noch auf die Web Push-Registrierung zugreifen. Diese Funktionen erfordern eine angemeldete Browsersitzung.

Für KI-Agenten

Maschinenlesbare Einstiegspunkte

Beginnen Sie mit /llms.txt; lesen Sie anschließend /static/openapi.yaml für Pfade, Parameter, Schemas und Authentifizierungsanforderungen.