Export conversations, analytics summaries, and visitor data as CSV or JSON files for backup and reporting.
Convor provides several export endpoints for pulling data out of the system. Exports return files directly as downloads with proper content types and attachment headers. All export actions are rate-limited and logged in the audit trail.
Four export types are available:
All export endpoints are rate-limited to 5 requests per minute. Each export creates an audit log entry recording the format, record count, and the user who triggered it.
Export all conversations within the organization, including their messages. Available in CSV and JSON formats:
GET /api/export/conversations?format=csv&date_from=2025-01-01T00:00:00Z&date_to=2025-03-01T00:00:00Z| Parameter | Type | Description |
|---|---|---|
format | string | csv or json (default: json) |
date_from | datetime | ISO 8601 start date filter |
date_to | datetime | ISO 8601 end date filter |
The response includes conversation metadata (ID, status, visitor, operator) and all messages flattened into a single text field. Each message is prefixed with its sender type.
CSV columns: id, status, visitorId, assignedOperatorId,
createdAt, updatedAt, messageCount, messages
Message Format
In CSV exports, messages are joined with newlines. Each message appears
as [operator] message text or [visitor] message text. The CSV
escaping handles commas, quotes, and newlines within message content
correctly.
Export an analytics summary as a CSV file. This produces a metric table rather than raw records:
GET /api/export/analytics?format=csv&date_from=2025-01-01T00:00:00Z&date_to=2025-03-01T00:00:00Z| Parameter | Type | Description |
|---|---|---|
format | string | Only csv is supported |
date_from | datetime | ISO 8601 start date (defaults to 30 days ago) |
date_to | datetime | ISO 8601 end date (defaults to now) |
The export produces rows for each metric:
| Metric | Description |
|---|---|
| Total Conversations | All conversations in the period |
| Conversations (open) | Open conversations count |
| Conversations (closed) | Closed conversations count |
| Conversations (pending) | Pending conversations count |
| Average CSAT Rating | Mean satisfaction survey rating |
| Total Surveys | Number of survey responses |
| Unique Visitors | Distinct visitors in the period |
CSV columns: metric, value, period_start, period_end
Export the full visitor list as a CSV file:
GET /api/export/visitors?format=csv| Field | Description |
|---|---|
id | Visitor UUID |
identifier | Visitor identifier string |
fingerprint | Browser fingerprint hash |
firstSeenAt | First activity timestamp |
lastSeenAt | Most recent activity timestamp |
totalSessions | Number of sessions |
geoCountry | Country from geo-lookup |
geoCity | City from geo-lookup |
Results are ordered by lastSeenAt descending.
For more targeted exports, the bulk endpoint accepts a POST body with advanced filtering:
POST /api/export/conversations/bulk{
"format": "csv",
"dateFrom": "2025-01-01T00:00:00Z",
"dateTo": "2025-03-01T00:00:00Z",
"status": "closed",
"operatorId": "op-uuid",
"tags": ["refund", "priority"]
}| Field | Type | Description |
|---|---|---|
format | string | csv or json (default: csv) |
dateFrom | datetime | ISO 8601 start date filter |
dateTo | datetime | ISO 8601 end date filter |
status | string | Filter by open, closed, or pending |
operatorId | UUID | Filter by assigned operator |
tags | string[] | Filter by conversation tags |
The bulk export includes an additional operatorName column that resolves
the operator UUID to a human-readable display name.
All export endpoints set the Content-Disposition header to trigger a
file download:
Content-Disposition: attachment; filename="conversations-export.csv"
Content-Type: text/csv; charset=utf-8For JSON exports:
Content-Disposition: attachment; filename="conversations-export.json"
Content-Type: application/json; charset=utf-8Large Exports
Exports are generated synchronously. For organizations with thousands of conversations, consider using date range filters to limit the result set. Rate limiting (5 requests per minute) prevents accidental runaway exports.
| Method | Endpoint | Description |
|---|---|---|
GET | /api/export/conversations | Export conversations with messages |
GET | /api/export/analytics | Export analytics summary as CSV |
GET | /api/export/visitors | Export visitor list as CSV |
POST | /api/export/conversations/bulk | Bulk export with advanced filters |
All endpoints require authentication and are rate-limited to 5 requests per minute.
Ostatnia aktualizacja: 2 lip 2026
Czy ta strona była pomocna?