Navigatie

Realworks zip/xml Downloader Scripts & projects

In het verleden heb ik voor verschillende partijen makelaars-koppelingen gerealiseerd, onder meer voor de Housiq huizen portaal, als ook een tussenpersoon voor makelaars, welke makelaars voorziet van koppeling, door mij gerealiseerd en onderhouden. Hieronder vallen Era en Realworks NL (Wonen, Nieuwbouw, Bog). Deze koppelingen zijn onderdeel van een cronjob architectuur, waarbij in fases de bestanden per makelaarskantoor (broker) worden gedownload, vervolgens afbeeldingen ontleed, om in een andere cronjob als gedownload worden. Ook verwijderen van beeldmateriaal als ook objecten, gebeuren in aparte taken. 

Deze cronjobs zijn scalable geprogrammeerd, met als doel om toekomstige koppelingen, al dan niet anders van opzet, toch eenvoudig in onze architectuur te kunnen integreren.
Talen:
PHP
Oplevering:
Winter 2016
Realworks zip/xml Downloader

Naar aanleiding van deze werkzaamheden is me gevraagd een script te realiseren, dat enkel het downloaden als ook verwijderen van oud materiaal voor zijn rekening neemt. Hiervoor heb ik op verzoek code herschreven tot een compacte class, dat op zijn beurt eenvoudig aan te spreken is voor meerdere brokers/makelaars, als ook meerdere types of zelfs eenvoudig naar wens is uit te breiden. Deze is als volgt aan te spreken in PHP:

<?php  

require 'RealworksHandle.php';    
try {            
    
$auth    = array();    // set :password, :username      
    
$handle    = new RealworksHandle$auth );      
    
$handle->setXmlType('WONEN');            
    foreach ( array(
12345,67890) as $brokerid )      
    {          
        
$handle->setBrokerId$brokerid );          // download today's zip and extract to xml (pass true as parameter for forced download even if destination file already exists )          
        
$handle->download();      
    }            

    
// delete everything before today     
    
$handle->truncate();            
    
// show or save actions using getLogs()      
    
print_r$handle->getLogs() );        

catch (
Exception $e
{            
// something critical went wrong, solution required      
    
echo $e->getMessage();  
}