Zum Hauptinhalt springen
Mit der Public API von Chatarmin CX lädst du viele Tickets samt Nachrichten auf einmal. Du startest einen Export mit einer Anfrage, fragst den Status ab, bis er fertig ist, und lädst das Ergebnis über einen zeitlich begrenzten Link herunter. Du musst Nachrichten nicht mehr Ticket für Ticket lesen.

So funktioniert es

  1. POST /public/v1/ticket-exports legt den Export an und gibt ihn sofort mit Status queued zurück.
  2. Der Export läuft im Hintergrund und umfasst so viele Tickets, wie du wählst, bis zu 50.000.
  3. GET /public/v1/ticket-exports/{exportId} liefert den Status. Bei completed enthält die Antwort auch eine download_url.
  4. Du lädst die Datei über download_url herunter.
Beide Endpoints brauchen den Scope tickets:export. Erstelle einen Schlüssel unter Einstellungen → API. Ein mit einem Agenten verknüpfter Schlüssel exportiert nur gespeicherte Ansichten, die dieser Agent im Posteingang sieht, wie bei GET /views. Ein Schlüssel ohne verknüpften Agenten kann jede Ansicht der Organisation exportieren.

Nächtlicher Sync

Exportiere einmal pro Nacht die Tickets einer gespeicherten Ansicht samt Nachrichten.
1

Ansicht finden

Rufe GET /public/v1/views auf und merke dir die id der Ansicht mit den Tickets, die du synchronisierst. Siehe Filtern und gespeicherte Ansichten.
2

Export anlegen

Die Antwort hat Status 202 und enthält den Export mit Status queued.
3

Warten, bis er fertig ist

Es gibt keine Webhooks. Frage alle paar Sekunden ab, bis status completed oder failed ist.
4

Datei herunterladen

Lade data.download_url herunter und entpacke die Datei. Jede Statusabfrage eines abgeschlossenen Exports liefert einen neuen Link. Frage den Status also erneut ab, wenn ein Link abgelaufen ist.

Backfill

Exportiere alle Tickets, die in einem Zeitraum erstellt wurden. Datumsangaben haben das Format YYYY-MM-DD in UTC, beide Tage sind eingeschlossen, und es wird nach dem Erstellungsdatum des Tickets gefiltert.
Ein Export enthält höchstens 50.000 Tickets. Trifft ein Zeitraum auf mehr, schlägt die Anfrage mit EXPORT_TOO_LARGE fehl. Teile den Zeitraum in kleinere Zeiträume und lege pro Zeitraum einen Export an.

Request-Felder

Wähle genau einen der drei Auswahlmodi. Unbekannte Felder werden mit 400 VALIDATION_ERROR abgelehnt. Standardspalten: ticket_number, subject, contact_first_name, contact_last_name, contact_email, contact_phone, status, assigned_agent_name, created_at, updated_at. Optionale Spalten: priority, channel, channel_name, tags, last_message_at, message_count, ticket_url, csat_score, csat_comment, csat_survey_sent, csat_submitted_at, created_date, created_time, language, social_thread_type, social_post_type, team_name, first_resolved_at, resolved_at.

Export lesen

Die Datei

Ist include_messages true, ist der Download ein ZIP mit tickets.csv und messages.csv. Sonst ist der Download eine einzelne tickets.csv. Die Dateien sind UTF-8 ohne Byte-Order-Mark. Trifft die Auswahl keine Tickets, wird der Export trotzdem abgeschlossen, mit Dateien, die nur die Kopfzeile enthalten. Tickets sind nach Erstellungsdatum sortiert, älteste zuerst. Nachrichten sind nach Ticket und dann nach Erstellungsdatum sortiert, älteste zuerst. Interne Notizen und gelöschte Nachrichten sind nicht enthalten. messages.csv hat diese Spalten: Alle Zeitstempel in beiden Dateien sind ISO-8601 in UTC. Es gibt keine Zeitzonen-Option.

Limits

Siehe Rate Limits.

Unterschiede zum Legacy-Export

POST /public/tickets/export bleibt verfügbar. Wenn du auf den v1-Export umsteigst, ändert sich Folgendes. In v1 nicht unterstützt: excel, eml, order, timezone und include_ticket_fields. Die Spaltennamen in tickets.csv und messages.csv sind dieselben wie im Legacy-Export.

Fehler

Das Fehlerformat steht unter Fehler. Werte code aus, nicht message.