FallstudieAnonymisiertes KundenprojektAuf Englisch lesen

Ein Bot für das Portal des Paketdienstes, der Reklamationen einreicht und verfolgt

Ein niederländischer 3PL-Fulfillment-Dienstleister reicht Nachforschungen und Reklamationen zu Paketen über das Kundenportal eines Paketdienst-Partners ein, das auf Freshdesk basiert. Das Portal hat keine API, also wurde jedes Ticket von Hand eröffnet, geprüft und beantwortet. Dieser Bot erledigt das über einen echten Browser und stellt es als kleine HTTP-API bereit.

Kurz gesagt

Der Carrier Portal Bot ist ein Dienst für Browser-Automatisierung (RPA) für einen niederländischen 3PL. Er meldet sich im Freshdesk-Kundenportal eines Paketdienst-Partners an, das keine API hat, und eröffnet Reklamationstickets mit Paketdienst, Grund und angehängter Rechnung. Er liest außerdem Antworten, schreibt Kommentare und schließt Tickets. Die Nachforschungsplattform des 3PL ruft ihn wie jede andere API auf.

API-Endpoints
7
Ticketliste lesen
~0,5 s über HTTP
Browser-Sitzungen
1 gleichzeitig
Sprachen des Portals
Niederländisch, Englisch
Carrier Portal Bot | Claims & Ticket Automation: Hauptansicht des Projekts

01 / Das Problem

Warum dieses System nötig war

Geht ein Paket verloren oder kommt beschädigt an, eröffnet der 3PL eine Nachforschung beim Paketdienst. Bei einem Paketdienst-Partner heißt das: ein Ticket in einem Freshdesk-Kundenportal. Paketdienst wählen, Reklamationsgrund wählen, Verkaufsrechnung anhängen und eine Erklärung über den Nichterhalt ausfüllen. Für nichts davon gibt es eine API.

Die Nachverfolgung kostete noch mehr Zeit. Jede offene Nachforschung musste auf neue Antworten geprüft werden, und Antworten mussten mit Anhängen zurückgeschrieben werden. Die Nachforschungsplattform des 3PL brauchte diese Daten automatisch, aber der einzige Zugang war dasselbe Webportal, das auch ein Mensch nutzt.

Eine erste Browser-Version funktionierte, war aber langsam und schwer. Jede Prüfung startete Firefox, und neun offene Nachforschungen im 15-Minuten-Takt bedeuteten etwa 960 Browserstarts am Tag. Die meisten lasen Tickets, die sich gar nicht geändert hatten.

02 / Die Umsetzung

Wie ich es umgesetzt habe

Der Bot ist ein Python-FastAPI-Dienst, der das Portal mit Playwright über Camoufox steuert, einen gehärteten Firefox-Build. Er füllt das Reklamationsformular aus, einschließlich der Choices.js-Dropdowns für Paketdienst und Reklamationsgrund, lädt Dateien hoch und gibt die neue Ticket-ID zurück. Leitet das Portal statt zum neuen Ticket zur Ticketliste weiter, findet der Bot das Ticket über den Betreff.

Sitzungs-Cookies werden nach dem Login gespeichert und wiederverwendet, sodass die meisten Anfragen den Login überspringen. Eine abgelaufene Sitzung erkennt der Bot an der Weiterleitung zur Login-Seite und repariert sie mit einem neuen Login. Eine globale Sperre erlaubt nur einen Browser gleichzeitig, weil parallele Sitzungen das Single Sign-on des Portals überlastet haben.

Lesevorgänge nehmen einen schnelleren Weg. Das Portal liefert Tickets als einfaches HTML aus. Die Ticketliste und ein Änderungs-Fingerprint (Status, Anzahl der Kommentare, Zeit des neuesten Kommentars) werden daher mit den gespeicherten Cookies über HTTP in etwa einer halben Sekunde abgerufen statt in 20 bis 30 Sekunden. Der Browser startet nur, wenn sich etwas geändert hat. Das Docker-Image installiert nur die Bibliotheken, die Firefox braucht, nicht das komplette Browser-Paket von Playwright mit etwa 2 GB.

03 / Funktionen

Was das System kann: Bot für Portale von Paketdiensten

01

Reklamationstickets anlegen

Füllt die Felder für Paketdienst, Reklamationsgrund, Rechnung und Erklärung aus, hängt Dateien an und gibt die neue Ticket-ID zurück.

02

Antworten und Kommentare posten

Schreibt Folgekommentare mit Anhängen und erkennt Schaltflächen auf Niederländisch und Englisch.

03

Tickets schließen

Schließt erledigte Tickets und behandelt ein bereits geschlossenes Ticket als erledigt statt als Fehler.

04

Änderungs-Fingerprint

Prüft Status, Anzahl der Kommentare und neuesten Zeitstempel über HTTP, um zu erkennen, ob ein Ticket komplett gelesen werden muss.

05

Ausweichwege bei der Ticketsuche

Findet ein Ticket über die erste Seite der Liste, eine direkte URL oder bewertete Suchvorschläge.

06

Sitzungen behalten

Nutzt gespeicherte Cookies und meldet sich nur neu an, wenn das Portal zur Login-Seite weiterleitet.

07

Belege bei Fehlern

Erfasst die angezeigten Validierungsfehler und einen ganzseitigen Screenshot, wenn ein Formularschritt fehlschlägt.

04 / Ablauf

So funktioniert es, Schritt für Schritt

  1. 01

    Anfrage empfangen

    Die Nachforschungsplattform ruft einen Endpoint auf, etwa submit, fetch, comment oder close.

  2. 02

    Schnellen Weg versuchen

    Listen- und Änderungsprüfungen laufen über HTTP mit gespeicherten Cookies, ohne einen Browser zu starten.

  3. 03

    Portal steuern

    Wenn geschrieben oder komplett gelesen werden muss, öffnet Camoufox das Portal unter der Sperre für einen einzigen Browser.

  4. 04

    Strukturierte Daten zurückgeben

    Der Bot liefert Ticket-IDs, Status und Gesprächsverlauf als JSON, das die Plattform speichert.

05 / Ansichten

Produktansichten

Wählen Sie eine Ansicht, um Oberfläche, Ablauf und operative Details genauer zu sehen.

01 / 02
Carrier Portal Bot | Claims & Ticket Automation: Funktionsübersicht

Funktionsübersicht

06 / Was sich geändert hat

Das Ergebnis in der Praxis

  • Reklamationstickets im Portal des Paketdienstes werden aus der Nachforschungsplattform des 3PL eröffnet, verfolgt und geschlossen, ohne dass sich jemand im Portal anmelden muss.
  • Das Lesen der Ticketliste sank von 20 bis 30 Sekunden Browserzeit auf etwa eine halbe Sekunde über HTTP, und unveränderte Tickets starten keinen Browser mehr.
  • Fehler sind sichtbar und behebbar: Abgelaufene Sitzungen reparieren sich selbst, und Formularfehler kommen mit den Meldungen des Portals und einem Screenshot zurück.

Häufige Fragen

Fragen zu einem vergleichbaren System

Ja. Ein Bot für Browser-Automatisierung kann das Portal genauso nutzen wie ein Mensch. Dieser Bot meldet sich in einem Freshdesk-Kundenportal an, füllt Reklamationsformulare aus, lädt Rechnungen hoch, liest Antworten und schließt Tickets. Er stellt diese Aktionen als kleine HTTP-API bereit, sodass andere Systeme ihn aufrufen können, ohne zu wissen, dass ein Browser im Spiel ist.

Der Bot meldet sich neu an und speichert die neue Sitzung automatisch. Er erkennt den Ablauf, wenn das Portal zur Login-Seite weiterleitet, und speichert neue Cookies für die nächste Anfrage. Der schnelle HTTP-Lesepfad schlägt in diesem Fall kontrolliert fehl und weicht auf den Browser aus, der die Sitzung dabei erneuert.

Der Bot meldet die Fehlermeldungen des Portals, statt still zu scheitern. Lädt das Formular mit Validierungsfehlern neu, sammelt er den angezeigten Fehlertext und speichert einen ganzseitigen Screenshot. Leitet das Portal zur Ticketliste statt zum neuen Ticket weiter, findet er das neue Ticket über die Betreffzeile.

Er probiert drei Wege nacheinander, bis einer das richtige Ticket öffnet. Zuerst prüft er die erste Seite der Ticketliste, dann die direkte Ticket-URL, dann die Suchvorschläge des Portals. Vorschläge werden nach Ticket-ID, Link und Betreff bewertet, und der Bot bestätigt, dass die geöffnete Seite das angefragte Ticket ist, bevor er sie liest.

Parallele Sitzungen haben das Single Sign-on des Portals überlastet, deshalb läuft immer nur ein Browser. Eine globale Sperre reiht Schreib- und vollständige Leseanfragen ein. Abfragen der Ticketliste und Änderungsprüfungen laufen über einfaches HTTP außerhalb der Sperre, sodass der regelmäßige Statuszyklus nie auf ein langsames Formular warten muss.

Der Bot prüft, ob sich ein Ticket geändert hat, bevor er es komplett liest. Ein Fingerprint aus Status, Anzahl der Kommentare und Zeit des neuesten Kommentars wird mit dem letzten verglichen. Antworttexte werden weiterhin über den Browser gelesen, damit die gespeicherten Antwort-Fingerprints der Plattform exakt passen. So wird eine alte Antwort nicht noch einmal als neu importiert.

Zusammenarbeit

Sie hängen an einem Portal eines Paketdienstes ohne API fest?

Ich baue Browser-Automatisierung, die Reklamationen einreicht, Tickets verfolgt und die Ergebnisse in Ihre eigenen Systeme überträgt. Schicken Sie mir den Portal-Ablauf, den Ihr Team jeden Tag wiederholt.

Projekt besprechen

Weiterlesen