Maandelijks archief: april 2014

Het openen van een kassalade

Als je zelf kassasoftware schrijft, zul je er op een bepaald moment het mogelijk willen maken dat de kassalade open gaat. Als er geld gewisseld moet worden bijvoorbeeld.

De manier waarop je dat doet is met een kort commando naar de kassabonprinter. Meestal is de lade aangesloten op de printer. Neem bijvoorbeeld de Star TSP100. Deze printer heeft een speciale aansluiting voor de kassalade. Zodra de printer een bepaalde commando ontvangt wordt de lade geopend.

Het commando wat deze printer gebruikt is het BELL commando. Het BELL commando is een ASCII karakter wat als je ‘intypt’ op een desktop computer een piepje laat klinken. Voor de printer is het voor het openen van de lade. Sommige printers kunnen ook tegelijkertijd een geluidje laten horen.┬áHet BELL commando heeft de waarde 7.

Naast het BELL commando ondersteunt een kassabonprinter ook andere commando’s. Dat is natuurlijk te veel om te onthouden en daarom heb ik een handige Perl module geschreven die voor de verschillende commando’s eigen functies heeft.

De code voor deze module is te vinden op GitHub en CPAN.

 

De webwinkel krijgt ook een API

Ik ben op dit moment druk bezig met het schrijven van de API van de webwinkel. Het wordt hier een stuk makkelijker door om de gegevens in de webwinkel voor andere zaken te gebruiken.

De API wordt al gebruikt voor twee processen. De eerste proces dat gebruik maakt van de API is bij het verzenden van de pakketten naar klanten. Hier wordt het op twee manieren gebruikt: voor het printen van labels en voor het exporteren van pakketten voor PostNL.

De webwinkel onthoudt de adresgegevens van de klant, zoals straatnaam en huisnummer in een veld. Dit is lastig al je controles wilt doen of er een huisnummer is ingevuld. Gelukkig heeft PostNL een library waarmee je deze gegevens zelf kunt splitsen.

Het andere proces dat gebruik maakt van de API is de voorraadcontrole. Elke paar minuten haalt een script de nieuwe facturen en de productgegevens op. Hiermee kan een volgend programma in de voorraad aangeven welke producten verkocht zijn. Zo blijft de voorraad registratie op orde.

Ook hieraan kun je zien dat een API processen mogelijk maakt die niet door een webwinkel alleen te implementeren zijn. Hoe zou je bijvoorbeeld labels via internet naar een labelprinter sturen?

Kortom een API is een hele vooruitgang voor een moderne onderneming. Jouw klanten en jijzelf kunnen er voordelen uithalen, die je alleen niet voor elkaar zou kunnen krijgen.