API programmeur / ontwikkeling

Naast als client communiceren met bestaande API's, is het soms juist wenselijk om zelf eigen centrale data te verdelen over meerdere eigen netwerken of webapplicaties, of gewoonweg te delen met derden. Dit kan op uiteenlopende manieren:

  • Periodiek bestanden klaarzetten
    Een cronjob draait op de server dat eigen data omzet naar een bruikbaar formaat voor externe partijen, bijvoorbeeld in CSV of XML formaat. Derden dienen de publieke url waarop de bronbestanden gepubliceerd zijn, actief te benaderen;
  • Actieve push-service
    Een van de mogelijkheden is om een service op te zetten, dat zelf actief data pushed (ook wel PUT-methode genoemd) naar andere omgeving, bijvoorbeeld bij bepaalde mutaties. Het is dan niet nodig dat de client zelf periodiek controleert op updates.
    Veel voorkomend is een service dat actief XML via de POST methode over HTTP(S) verstuurt. Ook data versturen naar een FTP server zul je in praktijk tegen komen.
  • REST API
    Een methode waarbij via HTTP(S) CRUD acties gedaan kunnen worden, bijvoorbeeld middels POST of GET parameters. Data zou teruggegeven kunnen worden in (over het algemeen) XML of JSON. De betere REST API's geven je als client de mogelijkheid om zelf te kiezen in welk formaat je data wilt onttrekken.
    Voordelen van REST is een goede afbakening van mogelijkheden gecombineerd met een overzichtelijke ontwikkelings-procedure (met name in tegenstelling tot SOAP);
  • SOAP API
    SOAP voegt als aanvulling op REST, een aantal enterprise security features toe. Over het algemeen volstaat REST, maar SOAP zal absoluut wenselijk zijn in de financiele sector, bijvoorbeeld bij het doen van betalings-transacties. Ook binnen Nuon registratietool is gebruik gemaakt van SOAP om medewerker-data bij de uitzendbureau's te krijgen.

Bekijk SOAP voorbeelden

HTTP Push/PUT service voorbeelden

  • Voor een lease auto portal is niet alleen een import-script gemaakt dat zelf data ontvangt, maar ook een service dat data doorstuurt, zowel via een POST methode (nieuwe auto-mutaties), als ook data via FTP doorzet naar een FTP server (lease aanvragen);
  • Voor een online kaarten-databank is een toepassing gemaakt dat te printen PDF bestanden op de FTP servers van de drukkerijen klaar zetten. In deze wereld komt deze methode vaak voor.

REST-ful API voorbeelden

  • Voor Nuon registratietool is een REST api opgezet rondom een kilometertabel, om zowel direct via PHP als ook AJAX, afstanden op te kunnen halen tussen twee of meerdere plaatsen in Nederland.