Moda API
Wat is de Moda API
API staat voor Application Programmable Interface. Door deze API is het mogelijk om zonder de webomgeving gegevens uit Moda te halen. Uiteraard zitten sommige gegevens beveiligd achter een gebruikersnaam en wachtwoord, net als op de Moda website zelf.

Deze pagina geeft een toelichting hoe programmeurs met deze API kunnen werken. Hiervoor is kennis vereist over XML en enige kennis over het HTTP protocol.

De werking van de Moda API
De Moda API werkt door middel van HTTP requests en geeft altijd XML terug. In veel sommige gevallen is het doorgeven van een URL voldoende. Soms zijn echter POST requesten vereist, bijvoorbeeld voor de authenticatie van een gebruiker.

De url die bijvoorbeeld gegeven zou kunnen worden is:
1http://klant.osingasoftware.nl/api/help/
Dat resulteert in de volgende XML:
1<help>
2  <function_info>
3    <function>help</function>
4    <info>
5      Lists all functions and subpackages of the current package
6    </info>
7    <inputs>
8      <input>
9        <name>[function]</name>
10        <info>Sends information on a specific function</info>
11      </input>
12      <input>
13      <name>[recursive]</name>
14        <info>Recurses into packages if set to string 'true'</info>
15      </input>
16    </inputs>
17    <output>A list of all functions and subpackages</output>
18  </function_info>
19  
20  <!-- etc. //-->  
21</help>
Veel functies van de Moda API vereisen authenticatie. Hiervoor is een gebruikersnaam en wachtwoord nodig. De resultaten in de XML zijn vaak afhankelijk van deze inloggegevens, maar ook van de rechten die deze gebruiker heeft in het systeem.

cURL
Voor het maken van de HTTP requests kan het beste gebruik gemaakt worden van cURL. cURL is als command-line tool te downloaden, maar er zijn ook libraries die door diverse programmeertalen worden gebruikt. Andere programmeertalen hebben hun eigen oplossing hiervoor gemaakt.

PHP
In dit voorbeeld wordt de cURL library van PHP gebruikt. Deze moet eerst wel op het systeem geinstalleerd zijn. Met phpinfo() is dit snel te achterhalen.

De volgende code laat de werking van authenticeren met cURL in PHP zien:
1//Het cURL object aanmaken
2$ch = curl_init();
3
4//De URL opgeven
5curl_setopt($ch, CURLOPT_URL, "http://www.voorbeeld.nl/api/users/list" );
6
7//De inloggegevens opgeven.
8curl_setopt($ch, CURLOPT_USERPWD, 'username:password');
9
10//Aangeven dat het nu via POST aangevraag moet worden
11curl_setopt($ch, CURLOPT_POST, true);
12
13//De POST velden aangeven (zoals je in een URL achter het vraagteken zet)
14curl_setopt($ch, CURLOPT_POSTFIELDS, "userids=1,2,3");
15
16//Aangeven dat de data niet "geprint" moet worden, maar als resultaat van de curl_exec terug moet komen
17curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
18
19//De request uitvoeren en de XML data in de variabele $xmldata stoppen
20$xmldata = curl_exec($ch);
21
22//In het geval van een foutmelding deze weergeven
23if (curl_errno($ch)) {
24   print curl_error($ch);
25}
26
27//Het cURL object vrijgeven
28curl_close($ch);
Meer voorbeelden van cURL in PHP staat in de documentatie van PHP

ActionScript (Flash)
Het volgende voorbeeld werkt vanaf ActionScript 2.0:
1var xml: XML = new XML();
2xml.ignoreWhite = true;
3//xml.addRequestHeader("userid", "");
4xml.load("http://www.voorbeeld.nl/api/users/list");
Voor authenticatie is een base64 encoder vereist. Deze zit standaard in ActionScript 3.0, maar niet in ActionScript 2.0. Hiervoor zijn echter wel diverse scripts voor op internet.
Contactgegevens
Osinga Software
Blokhuisplein 40
8911 LJ Leeuwarden

Mobiel: 06 27154787
Protected email address
KvK: 01114511 0000