Zugriff und Limits
Erstelle unter Einstellungen → API einen API-Schlüssel mit zugewiesenem Support-Agenten. Sende ihn im Headercx-api-key. Beide schreibgeschützten Endpoints brauchen analytics:read und organisationsweiten Dashboard-Zugriff. Sie bieten keinen eingeschränkten Ersatzexport nur für dich oder dein Team.
Ein Filter auf deine eigene Agenten-ID hebt diese Anforderungen nicht auf. Beide Endpoints nutzen das Analytics-Limit von 10 Requests/Minute. Sie liefern JSON, kein CSV/Excel, und verändern weder Tickets noch Sitzungen oder versenden Umfragen. Für aggregierte Bewertungen, Antwortquoten und Online-Zeit nutze Berichte und Metriken.
CSAT-Umfragen exportieren
Wähle einen Datumsbezug: im Zeitraum eingereichte oder versendete Umfragen, einschließlich noch unbeantworteter. Berücksichtigt werden nur Umfragen auf vorhandenen, nicht gelöschten, nicht importierten Haupttickets im Workspace, keine Side Conversations.
Sende genau ein vollständiges Datumspaar als ISO-8601-Zeitpunkte mit
Z oder explizitem Offset. Die Untergrenze ist inklusive, die Obergrenze exklusiv: [from, before). Die Obergrenze muss später und höchstens 90 × 24 Stunden nach der Untergrenze liegen. Anders als UNTIL in Berichtsabfragen ist before kein inklusiver Kalendertag. Unbekannte Query-Parameter werden abgelehnt.
Starte mit einem kleinen Export nach Versanddatum ohne Kommentare:
agent_example durch die Agenten-ID deines Workspaces. Fordere Kommentare nur an, wenn deine Integration Kundentext braucht und der Schlüssel den zusätzlichen Scope hat:
Umfrageergebnisse lesen
Das folgende erfundene Beispiel zeigt die Standardantwort ohne Kommentare. Ergebnisse sind aufsteigend nach dem gewählten Datumsfeld und dann der Umfrage-ID sortiert.score und submitted_at können null sein; auch ticket_number, credited_agent_id und credited_agent_name erlauben null.
credited_agent_id ist die gespeicherte agent_id der Umfrage, keine beim Lesen abgeleitete Zuordnung zum Lösungsagenten oder Bearbeiter. Fehlende Zuordnung bleibt null mit attribution_source: "unattributed". Ein Name kann auch bei gespeicherter ID fehlen. Alte Umfragezuordnungen werden nicht umgeschrieben; historische Zuordnung beweist also nicht, wer das Ticket gelöst hat.
Bei neuen Umfragen ohne explizit angegebene Zuordnung übernimmt die Standardzuordnung den erfassten solved_by des Tickets nur, wenn dessen aktueller Status resolved ist und dieser Lösungsagent im selben Workspace zulässig ist. Es gibt keinen Ersatz durch Bearbeiter oder Nachrichtenautor. Der alte Marker AI und aus der Analytics-Abrechnung ausgeschlossene KI-Agenten erhalten keine Standardzuordnung, auch nach dem Löschen eines ausgeschlossenen Agenten. Spätere Wiedereröffnung oder Neuzuweisung berechnet diesen Snapshot nicht neu. Die Standardzuordnung kann einen zulässigen KI-Lösungsagenten berücksichtigen; sie garantiert keine rein menschliche Zuordnung.
Mit include_comments=true enthält jedes Element zusätzlich comment als String oder null, und meta.comments_included ist true. Sonst fehlt das Feld vollständig. Kommentare können personenbezogene Daten enthalten: Begrenze nachgelagerte Zugriffe und kopiere sie nicht in Logs. Der Export enthält keine Kundenkontaktdaten, Umfragetokens oder -links und keine Ticketinhalte.
Agentensitzungen exportieren
Prüfe Beginn, Ende und letzte Aktivität erfasster Login-Intervalle. Das sind die bestehenden veränderlichen Login-Sitzungen, kein neuer Speicher für Anwesenheitsereignisse. Der Export enthält keine gespeicherte Pausen- oder Ereignishistorie.session_start < before und entweder session_end > from oder session_end ist null. Eine Sitzung mit Ende genau bei from oder Beginn genau bei before wird ausgeschlossen. Eine vor dem Zeitraum gestartete Sitzung kann enthalten sein. Ursprüngliche Zeitpunkte bleiben ungekürzt; überlappende Datensätze werden nicht vereinigt.
Diese erfundene Antwort enthält bewusst einen veralteten offenen Datensatz:
session_end: null ist kein Beweis aktueller Verfügbarkeit. Prüfe last_activity separat; dieser Export leitet daraus nie ein Ende ab. Sitzungszeilen enthalten nur id, agent_id, session_start, session_end, last_activity und updated_at, niemals IP-Adressen, Browserdetails oder User-Agents. Für deduplizierte, auf den Zeitraum begrenzte Online-Sekunden je Zeitabschnitt frage agent_online_time über Berichte und Metriken ab, statt rohe Dauern zu summieren.
Export fortsetzen
Wennpagination.has_more den Wert true hat, nutze pagination.next_cursor als cursor des nächsten Requests. Stoppe bei has_more: false. Behalte Schlüssel, Workspace, zugewiesenen Agenten, Scopes und alle Filter bei, auch limit und Kommentaroption. Änderungen machen den Cursor ungültig. Behandle Zeitstempel und Cursor als unveränderte Strings; ein aus einem Zeitstempel nachgebauter Cursor kann Präzision verlieren.
Setze für die Abfrage niedriger Bewertungen oben NEXT_CURSOR auf das zurückgegebene Token und wiederhole dieselben Parameter:
session_start und dann id. Keiner der Exporte ist ein eingefrorener Snapshot: Replikatlesevorgänge sind zeitverzögert konsistent, Umfrageantworten können später eintreffen und Sitzungsenden oder Aktivitätszeitpunkte sich während der Pagination ändern. Für laufende Importe lies begrenzte überlappende Zeitfenster erneut und aktualisiere nachgelagerte Zeilen über id; dies ist kein Änderungsereignis-Feed. Bei direkt angrenzenden Zeitfenstern wird das bisherige before zum nächsten from.
Fehlerbehebung
Scheitert ein kleiner gültiger Request weiterhin, kontaktiere den Support mit der
request_id, dem Endpoint und bereinigten Filtern. Teile weder API-Schlüssel noch Kundenkommentare in Diagnose-Logs.