Case studyGeanonimiseerd klantprojectLees in het Engels

Een bot die claims indient en opvolgt in een vervoerdersportaal

Een Nederlands 3PL-fulfilmentbedrijf dient onderzoeken en claims voor pakketten in via het klantportaal van een vervoerderspartner, gebouwd op Freshdesk. Het portaal heeft geen API, dus elk ticket werd met de hand geopend, gecontroleerd en beantwoord. Deze bot doet dat werk via een echte browser en biedt het aan als een kleine HTTP API.

In het kort

De portaalbot is een browserautomatisering (RPA) voor een Nederlandse 3PL. Hij logt in op het Freshdesk-klantportaal van een vervoerderspartner, dat geen API heeft, en opent claimtickets met de vervoerder, de reden en de factuur als bijlage. Hij leest ook antwoorden, plaatst reacties en sluit tickets. Het onderzoeksplatform van de 3PL roept hem aan zoals elke andere API.

API-endpoints
7
Ticketlijst lezen
~0.5s over HTTP
Browsersessies
1 tegelijk
Talen van het portaal
Nederlands, Engels
Carrier Portal Bot | Claims & Ticket Automation: hoofdscherm van het project

01 / Het probleem

Waarom dit systeem nodig was

Als een pakket zoekraakt of beschadigd aankomt, opent de 3PL een onderzoek bij de vervoerder. Voor één vervoerderspartner betekent dat een ticket in een Freshdesk-klantportaal: vervoerder kiezen, claimreden kiezen, de verkoopfactuur bijvoegen en een verklaring van niet-ontvangst invullen. Voor geen van die stappen is er een API.

Het opvolgen kostte nog meer tijd. Elk open onderzoek moest worden gecontroleerd op nieuwe antwoorden, en reacties moesten met bijlagen worden teruggeplaatst. Het onderzoeksplatform van de 3PL had deze data automatisch nodig, maar de enige toegang was hetzelfde webportaal dat een mens gebruikt.

Een eerste browserversie werkte, maar was traag en zwaar. Elke controle startte Firefox, en negen open onderzoeken in een cyclus van 15 minuten betekenden zo'n 960 browserstarts per dag, meestal om tickets opnieuw te lezen die niet waren veranderd.

02 / De bouw

Hoe ik het heb gebouwd

De bot is een Python FastAPI-service die het portaal bedient met Playwright via Camoufox, een geharde Firefox-build. Hij vult het claimformulier in, inclusief de Choices.js-dropdowns voor vervoerder en claimreden, uploadt bestanden en geeft het nieuwe ticket-ID terug. Stuurt het portaal door naar de ticketlijst in plaats van naar het nieuwe ticket, dan zoekt de bot het ticket op onderwerp.

Sessiecookies worden na het inloggen opgeslagen en hergebruikt, dus de meeste verzoeken slaan het inlogscherm over. Een verlopen sessie herkent de bot aan de doorverwijzing naar de inlogpagina, en hij herstelt die met een nieuwe login. Eén globale lock staat maar één browser tegelijk toe, omdat parallelle sessies de single sign-on van het portaal overbelastten.

Lezen gaat via een sneller pad. Het portaal toont tickets als gewone HTML, dus de ticketlijst en een wijzigingsvingerafdruk (status, aantal reacties, tijd van de nieuwste reactie) worden met de opgeslagen cookies via HTTP opgehaald in ongeveer een halve seconde, in plaats van 20 tot 30 seconden. De browser start alleen als er iets is veranderd. Het Docker-image installeert alleen de libraries die Firefox nodig heeft, niet de volledige Playwright-browserset van ongeveer 2 GB.

03 / Functies

Wat de portaalbot voor vervoerdersclaims doet

01

Claimtickets aanmaken

Vult de velden voor vervoerder, claimreden, factuur en verklaring in, voegt bestanden toe en geeft het nieuwe ticket-ID terug.

02

Antwoorden en reacties plaatsen

Plaatst vervolgreacties met bijlagen en herkent knoplabels in zowel het Nederlands als het Engels.

03

Tickets sluiten

Sluit afgehandelde tickets, en behandelt een ticket dat al gesloten is als klaar in plaats van als fout.

04

Wijzigingen herkennen

Controleert via HTTP status, aantal reacties en nieuwste tijdstempel om te bepalen of een ticket volledig gelezen moet worden.

05

Terugvalopties om tickets te vinden

Vindt een ticket via de eerste pagina van de lijst, een directe URL of gescoorde zoeksuggesties.

06

Sessies bewaren

Hergebruikt opgeslagen cookies en logt alleen opnieuw in als het portaal doorverwijst naar de inlogpagina.

07

Bewijs bij fouten

Legt validatiefouten op het scherm vast en maakt een screenshot van de hele pagina als een formulierstap mislukt.

04 / Workflow

Zo werkt het, stap voor stap

  1. 01

    Het verzoek ontvangen

    Het onderzoeksplatform roept een endpoint aan, zoals indienen, ophalen, reageren of sluiten.

  2. 02

    Het snelle pad proberen

    Lijst- en wijzigingscontroles lopen via HTTP met opgeslagen cookies, zonder een browser te starten.

  3. 03

    Het portaal bedienen

    Is er een schrijfactie of volledige leesactie nodig, dan opent Camoufox het portaal onder de lock voor één browser.

  4. 04

    Gestructureerde data teruggeven

    De bot geeft ticket-ID's, status en het gesprek als JSON terug, zodat het platform ze kan opslaan.

05 / Schermen

Productschermen

Kies een scherm om de interface, workflow en operationele details te bekijken.

01 / 02
Carrier Portal Bot | Claims & Ticket Automation: Overzicht van functies

Overzicht van functies

06 / Wat er veranderde

Het resultaat in de praktijk

  • Claimtickets in het vervoerdersportaal worden geopend, opgevolgd en gesloten vanuit het onderzoeksplatform van de 3PL, zonder dat medewerkers in het portaal hoeven in te loggen.
  • Het lezen van de ticketlijst ging van 20 tot 30 seconden browsertijd naar ongeveer een halve seconde via HTTP, en ongewijzigde tickets starten geen browser meer.
  • Fouten zijn zichtbaar en te herstellen: verlopen sessies herstellen zichzelf, en formulierfouten komen terug met de eigen meldingen van het portaal en een screenshot.

Veelgestelde vragen

Vragen over een vergelijkbaar systeem

Ja. Een bot met browserautomatisering kan het portaal gebruiken zoals een mens dat doet. Deze bot logt in op een Freshdesk-klantportaal, vult claimformulieren in, uploadt facturen, leest antwoorden en sluit tickets. Hij biedt die acties aan als een kleine HTTP API, zodat andere systemen hem kunnen aanroepen zonder te weten dat er een browser achter zit.

Samenwerken

Vast met een vervoerdersportaal zonder API?

Ik bouw browserautomatisering die claims indient, tickets volgt en de resultaten in je eigen systemen zet. Stuur me de portaalworkflow die je team elke dag herhaalt.

Bespreek je project

Verder lezen

Alle projecten bekijken