Een woning XML-koppeling gebruikt een gestructureerd tekstformaat om objectinformatie van het ene systeem naar het andere te brengen. In plaats van een medewerker die adres, prijs en kenmerken opnieuw invoert, maakt het bronsysteem een XML-bestand of XML-bericht. De ontvanger leest de afgesproken onderdelen uit en zet ze om naar de eigen database.
XML is technisch gezien slechts de verpakking. Het succes van de koppeling wordt bepaald door afspraken over betekenis. Beide systemen moeten bijvoorbeeld hetzelfde verstaan onder woonoppervlakte, beschikbaarheid en prijsconditie. Zonder die afspraken kan een technisch geldig bestand alsnog verkeerde informatie opleveren.
Een veldmapping vertaalt bron naar bestemming
Het ene systeem gebruikt misschien het veld “object_status”, terwijl het andere “availability” verwacht. Een mapping beschrijft welke velden bij elkaar horen en hoe waarden worden omgezet. Daarbij moet ook worden vastgelegd wat er gebeurt als informatie ontbreekt.
- Verplichte velden: zonder deze gegevens wordt het object afgekeurd.
- Optionele velden: worden verwerkt wanneer ze aanwezig zijn.
- Keuzevelden: mogen alleen afgesproken waarden bevatten.
- Herhaalvelden: geschikt voor foto’s, kenmerken of documenten.
- Unieke sleutel: voorkomt dat hetzelfde object dubbel wordt aangemaakt.
Statussen zijn belangrijker dan ze lijken
Bij woningfeeds gaat veel mis rond wijzigingen en verwijderingen. Een nieuw object toevoegen is eenvoudig, maar wat gebeurt er wanneer een woning onder bod komt, tijdelijk wordt ingetrokken of definitief offline moet? De XML-koppeling moet iedere relevante status kunnen doorgeven en de ontvanger moet daar consequent op reageren.
Gebruik nooit alleen de afwezigheid van een object als verwijderinstructie zonder duidelijke afspraak. Een tijdelijk onvolledige feed zou dan per ongeluk veel advertenties offline kunnen halen. Een expliciete status of afzonderlijk verwijderbericht is veiliger.
Afbeeldingen kunnen in of naast de XML staan
Foto’s worden meestal niet als volledige beelddata in het XML-bestand opgenomen. De feed bevat links, bestandsnamen of media-identificaties. De ontvanger downloadt de beelden vervolgens apart. Dit vraagt afspraken over volgorde, beschikbaarheid, formaat en vervanging.
Wanneer een foto wordt gewijzigd maar dezelfde bestandsnaam houdt, kan caching ervoor zorgen dat een oude versie zichtbaar blijft. Een versiecode of nieuwe URL helpt om updates herkenbaar te maken.
Valideer vóór import en ná publicatie
- Controleer of de XML technisch goed is opgebouwd.
- Valideer verplichte velden en toegestane waarden.
- Log welke objecten zijn toegevoegd, gewijzigd of afgewezen.
- Controleer steekproefsgewijs de openbare presentatie.
- Meld fouten met objectnummer en begrijpelijke oorzaak.
Een foutmelding als “invalid node” helpt een makelaar nauwelijks. Een melding als “object 123 mist huurprijs” is direct bruikbaar. Goede logging verkort de tijd tussen probleem en oplossing.
Beveilig toegang tot de feed
Een woningfeed bevat openbare gegevens, maar kan ook conceptobjecten, interne identificaties of nog niet gepubliceerde media bevatten. Beperk daarom toegang met authenticatie, versleutelde verbindingen en eventueel IP-afspraken. Publiceer geen gevoelige documenten via een algemene feed.
Woning-Unie aansluiten via een beheerde gegevensstroom
Voor publicatie op Woning-Unie kan een woning XML-koppeling worden gebruikt wanneer bron, formaat en importregels technisch op elkaar zijn afgestemd. Begin met een testset van verschillende objecttypen en statussen. Pas na controle van toevoegen, wijzigen en verwijderen is grootschalige automatische import verantwoord.
Een XML-koppeling is een afspraak die onderhoud vraagt
Velden, platformeisen en softwareversies veranderen. Leg daarom vast wie wijzigingen aankondigt, hoe lang oude versies ondersteund blijven en welke testprocedure wordt gevolgd. Zonder versiebeheer kan een kleine aanpassing onverwacht alle imports stoppen.
Een betrouwbare woning XML-koppeling is dus meer dan een bestand dat wordt doorgestuurd. Het is een beheerde keten van betekenis, validatie, beveiliging en terugkoppeling.