Direct naar inhoud
thebunyaminn.

Hoe werkt een Hexon API-koppeling voor autobedrijven?

Integraties10 min lezen

Speelde in december 2025

Kort antwoord

Met een Hexon API-koppeling blijf je je auto’s invoeren in het systeem dat je al gebruikt, en verschijnen ze automatisch op je eigen website. Je website roept daarvoor zelf geen API aan: Hexon stuurt bij elke nieuwe, gewijzigde of verkochte auto een XML-bericht via HTTP POST naar een adres op je website, en de website verwerkt dat meteen. Zo kun je een website op maat laten bouwen zonder van dealersysteem te wisselen.

In december 2025 bouwde ik voor Beek Automotive een nieuwe website vanaf nul, met een Hexon API-koppeling erachter. De dealer voert een auto één keer in, in het systeem dat hij al kende, en vrijwel direct daarna staat die auto op zijn eigen website.

In dit artikel lees je eerst hoe zo'n koppeling werkt. Daarna volgt voor developers het stappenplan: waar de documentatie staat, hoe de berichten eruitzien, waar je op vastloopt en hoe je test.

Heb je een autobedrijf? Dit moet je weten

Werk je met een verouderde WordPress-site of een andere standaardwebsite, en wil je een website die echt bij jouw bedrijf past? Maar wil je niet wisselen van dashboard? Dat hoeft ook niet. Je auto's blijf je invoeren zoals je gewend bent. Je nieuwe website volgt vanzelf.

Of dat bij jou kan, check je in een minuut. Ga naar de koppelingenpagina van Hexon en kijk of jouw dealersysteem erbij staat. Staat het erbij, dan kan je voorraad ook naar je eigen website. Die koppeling heet daar "Eigen Website".

Wat kost een Hexon API-koppeling?

Wat het bij jou precies wordt, hangt af van je huidige website en wat je wilt laten zien, zoals filters, een maandbedrag of een aanvraagformulier per auto. Dat bespreken we vooraf, zodat je weet waar je aan toe bent. De doorplaatsing zelf regel je via je dealersysteem of Hexon. Vraag daar na of dat extra kost.

De situatie: eigen ontwerp, maar geen nieuw systeem

Ilias van Beek Automotive wilde een nieuwe uitstraling: een nieuwe branding en een nieuwe website. Zijn oude site draaide op WordPress, en hij wilde zijn website helemaal zelf kunnen bepalen, tot in de details. Die vrijheid had hij met WordPress niet. Daarom bouwde ik de site op maat.

Tegelijk wilde hij niet van systeem wisselen. Hij werkte met Mobilox, kende het dashboard en het CRM, en voerde daar zijn auto's in op kenteken. Dat werkte voor hem, en dat moest zo blijven.

Daar zit het dilemma waar veel autobedrijven tegenaan lopen. Een standaardwebsite van je dealersysteem is snel geregeld, maar ziet eruit als die van iedereen. Een website op maat ziet eruit zoals jij wilt, maar dan moet de voorraad er wel op komen. Met de hand auto's overtypen is geen optie. De nieuwe website moest dus gekoppeld worden.

Hoe een Hexon API-koppeling werkt

Hexon zorgt dat de voorraad van een autobedrijf op advertentieplatforms en in andere systemen terechtkomt. Een eigen website kan daar ook één van zijn. Dat heet een doorplaatsing naar een eigen website.

  1. Ilias voert een auto in, in Mobilox, zoals hij altijd deed.
  2. Mobilox geeft de auto door aan Hexon.
  3. Hexon stuurt een bericht naar de website: deze auto is toegevoegd, gewijzigd of verwijderd.
  4. De website controleert of het bericht echt van Hexon komt, haalt de gegevens eruit en slaat de auto op in een eigen database.
  5. De website laat Hexon weten dat het bericht verwerkt is.
  6. De auto staat op de site, met foto's, prijs en specificaties.

Het belangrijke verschil met veel andere oplossingen: de website hoeft niet zelf af en toe te gaan kijken of er iets veranderd is. Hexon stuurt elke wijziging meteen door. Bij koppelingen die eens per uur een import draaien, kan een nieuwe of verkochte auto een uur achterlopen. Hier niet.

Voor developers: zelf een Hexon-koppeling bouwen

Ben je geen developer? Dan kun je dit deel overslaan en doorgaan bij wat je nodig hebt.

Ondanks de naam roep je bij deze koppeling geen API aan. Hexon doet een HTTP POST met XML naar een endpoint op jouw website. Je bouwt dus een ontvanger, geen client.

Begin bij de officiële bronnen:

Mijn stappenplan hieronder vervangt die documentatie niet. Het beschrijft wat ik in de praktijk tegenkwam en wat er niet in de specificatie staat.

Zo ziet de architectuur bij Beek Automotive eruit:

BronIlias voert auto’s in, in Mobilox
DoorplaatsingHexon
APIOntvangend adres op de website
ControleKomt het van Hexon en is het geldig?
AntwoordBevestiging terug naar Hexon
MappingVerwerking van de voertuigdata
Auto aanmaken of bijwerken
Foto’s opslaan
Verkochte auto verwijderen
Bericht in het logboek
PostgreSQL bij NeonDatabase
Next.jsWebsite van Beek Automotive
De architectuur van de Hexon API-koppeling voor Beek Automotive, van invoer in Mobilox tot de auto op de website.

De website is een Next.js-site op Vercel, met een PostgreSQL-database bij Neon. De database heeft drie tabellen: de auto's, de foto's per auto en een logboek met elk binnengekomen bericht.

Stap 1. Laat de doorplaatsing naar de eigen website aanmaken

Begin niet met programmeren, maar met de doorplaatsing. In het voorraadsysteem van de dealer wordt een doorplaatsing "eigen website" aangemaakt. Bij Beek Automotive was dat Mobilox, met de doorplaatsing via Hexon en DealerVault.

Daarvoor heeft de dealer van jou nodig:

  • de URL van je endpoint, bij mij https://<domein>/api/vehicles/sync
  • de methode: HTTP POST met XML
  • een gebruikersnaam en wachtwoord die jij verzint
  • de gewenste fotomaat; ik koos de hoogste optie, 1920×1440

Er zijn twee varianten. Bij incrementeel komt er per toevoeging, wijziging of verwijdering een bericht binnen. Bij bulk wordt de hele voorraad op vaste momenten geëxporteerd. Ik gebruikte incrementeel, want dan loopt de website nooit achter.

Stap 2. Bouw het endpoint dat de berichten ontvangt

Het endpoint is een serverroute die POST-requests accepteert. Controleer als eerste de inloggegevens: Hexon stuurt ze mee via HTTP Basic Authentication. Kloppen ze niet, stuur dan een 401 terug en doe verder niets. Zet de gebruikersnaam en het wachtwoord in environment variables, nooit in de code.

Houd er rekening mee dat de XML op verschillende manieren kan binnenkomen. Mijn route leest de XML uit de body bij application/xml of text/xml, en uit een formulierveld bij multipart/form-data of application/x-www-form-urlencoded. Zo werkt de route, wat er bij de doorplaatsing ook is ingesteld.

Stap 3. Lees de actie en het juiste voertuignummer

Elk bericht is een toevoeging, een wijziging of een verwijdering. Die actie kan als attribuut binnenkomen of als los element, dus mijn route kijkt naar allebei:

<voertuig actie="add">
  <voertuignr>DEMO-1024</voertuignr>
  <voertuignr_hexon>DEMO-HX-77</voertuignr_hexon>
  <merk>Volkswagen</merk>
  <model>Golf</model>
</voertuig>

Dit is een vereenvoudigd voorbeeld met verzonnen nummers. Het volledige formaat staat in het XML-schema.

Er zitten twee nummers in elk bericht, en dat onderscheid is cruciaal. Bij toevoegen en wijzigen gebruik ik voertuignr, het nummer uit het dealersysteem. Bij een verwijdering stuurt DealerVault alleen voertuignr_hexon mee. Sla dat tweede nummer dus bij elke auto apart op. Anders kun je een auto wel toevoegen, maar niet meer terugvinden als hij verkocht is. Dan blijft een verkochte auto gewoon online staan.

Stap 4. Behandel een verwijdering vóór alles

Een verwijderbericht bevat veel minder gegevens dan een toevoeging. Als je het door dezelfde parser haalt als een volledig voertuig, kan dat mislukken. Mijn route stelt daarom eerst vast of het om een verwijdering gaat. Is dat zo, dan zoekt hij de auto op via het Hexon-nummer en verwijdert hij de auto met zijn foto's. Pas daarna komt de volledige verwerking voor toevoegen en wijzigen.

Verwijder nooit auto's omdat ze in een bericht ontbreken. Een incrementeel bericht is geen volledige voorraadlijst. In mijn route kan een volledige synchronisatie alleen met een expliciete parameter (?fullSync=true). Zonder die parameter wordt er nooit iets opgeruimd.

Stap 5. Vertaal de XML naar je eigen datamodel

Voor het lezen van de XML gebruik ik fast-xml-parser. Toevoegen en wijzigen is daarna één handeling, een upsert op voertuignr: bestaat de auto al, dan wordt hij bijgewerkt, anders aangemaakt. Zo krijg je geen dubbele auto's als hetzelfde bericht twee keer binnenkomt.

Per auto komen onder andere binnen:

  • merk, model, uitvoering en carrosserie
  • bouwjaar, kilometerstand, vermogen, kenteken en kleur
  • de verkoopprijs
  • of de auto verkocht, gereserveerd of verwacht is, als losse ja/nee-velden
  • brandstof en transmissie, als korte codes
  • links naar de foto's, onder afbeeldingen.afbeelding
  • opties, accessoires en een omschrijving

Die gegevens moet je vertalen naar iets wat een klant snapt. De brandstofcode "B,E" betekent benzine en elektrisch. Op de website wordt dat "Hybride".

Stap 6. Zorg dat de website de juiste dingen laat zien

Dat de data in de database staat, betekent nog niet dat de website klopt. Twee dingen kwam ik tegen:

  • Witte randen op de foto's. Mobilox levert foto's van 1920×1440 (4:3), met witte balken van 80 pixels boven en onder, omdat de originele foto's 3:2 zijn. Alle fotovakken op de site zijn daarom 3:2, zodat die balken precies wegvallen.
  • Een prijs kan een signaal zijn. Een gereserveerde auto kreeg een prijs van 1 euro mee. De website toont dan "Gereserveerd" in plaats van "€ 1,00".

Stap 7. Antwoord eerlijk en log elk bericht

Na verwerking antwoordt de route met een simpele 1 als het gelukt is en 0 als het mislukt is. Stuur die 1 pas als alles echt gelukt is, inclusief de foto's. Een koppeling die altijd "gelukt" zegt, verbergt fouten, en dan merk je pas iets als een klant belt over een auto die al weg is.

Leg elk binnengekomen bericht vast, met de actie, het voertuignummer en het resultaat. Als er iets misgaat, wil je kunnen terugkijken wat er precies binnenkwam. Ik bewaar ze in een aparte tabel, ruim ze na 60 dagen automatisch op, en heb een beveiligde route om de laatste berichten te bekijken.

Stap 8. Test in de sandbox van het dealersysteem

Hexon kan je laptop niet bereiken, dus testen doe je op een website die online staat. Bij Beek Automotive kreeg Ilias bij zijn Mobilox-abonnement toegang tot een sandbox: een testomgeving los van zijn echte voorraad. Hij stuurde mij de inloggegevens, zodat ik daar zelf auto's kon invoeren.

Loop in de sandbox elke situatie langs:

  1. Nieuwe auto: komt hij precies één keer binnen, met foto's?
  2. Gewijzigde auto: passen prijs en specificaties zich aan, zonder dubbele auto?
  3. Verwijderde auto: verdwijnt de juiste auto, terwijl er alleen een Hexon-nummer meekomt?
  4. Gereserveerde en verkochte auto: toont de website de juiste status?
  5. Verkeerde inloggegevens: wordt het bericht geweigerd?

Kijk bij elke test in je berichtenlogboek wat er echt binnenkwam. Daar zie je het meteen als een bericht anders is dan je verwachtte.

Wat heb je nodig voor een Hexon API-koppeling?

  • Een dealersysteem dat via Hexon kan doorplaatsen. Mobilox is er één van.
  • Een doorplaatsing naar je eigen website, aangemaakt in je dealersysteem.
  • Een website die de berichten van Hexon kan ontvangen, controleren en opslaan.
  • Keuzes over wat je wilt tonen: welke specificaties, hoe verkochte en gereserveerde auto's eruitzien, of je een maandbedrag toont.

Voor Beek Automotive bouwde ik niet alleen de koppeling, maar de hele website: een eigen ontwerp in de nieuwe huisstijl, overzichtspagina's en een detailpagina per auto. Ilias werkt nog steeds in het systeem dat hij kent. Zijn klanten zien een website die helemaal van hem is.

Waarom ik dit soort projecten leuk vind

Dit artikel werd technisch, maar daar draait het voor een dealer niet om. Ilias wilde een website die van hem is, en geen nieuw systeem leren. Het mooiste aan deze koppeling vind ik dat hij er niets van merkt. Hij voert een auto in zoals altijd, en een paar seconden later staat die auto op een site die eruitziet zoals hij hem voor zich zag.

Dat is voor mij goede software: de techniek zit erachter, en de ondernemer kan gewoon doen waar hij goed in is.

Veelgestelde vragen

Portret van Bünyamin Bölükbaş

Geschreven door Bünyamin Bölükbaş, software engineer en tech lead. Ik schrijf hier over wat ik in echte projecten tegenkom.

Wat wil jij live hebben?

Vertel me wat je wilt bereiken. Dan kijken we samen wat er mogelijk is.